public class sun.tools.tree.BreakStatement extends sun.tools.tree.Statement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.BreakStatement
super_class: sun.tools.tree.Statement
{
sun.tools.java.Identifier lbl;
descriptor: Lsun/tools/java/Identifier;
flags: (0x0000)
public void <init>(long, sun.tools.java.Identifier);
descriptor: (JLsun/tools/java/Identifier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
bipush 98
lload 1
invokespecial sun.tools.tree.Statement.<init>:(IJ)V
1: aload 0
aload 3
putfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/BreakStatement;
0 3 1 where J
0 3 3 lbl Lsun/tools/java/Identifier;
MethodParameters:
Name Flags
where
lbl
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=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 3
invokevirtual sun.tools.tree.BreakStatement.reach:(Lsun/tools/java/Environment;Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
pop
1: aload 0
aload 1
aload 2
invokevirtual sun.tools.tree.BreakStatement.checkLabel:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
2: 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
aload 0
getfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
invokevirtual sun.tools.tree.CheckContext.getBreakContext:(Lsun/tools/java/Identifier;)Lsun/tools/tree/Context;
checkcast sun.tools.tree.CheckContext
astore 5
start local 5 3: aload 5
ifnull 8
4: aload 5
getfield sun.tools.tree.CheckContext.frameNumber:I
aload 2
getfield sun.tools.tree.Context.frameNumber:I
if_icmpeq 6
5: aload 1
aload 0
getfield sun.tools.tree.BreakStatement.where:J
ldc "branch.to.uplevel"
aload 0
getfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
6: StackMap locals: sun.tools.tree.CheckContext
StackMap stack:
aload 5
aload 5
getfield sun.tools.tree.CheckContext.vsBreak:Lsun/tools/tree/Vset;
aload 3
invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
putfield sun.tools.tree.CheckContext.vsBreak:Lsun/tools/tree/Vset;
7: goto 12
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
ifnull 11
9: aload 1
aload 0
getfield sun.tools.tree.BreakStatement.where:J
ldc "label.not.found"
aload 0
getfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.tools.tree.BreakStatement.where:J
ldc "invalid.break"
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.tools.tree.Context.getTryExitContext:()Lsun/tools/tree/CheckContext;
astore 6
start local 6 13: aload 6
ifnull 15
14: aload 6
aload 6
getfield sun.tools.tree.CheckContext.vsTryExit:Lsun/tools/tree/Vset;
aload 3
invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
putfield sun.tools.tree.CheckContext.vsTryExit:Lsun/tools/tree/Vset;
15: StackMap locals: sun.tools.tree.CheckContext
StackMap stack:
getstatic sun.tools.tree.BreakStatement.DEAD_END:Lsun/tools/tree/Vset;
areturn
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 16 0 this Lsun/tools/tree/BreakStatement;
0 16 1 env Lsun/tools/java/Environment;
0 16 2 ctx Lsun/tools/tree/Context;
0 16 3 vset Lsun/tools/tree/Vset;
0 16 4 exp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
3 16 5 destctx Lsun/tools/tree/CheckContext;
13 16 6 exitctx Lsun/tools/tree/CheckContext;
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 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: iconst_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/BreakStatement;
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
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=6, 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: aload 4
aload 0
getfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
invokevirtual sun.tools.tree.CodeContext.getBreakContext:(Lsun/tools/java/Identifier;)Lsun/tools/tree/Context;
checkcast sun.tools.tree.CodeContext
astore 5
start local 5 2: aload 0
aload 1
aload 2
aload 3
aload 5
aconst_null
invokevirtual sun.tools.tree.BreakStatement.codeFinally:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/tree/Context;Lsun/tools/java/Type;)V
3: aload 3
aload 0
getfield sun.tools.tree.BreakStatement.where:J
sipush 167
aload 5
getfield sun.tools.tree.CodeContext.breakLabel:Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
4: 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
5: return
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 6 0 this Lsun/tools/tree/BreakStatement;
0 6 1 env Lsun/tools/java/Environment;
0 6 2 ctx Lsun/tools/tree/Context;
0 6 3 asm Lsun/tools/asm/Assembler;
1 6 4 newctx Lsun/tools/tree/CodeContext;
2 6 5 destctx Lsun/tools/tree/CodeContext;
MethodParameters:
Name Flags
env
ctx
asm
public void print(java.io.PrintStream, int);
descriptor: (Ljava/io/PrintStream;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, 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 "break"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: aload 0
getfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
ifnull 4
3: aload 1
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.tools.tree.BreakStatement.lbl:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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:
aload 1
ldc ";"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/BreakStatement;
0 6 1 out Ljava/io/PrintStream;
0 6 2 indent I
MethodParameters:
Name Flags
out
indent
}
SourceFile: "BreakStatement.java"