public class sun.tools.tree.CompoundStatement extends sun.tools.tree.Statement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.CompoundStatement
super_class: sun.tools.tree.Statement
{
sun.tools.tree.Statement[] args;
descriptor: [Lsun/tools/tree/Statement;
flags: (0x0000)
public void <init>(long, sun.tools.tree.Statement[]);
descriptor: (J[Lsun/tools/tree/Statement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
bipush 105
lload 1
invokespecial sun.tools.tree.Statement.<init>:(IJ)V
1: aload 0
aload 3
putfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
2: iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: sun.tools.tree.CompoundStatement long sun.tools.tree.Statement[] int
StackMap stack:
aload 3
iload 4
aaload
ifnonnull 6
5: aload 3
iload 4
new sun.tools.tree.CompoundStatement
dup
lload 1
iconst_0
anewarray sun.tools.tree.Statement
invokespecial sun.tools.tree.CompoundStatement.<init>:(J[Lsun/tools/tree/Statement;)V
aastore
6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 8: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/tree/CompoundStatement;
0 9 1 where J
0 9 3 args [Lsun/tools/tree/Statement;
3 8 4 i I
MethodParameters:
Name Flags
where
args
public void insertStatement(sun.tools.tree.Statement);
descriptor: (Lsun/tools/tree/Statement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_1
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
iadd
anewarray sun.tools.tree.Statement
astore 2
start local 2 1: aload 2
iconst_0
aload 1
aastore
2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: sun.tools.tree.Statement[] int
StackMap stack:
aload 2
iload 3
iconst_1
iadd
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 3
aaload
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 4
end local 3 7: aload 0
aload 2
putfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/tree/CompoundStatement;
0 9 1 s Lsun/tools/tree/Statement;
1 9 2 newargs [Lsun/tools/tree/Statement;
3 7 3 i I
MethodParameters:
Name Flags
s
sun.tools.tree.Vset check(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable<java.lang.Object, java.lang.Object>);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokevirtual sun.tools.tree.CompoundStatement.checkLabel:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
1: aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
ifle 11
2: aload 0
aload 1
aload 3
invokevirtual sun.tools.tree.CompoundStatement.reach:(Lsun/tools/java/Environment;Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
astore 3
3: new sun.tools.tree.CheckContext
dup
aload 2
aload 0
invokespecial sun.tools.tree.CheckContext.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Statement;)V
astore 5
start local 5 4: aload 1
aload 5
invokestatic sun.tools.tree.Context.newEnvironment:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/java/Environment;
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 9
7: StackMap locals: sun.tools.tree.CheckContext sun.tools.java.Environment int
StackMap stack:
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 7
aaload
aload 6
aload 5
aload 3
aload 4
invokevirtual sun.tools.tree.Statement.checkBlockStatement:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 7
end local 7 10: aload 3
aload 5
getfield sun.tools.tree.CheckContext.vsBreak:Lsun/tools/tree/Vset;
invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
astore 3
end local 6 end local 5 11: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual sun.tools.tree.Context.removeAdditionalVars:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/tools/tree/CompoundStatement;
0 12 1 env Lsun/tools/java/Environment;
0 12 2 ctx Lsun/tools/tree/Context;
0 12 3 vset Lsun/tools/tree/Vset;
0 12 4 exp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
4 11 5 newctx Lsun/tools/tree/CheckContext;
5 11 6 newenv Lsun/tools/java/Environment;
6 10 7 i I
Signature: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;)Lsun/tools/tree/Vset;
MethodParameters:
Name Flags
env
ctx
vset
exp
public sun.tools.tree.Statement inline(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new sun.tools.tree.Context
dup
aload 2
aload 0
invokespecial sun.tools.tree.Context.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Node;)V
astore 2
1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 15
5: StackMap locals: int int int
StackMap stack:
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 5
aaload
astore 6
start local 6 6: aload 6
ifnull 14
7: aload 6
aload 1
aload 2
invokevirtual sun.tools.tree.Statement.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
dup
astore 6
ifnull 13
8: aload 6
getfield sun.tools.tree.Statement.op:I
bipush 105
if_icmpne 11
aload 6
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
ifnonnull 11
9: iload 4
aload 6
checkcast sun.tools.tree.CompoundStatement
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
iadd
istore 4
10: goto 12
11: StackMap locals: sun.tools.tree.Statement
StackMap stack:
iinc 4 1
12: StackMap locals:
StackMap stack:
iconst_1
istore 3
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 5
aload 6
aastore
end local 6 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 5
end local 5 16: iload 4
tableswitch { // 0 - 1
0: 17
1: 18
default: 23
}
17: StackMap locals:
StackMap stack:
aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
istore 5
start local 5 19: goto 22
20: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 5
aaload
ifnull 22
21: aload 0
aload 1
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 5
aaload
invokevirtual sun.tools.tree.CompoundStatement.eliminate:(Lsun/tools/java/Environment;Lsun/tools/tree/Statement;)Lsun/tools/tree/Statement;
areturn
22: StackMap locals:
StackMap stack:
iload 5
iinc 5 -1
ifgt 20
end local 5 23: StackMap locals:
StackMap stack:
iload 3
ifne 24
iload 4
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmpeq 39
24: StackMap locals:
StackMap stack:
iload 4
anewarray sun.tools.tree.Statement
astore 5
start local 5 25: aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
istore 6
start local 6 26: goto 37
27: StackMap locals: sun.tools.tree.Statement[] int
StackMap stack:
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 6
aaload
astore 7
start local 7 28: aload 7
ifnull 37
29: aload 7
getfield sun.tools.tree.Statement.op:I
bipush 105
if_icmpne 36
aload 7
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
ifnonnull 36
30: aload 7
checkcast sun.tools.tree.CompoundStatement
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
astore 8
start local 8 31: aload 8
arraylength
istore 9
start local 9 32: goto 34
33: StackMap locals: sun.tools.tree.Statement sun.tools.tree.Statement[] int
StackMap stack:
aload 5
iinc 4 -1
iload 4
aload 8
iload 9
aaload
aastore
34: StackMap locals:
StackMap stack:
iload 9
iinc 9 -1
ifgt 33
end local 9 end local 8 35: goto 37
36: StackMap locals:
StackMap stack:
aload 5
iinc 4 -1
iload 4
aload 7
aastore
end local 7 37: StackMap locals:
StackMap stack:
iload 6
iinc 6 -1
ifgt 27
end local 6 38: aload 0
aload 5
putfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
end local 5 39: StackMap locals:
StackMap stack:
aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/tools/tree/CompoundStatement;
0 40 1 env Lsun/tools/java/Environment;
0 40 2 ctx Lsun/tools/tree/Context;
2 40 3 expand Z
3 40 4 count I
4 16 5 i I
6 14 6 s Lsun/tools/tree/Statement;
19 23 5 i I
25 39 5 newArgs [Lsun/tools/tree/Statement;
26 38 6 i I
28 37 7 s Lsun/tools/tree/Statement;
31 35 8 a [Lsun/tools/tree/Statement;
32 35 9 j I
MethodParameters:
Name Flags
env
ctx
public sun.tools.tree.Statement copyInline(sun.tools.tree.Context, boolean);
descriptor: (Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.tools.tree.CompoundStatement.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.CompoundStatement
astore 3
start local 3 1: aload 3
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
anewarray sun.tools.tree.Statement
putfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: sun.tools.tree.CompoundStatement int
StackMap stack:
aload 3
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 4
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 4
aaload
aload 1
iload 2
invokevirtual sun.tools.tree.Statement.copyInline:(Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
aastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 4
end local 4 7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/tree/CompoundStatement;
0 8 1 ctx Lsun/tools/tree/Context;
0 8 2 valNeeded Z
1 8 3 s Lsun/tools/tree/CompoundStatement;
3 7 4 i I
MethodParameters:
Name Flags
ctx
valNeeded
public int costInline(int, sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 4
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 5
aaload
iload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Statement.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
iadd
istore 4
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmpge 6
iload 4
iload 1
if_icmplt 3
end local 5 6: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/tools/tree/CompoundStatement;
0 7 1 thresh I
0 7 2 env Lsun/tools/java/Environment;
0 7 3 ctx Lsun/tools/tree/Context;
1 7 4 cost I
2 6 5 i I
MethodParameters:
Name Flags
thresh
env
ctx
public void code(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=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.tools.tree.CodeContext
dup
aload 2
aload 0
invokespecial sun.tools.tree.CodeContext.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Node;)V
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: sun.tools.tree.CodeContext int
StackMap stack:
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 5
aaload
aload 1
aload 4
aload 3
invokevirtual sun.tools.tree.Statement.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 3
end local 5 6: aload 3
aload 4
getfield sun.tools.tree.CodeContext.breakLabel:Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/tree/CompoundStatement;
0 8 1 env Lsun/tools/java/Environment;
0 8 2 ctx Lsun/tools/tree/Context;
0 8 3 asm Lsun/tools/asm/Assembler;
1 8 4 newctx Lsun/tools/tree/CodeContext;
2 6 5 i I
MethodParameters:
Name Flags
env
ctx
asm
public sun.tools.tree.Expression firstConstructor();
descriptor: ()Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
ifle 1
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iconst_0
aaload
invokevirtual sun.tools.tree.Statement.firstConstructor:()Lsun/tools/tree/Expression;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: sun.tools.tree.Expression
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/CompoundStatement;
public void print(java.io.PrintStream, int);
descriptor: (Ljava/io/PrintStream;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
1: aload 1
ldc "{\n"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: iconst_0
istore 3
start local 3 3: goto 11
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iconst_1
iadd
invokevirtual sun.tools.tree.CompoundStatement.printIndent:(Ljava/io/PrintStream;I)V
5: aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 3
aaload
ifnull 8
6: aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
iload 3
aaload
aload 1
iload 2
iconst_1
iadd
invokevirtual sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 1
ldc "<empty>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 1
ldc "\n"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
getfield sun.tools.tree.CompoundStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 4
end local 3 12: aload 0
aload 1
iload 2
invokevirtual sun.tools.tree.CompoundStatement.printIndent:(Ljava/io/PrintStream;I)V
13: aload 1
ldc "}"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/tools/tree/CompoundStatement;
0 15 1 out Ljava/io/PrintStream;
0 15 2 indent I
3 12 3 i I
MethodParameters:
Name Flags
out
indent
}
SourceFile: "CompoundStatement.java"