[ASM-Util 9.1] ClassCheckAdaptor output represents reference arrays as only their "root" component type
When using a ClassCheckAdaptor's output, locals and stack objects which are arrays of references are only shown as their "root" component type. That is to say, [Ljava/lang/String;
, [[Ljava/lang/String;
, and so on are only shown as String
, rather than [[String
or something along those lines. This does not apply to arrays whose root component type is primitive - for example, [I
, [[I
, and so on are output correctly.
Example: What is shown
test([C[[C[Ljava/lang/String;[[Ljava/lang/String;)V
00000 [C [[C String String : : ALOAD 0
00001 [C [[C String String : [C : ALOAD 1
00002 [C [[C String String : [C [[C : ALOAD 2
00003 [C [[C String String : [C [[C String : ALOAD 3
00004 [C [[C String String : [C [[C String String : RETURN
What should be shown
test([C[[C[Ljava/lang/String;[[Ljava/lang/String;)V
00000 [C [[C [String [[String : : ALOAD 0
00001 [C [[C [String [[String : [C : ALOAD 1
00002 [C [[C [String [[String : [C [[C : ALOAD 2
00003 [C [[C [String [[String : [C [[C [String : ALOAD 3
00004 [C [[C [String [[String : [C [[C [String [[String : RETURN