public class sun.tools.tree.ArrayExpression extends sun.tools.tree.NaryExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.ArrayExpression
super_class: sun.tools.tree.NaryExpression
{
public void <init>(long, sun.tools.tree.Expression[]);
descriptor: (J[Lsun/tools/tree/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
bipush 57
lload 1
getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
aconst_null
aload 3
invokespecial sun.tools.tree.NaryExpression.<init>:(IJLsun/tools/java/Type;Lsun/tools/tree/Expression;[Lsun/tools/tree/Expression;)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/ArrayExpression;
0 2 1 where J
0 2 3 args [Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
where
args
public sun.tools.tree.Vset checkValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
ldc "invalid.array.expr"
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
1: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/ArrayExpression;
0 2 1 env Lsun/tools/java/Environment;
0 2 2 ctx Lsun/tools/tree/Context;
0 2 3 vset Lsun/tools/tree/Vset;
0 2 4 exp Ljava/util/Hashtable;
MethodParameters:
Name Flags
env
ctx
vset
exp
public sun.tools.tree.Vset checkInitializer(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, sun.tools.java.Type, java.util.Hashtable);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Lsun/tools/java/Type;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
bipush 9
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 4
1: aload 4
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 3
2: aload 1
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
ldc "invalid.array.init"
aload 4
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 3
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield sun.tools.tree.ArrayExpression.type:Lsun/tools/java/Type;
5: aload 4
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
astore 4
6: iconst_0
istore 6
start local 6 7: goto 11
8: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 6
aaload
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual sun.tools.tree.Expression.checkInitializer:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Lsun/tools/java/Type;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
9: aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 6
aload 0
aload 1
aload 2
aload 4
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 6
aaload
invokevirtual sun.tools.tree.ArrayExpression.convert:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/Type;Lsun/tools/tree/Expression;)Lsun/tools/tree/Expression;
aastore
10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmplt 8
end local 6 12: aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/tools/tree/ArrayExpression;
0 13 1 env Lsun/tools/java/Environment;
0 13 2 ctx Lsun/tools/tree/Context;
0 13 3 vset Lsun/tools/tree/Vset;
0 13 4 t Lsun/tools/java/Type;
0 13 5 exp Ljava/util/Hashtable;
7 12 6 i I
MethodParameters:
Name Flags
env
ctx
vset
t
exp
public sun.tools.tree.Expression inline(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 9
3: StackMap locals: sun.tools.tree.Expression int
StackMap stack:
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 4
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 4
aaload
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
aastore
4: aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 4
aaload
ifnull 8
5: aload 3
ifnonnull 6
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 4
aaload
goto 7
StackMap locals:
StackMap stack:
6: new sun.tools.tree.CommaExpression
dup
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 4
aaload
invokespecial sun.tools.tree.CommaExpression.<init>:(JLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
StackMap locals:
StackMap stack: sun.tools.tree.Expression
7: astore 3
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmplt 3
end local 4 10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/tools/tree/ArrayExpression;
0 11 1 env Lsun/tools/java/Environment;
0 11 2 ctx Lsun/tools/tree/Context;
1 11 3 e Lsun/tools/tree/Expression;
2 10 4 i I
MethodParameters:
Name Flags
env
ctx
public sun.tools.tree.Expression inlineValue(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 3
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 3
aaload
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
aastore
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmplt 2
end local 3 5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/ArrayExpression;
0 6 1 env Lsun/tools/java/Environment;
0 6 2 ctx Lsun/tools/tree/Context;
1 5 3 i I
MethodParameters:
Name Flags
env
ctx
public void codeValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
bipush 18
new java.lang.Integer
dup
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
arraylength
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
1: aload 0
getfield sun.tools.tree.ArrayExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 0 - 10
0: 2
1: 3
2: 5
3: 4
4: 6
5: 7
6: 8
7: 9
8: 14
9: 10
10: 12
default: 14
}
2: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
iconst_4
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
3: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
bipush 8
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
4: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
bipush 9
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
5: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
iconst_5
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
6: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
bipush 10
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
7: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
bipush 11
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
8: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
bipush 6
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
9: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 188
new java.lang.Integer
dup
bipush 7
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
goto 15
10: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 189
aload 0
getfield sun.tools.tree.ArrayExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
11: goto 15
12: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
sipush 189
aload 1
aload 0
getfield sun.tools.tree.ArrayExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
13: goto 15
14: StackMap locals:
StackMap stack:
new sun.tools.java.CompilerError
dup
ldc "codeValue"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 16: goto 30
17: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 4
aaload
invokevirtual sun.tools.tree.Expression.equalsDefault:()Z
ifeq 18
goto 29
18: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
bipush 89
invokevirtual sun.tools.asm.Assembler.add:(JI)V
19: aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
bipush 18
new java.lang.Integer
dup
iload 4
invokespecial java.lang.Integer.<init>:(I)V
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
20: aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
iload 4
aaload
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.codeValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
21: aload 0
getfield sun.tools.tree.ArrayExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 0 - 3
0: 22
1: 22
2: 24
3: 26
default: 28
}
22: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
bipush 84
invokevirtual sun.tools.asm.Assembler.add:(JI)V
23: goto 29
24: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
bipush 85
invokevirtual sun.tools.asm.Assembler.add:(JI)V
25: goto 29
26: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
bipush 86
invokevirtual sun.tools.asm.Assembler.add:(JI)V
27: goto 29
28: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ArrayExpression.where:J
bipush 79
aload 0
getfield sun.tools.tree.ArrayExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCodeOffset:()I
iadd
invokevirtual sun.tools.asm.Assembler.add:(JI)V
29: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
aload 0
getfield sun.tools.tree.ArrayExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmplt 17
end local 4 31: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/tools/tree/ArrayExpression;
0 32 1 env Lsun/tools/java/Environment;
0 32 2 ctx Lsun/tools/tree/Context;
0 32 3 asm Lsun/tools/asm/Assembler;
16 31 4 i I
MethodParameters:
Name Flags
env
ctx
asm
}
SourceFile: "ArrayExpression.java"