public class sun.tools.tree.Statement extends sun.tools.tree.Node
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.Statement
super_class: sun.tools.tree.Node
{
public static final sun.tools.tree.Vset DEAD_END;
descriptor: Lsun/tools/tree/Vset;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
sun.tools.java.Identifier[] labels;
descriptor: [Lsun/tools/java/Identifier;
flags: (0x0000)
public static final sun.tools.tree.Statement empty;
descriptor: Lsun/tools/tree/Statement;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int MAXINLINECOST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
putstatic sun.tools.tree.Statement.DEAD_END:Lsun/tools/tree/Vset;
1: new sun.tools.tree.Statement
dup
bipush 105
lconst_0
invokespecial sun.tools.tree.Statement.<init>:(IJ)V
putstatic sun.tools.tree.Statement.empty:Lsun/tools/tree/Statement;
2: ldc "javac.maxinlinecost"
3: bipush 30
4: invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
5: invokevirtual java.lang.Integer.intValue:()I
6: putstatic sun.tools.tree.Statement.MAXINLINECOST:I
7: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(int, long);
descriptor: (IJ)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
lload 2
invokespecial sun.tools.tree.Node.<init>:(IJ)V
1: aload 0
aconst_null
putfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/Statement;
0 3 1 op I
0 3 2 where J
MethodParameters:
Name Flags
op
where
public static sun.tools.tree.Statement insertStatement(sun.tools.tree.Statement, sun.tools.tree.Statement);
descriptor: (Lsun/tools/tree/Statement;Lsun/tools/tree/Statement;)Lsun/tools/tree/Statement;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
astore 1
2: goto 8
StackMap locals:
StackMap stack:
3: aload 1
instanceof sun.tools.tree.CompoundStatement
ifeq 6
4: aload 1
checkcast sun.tools.tree.CompoundStatement
aload 0
invokevirtual sun.tools.tree.CompoundStatement.insertStatement:(Lsun/tools/tree/Statement;)V
5: goto 8
6: StackMap locals:
StackMap stack:
iconst_2
anewarray sun.tools.tree.Statement
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
astore 2
start local 2 7: new sun.tools.tree.CompoundStatement
dup
aload 0
invokevirtual sun.tools.tree.Statement.getWhere:()J
aload 2
invokespecial sun.tools.tree.CompoundStatement.<init>:(J[Lsun/tools/tree/Statement;)V
astore 1
end local 2 8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 s1 Lsun/tools/tree/Statement;
0 9 1 s2 Lsun/tools/tree/Statement;
7 8 2 body [Lsun/tools/tree/Statement;
MethodParameters:
Name Flags
s1
s2
public void setLabel(sun.tools.java.Environment, sun.tools.tree.Expression);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield sun.tools.tree.Expression.op:I
bipush 60
if_icmpne 9
1: aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
ifnonnull 4
2: aload 0
iconst_1
anewarray sun.tools.java.Identifier
putfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
arraylength
iconst_1
iadd
anewarray sun.tools.java.Identifier
astore 3
start local 3 5: aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iconst_0
aload 3
iconst_1
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
aload 3
putfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
end local 3 7: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iconst_0
aload 2
checkcast sun.tools.tree.IdentifierExpression
getfield sun.tools.tree.IdentifierExpression.id:Lsun/tools/java/Identifier;
aastore
8: goto 10
9: StackMap locals:
StackMap stack:
aload 1
aload 2
getfield sun.tools.tree.Expression.where:J
ldc "invalid.label"
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/tools/tree/Statement;
0 11 1 env Lsun/tools/java/Environment;
0 11 2 e Lsun/tools/tree/Expression;
5 7 3 newLabels [Lsun/tools/java/Identifier;
MethodParameters:
Name Flags
env
e
public sun.tools.tree.Vset checkMethod(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=8, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new sun.tools.tree.CheckContext
dup
aload 2
new sun.tools.tree.Statement
dup
bipush 47
lconst_0
invokespecial sun.tools.tree.Statement.<init>:(IJ)V
invokespecial sun.tools.tree.CheckContext.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Statement;)V
astore 5
start local 5 1: aload 5
astore 2
2: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.tools.tree.Statement.check:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
3: aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getReturnType:()Lsun/tools/java/Type;
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 6
4: aload 3
invokevirtual sun.tools.tree.Vset.isDeadEnd:()Z
ifne 6
5: aload 1
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getWhere:()J
ldc "return.required.at.end"
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
6: StackMap locals: sun.tools.tree.CheckContext
StackMap stack:
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
7: 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 8 0 this Lsun/tools/tree/Statement;
0 8 1 env Lsun/tools/java/Environment;
0 8 2 ctx Lsun/tools/tree/Context;
0 8 3 vset Lsun/tools/tree/Vset;
0 8 4 exp Ljava/util/Hashtable;
1 8 5 mctx Lsun/tools/tree/CheckContext;
MethodParameters:
Name Flags
env
ctx
vset
exp
sun.tools.tree.Vset checkDeclaration(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, int, sun.tools.java.Type, java.util.Hashtable);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;ILsun/tools/java/Type;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new sun.tools.java.CompilerError
dup
ldc "checkDeclaration"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 6 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 1 0 this Lsun/tools/tree/Statement;
0 1 1 env Lsun/tools/java/Environment;
0 1 2 ctx Lsun/tools/tree/Context;
0 1 3 vset Lsun/tools/tree/Vset;
0 1 4 mod I
0 1 5 t Lsun/tools/java/Type;
0 1 6 exp Ljava/util/Hashtable;
MethodParameters:
Name Flags
env
ctx
vset
mod
t
exp
protected void checkLabel(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
ifnull 17
1: iconst_0
istore 3
start local 3 2: goto 16
3: StackMap locals: int
StackMap stack:
iload 3
iconst_1
iadd
istore 4
start local 4 4: goto 9
5: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iload 3
aaload
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iload 4
aaload
if_acmpne 8
6: aload 1
aload 0
getfield sun.tools.tree.Statement.where:J
ldc "nested.duplicate.label"
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iload 3
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
7: goto 15
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
arraylength
if_icmplt 5
end local 4 10: aload 2
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iload 3
aaload
invokevirtual sun.tools.tree.Context.getLabelContext:(Lsun/tools/java/Identifier;)Lsun/tools/tree/Context;
checkcast sun.tools.tree.CheckContext
11: astore 4
start local 4 12: aload 4
ifnull 15
13: aload 4
getfield sun.tools.tree.CheckContext.frameNumber:I
aload 2
getfield sun.tools.tree.Context.frameNumber:I
if_icmpne 15
14: aload 1
aload 0
getfield sun.tools.tree.Statement.where:J
ldc "nested.duplicate.label"
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iload 3
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
end local 4 15: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
arraylength
if_icmplt 3
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/tools/tree/Statement;
0 18 1 env Lsun/tools/java/Environment;
0 18 2 ctx Lsun/tools/tree/Context;
2 17 3 i I
4 10 4 j I
12 15 4 destCtx Lsun/tools/tree/CheckContext;
MethodParameters:
Name Flags
env
ctx
sun.tools.tree.Vset check(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: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new sun.tools.java.CompilerError
dup
ldc "check"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/Statement;
0 1 1 env Lsun/tools/java/Environment;
0 1 2 ctx Lsun/tools/tree/Context;
0 1 3 vset Lsun/tools/tree/Vset;
0 1 4 exp Ljava/util/Hashtable;
MethodParameters:
Name Flags
env
ctx
vset
exp
sun.tools.tree.Vset checkBlockStatement(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: (0x0000)
Code:
stack=5, locals=5, 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
aload 3
aload 4
invokevirtual sun.tools.tree.Statement.check:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)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 1 0 this Lsun/tools/tree/Statement;
0 1 1 env Lsun/tools/java/Environment;
0 1 2 ctx Lsun/tools/tree/Context;
0 1 3 vset Lsun/tools/tree/Vset;
0 1 4 exp Ljava/util/Hashtable;
MethodParameters:
Name Flags
env
ctx
vset
exp
sun.tools.tree.Vset reach(sun.tools.java.Environment, sun.tools.tree.Vset);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual sun.tools.tree.Vset.isDeadEnd:()Z
ifeq 3
1: aload 1
aload 0
getfield sun.tools.tree.Statement.where:J
ldc "stat.not.reached"
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
2: aload 2
invokevirtual sun.tools.tree.Vset.clearDeadEnd:()Lsun/tools/tree/Vset;
astore 2
3: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/tree/Statement;
0 4 1 env Lsun/tools/java/Environment;
0 4 2 vset Lsun/tools/tree/Vset;
MethodParameters:
Name Flags
env
vset
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=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/Statement;
0 1 1 env Lsun/tools/java/Environment;
0 1 2 ctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
env
ctx
public sun.tools.tree.Statement eliminate(sun.tools.java.Environment, sun.tools.tree.Statement);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Statement;)Lsun/tools/tree/Statement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 4
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
ifnull 4
1: iconst_1
anewarray sun.tools.tree.Statement
dup
iconst_0
aload 2
aastore
astore 3
start local 3 2: new sun.tools.tree.CompoundStatement
dup
aload 0
getfield sun.tools.tree.Statement.where:J
aload 3
invokespecial sun.tools.tree.CompoundStatement.<init>:(J[Lsun/tools/tree/Statement;)V
astore 2
3: aload 2
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
putfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
end local 3 4: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/tree/Statement;
0 5 1 env Lsun/tools/java/Environment;
0 5 2 s Lsun/tools/tree/Statement;
2 4 3 args [Lsun/tools/tree/Statement;
MethodParameters:
Name Flags
env
s
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=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.tools.java.CompilerError
dup
ldc "code"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/Statement;
0 1 1 env Lsun/tools/java/Environment;
0 1 2 ctx Lsun/tools/tree/Context;
0 1 3 asm Lsun/tools/asm/Assembler;
MethodParameters:
Name Flags
env
ctx
asm
void codeFinally(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, sun.tools.tree.Context, sun.tools.java.Type);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/tree/Context;Lsun/tools/java/Type;)V
flags: (0x0000)
Code:
stack=5, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: iconst_0
istore 7
start local 7 2: iconst_0
istore 8
start local 8 3: aload 2
astore 9
start local 9 4: goto 18
5: StackMap locals: sun.tools.tree.Statement sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler sun.tools.tree.Context sun.tools.java.Type java.lang.Integer int int sun.tools.tree.Context
StackMap stack:
aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
ifnonnull 7
6: goto 17
7: StackMap locals:
StackMap stack:
aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
getfield sun.tools.tree.Node.op:I
bipush 126
if_icmpne 10
8: iconst_1
istore 7
9: goto 17
StackMap locals:
StackMap stack:
10: aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
getfield sun.tools.tree.Node.op:I
bipush 103
if_icmpne 17
11: aload 9
checkcast sun.tools.tree.CodeContext
getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
ifnull 17
12: iconst_1
istore 7
13: aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
checkcast sun.tools.tree.FinallyStatement
astore 10
start local 10 14: aload 10
getfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
ifne 17
15: iconst_1
istore 8
16: goto 19
end local 10 17: StackMap locals:
StackMap stack:
aload 9
getfield sun.tools.tree.Context.prev:Lsun/tools/tree/Context;
astore 9
StackMap locals:
StackMap stack:
18: aload 9
ifnull 19
aload 9
aload 4
if_acmpne 5
end local 9 19: StackMap locals:
StackMap stack:
iload 7
ifne 21
20: return
21: StackMap locals:
StackMap stack:
aload 5
ifnull 32
22: aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
pop
23: iload 8
ifne 28
24: aload 2
getstatic sun.tools.tree.Statement.idFinallyReturnValue:Lsun/tools/java/Identifier;
invokevirtual sun.tools.tree.Context.getLocalField:(Lsun/tools/java/Identifier;)Lsun/tools/tree/LocalMember;
astore 9
start local 9 25: new java.lang.Integer
dup
aload 9
getfield sun.tools.tree.LocalMember.number:I
invokespecial java.lang.Integer.<init>:(I)V
astore 6
26: aload 3
aload 0
getfield sun.tools.tree.Statement.where:J
bipush 54
aload 5
invokevirtual sun.tools.java.Type.getTypeCodeOffset:()I
iadd
aload 6
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
end local 9 27: goto 32
28: StackMap locals:
StackMap stack:
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getReturnType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 5 - 11
5: 30
6: 31
7: 30
8: 31
9: 31
10: 31
11: 29
default: 31
}
29: StackMap locals:
StackMap stack:
goto 32
30: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.Statement.where:J
bipush 88
invokevirtual sun.tools.asm.Assembler.add:(JI)V
goto 32
31: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.Statement.where:J
bipush 87
invokevirtual sun.tools.asm.Assembler.add:(JI)V
32: StackMap locals:
StackMap stack:
aload 2
astore 9
start local 9 33: goto 49
34: StackMap locals: sun.tools.tree.Context
StackMap stack:
aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
ifnonnull 36
35: goto 48
36: StackMap locals:
StackMap stack:
aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
getfield sun.tools.tree.Node.op:I
bipush 126
if_icmpne 39
37: aload 3
aload 0
getfield sun.tools.tree.Statement.where:J
sipush 168
aload 9
checkcast sun.tools.tree.CodeContext
getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
38: goto 48
StackMap locals:
StackMap stack:
39: aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
getfield sun.tools.tree.Node.op:I
bipush 103
if_icmpne 48
40: aload 9
checkcast sun.tools.tree.CodeContext
getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
ifnull 48
41: aload 9
getfield sun.tools.tree.Context.node:Lsun/tools/tree/Node;
checkcast sun.tools.tree.FinallyStatement
astore 10
start local 10 42: aload 9
checkcast sun.tools.tree.CodeContext
getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
astore 11
start local 11 43: aload 10
getfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
ifeq 46
44: aload 3
aload 0
getfield sun.tools.tree.Statement.where:J
sipush 168
aload 11
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
45: goto 48
46: StackMap locals: sun.tools.tree.FinallyStatement sun.tools.asm.Label
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.Statement.where:J
sipush 167
aload 11
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
47: goto 50
end local 11 end local 10 48: StackMap locals:
StackMap stack:
aload 9
getfield sun.tools.tree.Context.prev:Lsun/tools/tree/Context;
astore 9
StackMap locals:
StackMap stack:
49: aload 9
ifnull 50
aload 9
aload 4
if_acmpne 34
end local 9 50: StackMap locals:
StackMap stack:
aload 6
ifnull 52
51: aload 3
aload 0
getfield sun.tools.tree.Statement.where:J
bipush 21
aload 5
invokevirtual sun.tools.java.Type.getTypeCodeOffset:()I
iadd
aload 6
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
52: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 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 53 0 this Lsun/tools/tree/Statement;
0 53 1 env Lsun/tools/java/Environment;
0 53 2 ctx Lsun/tools/tree/Context;
0 53 3 asm Lsun/tools/asm/Assembler;
0 53 4 stopctx Lsun/tools/tree/Context;
0 53 5 save Lsun/tools/java/Type;
1 53 6 num Ljava/lang/Integer;
2 53 7 haveCleanup Z
3 53 8 haveNonLocalFinally Z
4 19 9 c Lsun/tools/tree/Context;
14 17 10 st Lsun/tools/tree/FinallyStatement;
25 27 9 lf Lsun/tools/tree/LocalMember;
33 50 9 c Lsun/tools/tree/Context;
42 48 10 st Lsun/tools/tree/FinallyStatement;
43 48 11 label Lsun/tools/asm/Label;
MethodParameters:
Name Flags
env
ctx
asm
stopctx
save
public boolean hasLabel(sun.tools.java.Identifier);
descriptor: (Lsun/tools/java/Identifier;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
astore 2
start local 2 1: aload 2
ifnull 7
2: aload 2
arraylength
istore 3
start local 3 3: goto 6
4: StackMap locals: sun.tools.java.Identifier[] int
StackMap stack:
aload 2
iload 3
aaload
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iinc 3 -1
iload 3
ifge 4
end local 3 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/tree/Statement;
0 8 1 lbl Lsun/tools/java/Identifier;
1 8 2 labels [Lsun/tools/java/Identifier;
3 7 3 i I
MethodParameters:
Name Flags
lbl
public sun.tools.tree.Expression firstConstructor();
descriptor: ()Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/Statement;
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=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.tools.tree.Statement.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.Statement
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/Statement;
0 1 1 ctx Lsun/tools/tree/Context;
0 1 2 valNeeded Z
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=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/Statement;
0 1 1 thresh I
0 1 2 env Lsun/tools/java/Environment;
0 1 3 ctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
thresh
env
ctx
void printIndent(java.io.PrintStream, int);
descriptor: (Ljava/io/PrintStream;I)V
flags: (0x0000)
Code:
stack=2, 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 1
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 2
if_icmplt 2
end local 3 5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/Statement;
0 6 1 out Ljava/io/PrintStream;
0 6 2 indent I
1 5 3 i I
MethodParameters:
Name Flags
out
indent
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
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
ifnull 5
1: aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
arraylength
istore 3
start local 3 2: goto 4
3: StackMap locals: int
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield sun.tools.tree.Statement.labels:[Lsun/tools/java/Identifier;
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
iinc 3 -1
iload 3
ifge 3
end local 3 5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/Statement;
0 6 1 out Ljava/io/PrintStream;
0 6 2 indent I
2 5 3 i I
MethodParameters:
Name Flags
out
indent
public void print(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/Statement;
0 2 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
}
SourceFile: "Statement.java"