public class sun.tools.tree.TryStatement extends sun.tools.tree.Statement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.TryStatement
super_class: sun.tools.tree.Statement
{
sun.tools.tree.Statement body;
descriptor: Lsun/tools/tree/Statement;
flags: (0x0000)
sun.tools.tree.Statement[] args;
descriptor: [Lsun/tools/tree/Statement;
flags: (0x0000)
long arrayCloneWhere;
descriptor: J
flags: (0x0000)
public void <init>(long, sun.tools.tree.Statement, sun.tools.tree.Statement[]);
descriptor: (JLsun/tools/tree/Statement;[Lsun/tools/tree/Statement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
bipush 101
lload 1
invokespecial sun.tools.tree.Statement.<init>:(IJ)V
1: aload 0
aload 3
putfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
2: aload 0
aload 4
putfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
3: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/tree/TryStatement;
0 4 1 where J
0 4 3 body Lsun/tools/tree/Statement;
0 4 4 args [Lsun/tools/tree/Statement;
MethodParameters:
Name Flags
where
body
args
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=7, locals=18, 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.TryStatement.checkLabel:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
1: aload 0
aload 1
aload 3
invokevirtual sun.tools.tree.TryStatement.reach:(Lsun/tools/java/Environment;Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
astore 3
2: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 5
start local 5 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 6
start local 6 4: aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
aload 1
aload 6
aload 3
invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
aload 5
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 7
start local 7 5: aload 3
aload 7
invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
aload 6
getfield sun.tools.tree.CheckContext.vsTryExit:Lsun/tools/tree/Vset;
invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
invokestatic sun.tools.tree.Vset.firstDAandSecondDU:(Lsun/tools/tree/Vset;Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
astore 8
start local 8 6: iconst_0
istore 9
start local 9 7: goto 10
8: StackMap locals: sun.tools.tree.TryStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.Vset int
StackMap stack:
aload 7
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 9
aaload
aload 1
aload 6
aload 8
invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
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;
invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
astore 7
9: iinc 9 1
StackMap locals:
StackMap stack:
10: iload 9
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 8
end local 9 11: iconst_1
istore 9
start local 9 12: goto 31
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 9
aaload
checkcast sun.tools.tree.CatchStatement
astore 10
start local 10 14: aload 10
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
ifnonnull 16
15: goto 30
16: StackMap locals: sun.tools.tree.CatchStatement
StackMap stack:
aload 10
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
astore 11
start local 11 17: aload 1
aload 11
invokevirtual sun.tools.java.Environment.getClassDefinition:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDefinition;
astore 12
start local 12 18: iconst_0
istore 13
start local 13 19: goto 29
20: StackMap locals: sun.tools.java.Type sun.tools.java.ClassDefinition int
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 13
aaload
checkcast sun.tools.tree.CatchStatement
astore 14
start local 14 21: aload 14
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
ifnonnull 23
22: goto 28
23: StackMap locals: sun.tools.tree.CatchStatement
StackMap stack:
aload 14
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
astore 15
start local 15 24: aload 1
aload 15
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
astore 16
start local 16 25: aload 12
aload 1
aload 16
invokevirtual sun.tools.java.ClassDefinition.subClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 28
26: aload 1
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 9
aaload
getfield sun.tools.tree.Statement.where:J
ldc "catch.not.reached"
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
27: goto 30
end local 16 end local 15 end local 14 28: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
29: iload 13
iload 9
if_icmplt 20
end local 13 end local 12 end local 11 end local 10 30: StackMap locals: sun.tools.tree.TryStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.Vset int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
31: iload 9
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 13
end local 9 32: aload 1
getstatic sun.tools.tree.TryStatement.idJavaLangError:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDeclaration;
astore 9
start local 9 33: aload 1
getstatic sun.tools.tree.TryStatement.idJavaLangRuntimeException:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDeclaration;
astore 10
start local 10 34: iconst_0
istore 11
start local 11 35: goto 60
36: StackMap locals: sun.tools.tree.TryStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.Vset sun.tools.java.ClassDeclaration sun.tools.java.ClassDeclaration int
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 11
aaload
checkcast sun.tools.tree.CatchStatement
astore 12
start local 12 37: aload 12
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
ifnonnull 39
38: goto 59
39: StackMap locals: sun.tools.tree.CatchStatement
StackMap stack:
aload 12
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
astore 13
start local 13 40: aload 13
bipush 10
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 42
41: goto 59
42: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 1
aload 13
invokevirtual sun.tools.java.Environment.getClassDefinition:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDefinition;
astore 14
start local 14 43: aload 14
aload 1
aload 9
invokevirtual sun.tools.java.ClassDefinition.subClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifne 59
aload 14
aload 1
aload 9
invokevirtual sun.tools.java.ClassDefinition.superClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifne 59
44: aload 14
aload 1
aload 10
invokevirtual sun.tools.java.ClassDefinition.subClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifne 59
aload 14
aload 1
aload 10
invokevirtual sun.tools.java.ClassDefinition.superClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 46
45: goto 59
46: StackMap locals: sun.tools.java.ClassDefinition
StackMap stack:
iconst_0
istore 15
start local 15 47: aload 5
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 16
start local 16 48: goto 53
49: StackMap locals: int java.util.Enumeration
StackMap stack:
aload 16
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.tools.java.ClassDeclaration
astore 17
start local 17 50: aload 14
aload 1
aload 17
invokevirtual sun.tools.java.ClassDefinition.superClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifne 51
aload 14
aload 1
aload 17
invokevirtual sun.tools.java.ClassDefinition.subClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 53
51: StackMap locals: sun.tools.java.ClassDeclaration
StackMap stack:
iconst_1
istore 15
52: goto 54
end local 17 53: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 49
end local 16 54: StackMap locals:
StackMap stack:
iload 15
ifne 57
aload 0
getfield sun.tools.tree.TryStatement.arrayCloneWhere:J
lconst_0
lcmp
ifeq 57
55: aload 14
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
ldc "java.lang.CloneNotSupportedException"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 57
56: aload 1
aload 0
getfield sun.tools.tree.TryStatement.arrayCloneWhere:J
ldc "warn.array.clone.supported"
aload 14
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
57: StackMap locals:
StackMap stack:
iload 15
ifne 59
58: aload 1
aload 12
getfield sun.tools.tree.CatchStatement.where:J
ldc "catch.not.thrown"
aload 14
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
end local 15 end local 14 end local 13 end local 12 59: StackMap locals: sun.tools.tree.TryStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.Vset sun.tools.java.ClassDeclaration sun.tools.java.ClassDeclaration int
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
60: iload 11
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 36
end local 11 61: aload 5
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 11
start local 11 62: goto 81
63: StackMap locals: sun.tools.tree.TryStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.Vset sun.tools.java.ClassDeclaration sun.tools.java.ClassDeclaration java.util.Enumeration
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.tools.java.ClassDeclaration
astore 12
start local 12 64: aload 12
aload 1
invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
astore 13
start local 13 65: iconst_1
istore 14
start local 14 66: iconst_0
istore 15
start local 15 67: goto 78
68: StackMap locals: sun.tools.tree.TryStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.Vset sun.tools.java.ClassDeclaration sun.tools.java.ClassDeclaration java.util.Enumeration sun.tools.java.ClassDeclaration sun.tools.java.ClassDefinition int int
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 15
aaload
checkcast sun.tools.tree.CatchStatement
astore 16
start local 16 69: aload 16
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
ifnonnull 71
70: goto 77
71: StackMap locals: sun.tools.tree.CatchStatement
StackMap stack:
aload 16
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
astore 17
start local 17 72: aload 17
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 74
73: goto 77
74: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 13
aload 1
aload 1
aload 17
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDefinition.subClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 77
75: iconst_0
istore 14
76: goto 79
end local 17 end local 16 77: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
78: iload 15
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 68
end local 15 79: StackMap locals:
StackMap stack:
iload 14
ifeq 81
80: aload 4
aload 12
aload 5
aload 12
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 12 81: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 63
end local 11 82: aload 2
aload 7
aload 6
getfield sun.tools.tree.CheckContext.vsBreak:Lsun/tools/tree/Vset;
invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
invokevirtual sun.tools.tree.Context.removeAdditionalVars:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
83: areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 84: StackMap locals: sun.tools.tree.TryStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable
StackMap stack: sun.tools.java.ClassNotFound
astore 5
start local 5 85: aload 1
aload 0
getfield sun.tools.tree.TryStatement.where:J
ldc "class.not.found"
aload 5
getfield sun.tools.java.ClassNotFound.name:Lsun/tools/java/Identifier;
getstatic sun.tools.tree.TryStatement.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.TryStatement.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
86: 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 87 0 this Lsun/tools/tree/TryStatement;
0 87 1 env Lsun/tools/java/Environment;
0 87 2 ctx Lsun/tools/tree/Context;
0 87 3 vset Lsun/tools/tree/Vset;
0 87 4 exp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
3 84 5 newexp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
4 84 6 newctx Lsun/tools/tree/CheckContext;
5 84 7 vs Lsun/tools/tree/Vset;
6 84 8 cvs Lsun/tools/tree/Vset;
7 11 9 i I
12 32 9 i I
14 30 10 cs Lsun/tools/tree/CatchStatement;
17 30 11 type Lsun/tools/java/Type;
18 30 12 def Lsun/tools/java/ClassDefinition;
19 30 13 j I
21 28 14 cs2 Lsun/tools/tree/CatchStatement;
24 28 15 t Lsun/tools/java/Type;
25 28 16 c Lsun/tools/java/ClassDeclaration;
33 84 9 ignore1 Lsun/tools/java/ClassDeclaration;
34 84 10 ignore2 Lsun/tools/java/ClassDeclaration;
35 61 11 i I
37 59 12 cs Lsun/tools/tree/CatchStatement;
40 59 13 type Lsun/tools/java/Type;
43 59 14 def Lsun/tools/java/ClassDefinition;
47 59 15 ok Z
48 54 16 e Ljava/util/Enumeration<*>;
50 53 17 c Lsun/tools/java/ClassDeclaration;
62 82 11 e Ljava/util/Enumeration<*>;
64 81 12 c Lsun/tools/java/ClassDeclaration;
65 81 13 def Lsun/tools/java/ClassDefinition;
66 81 14 add Z
67 79 15 i I
69 77 16 cs Lsun/tools/tree/CatchStatement;
72 77 17 type Lsun/tools/java/Type;
85 87 5 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
1 83 84 Class sun.tools.java.ClassNotFound
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=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
ifnull 2
1: aload 0
aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
aload 1
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
invokevirtual sun.tools.tree.Statement.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
putfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 5: goto 9
6: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 3
aaload
ifnull 8
7: aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 3
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 3
aaload
aload 1
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
invokevirtual sun.tools.tree.Statement.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
aastore
8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 6
end local 3 10: aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
ifne 11
aload 0
aload 1
aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
invokevirtual sun.tools.tree.TryStatement.eliminate:(Lsun/tools/java/Environment;Lsun/tools/tree/Statement;)Lsun/tools/tree/Statement;
goto 12
StackMap locals:
StackMap stack:
11: aload 0
StackMap locals:
StackMap stack: sun.tools.tree.Statement
12: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/tools/tree/TryStatement;
0 13 1 env Lsun/tools/java/Environment;
0 13 2 ctx Lsun/tools/tree/Context;
5 10 3 i 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.TryStatement.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.TryStatement
astore 3
start local 3 1: aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
ifnull 3
2: aload 3
aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
aload 1
iload 2
invokevirtual sun.tools.tree.Statement.copyInline:(Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
putfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
3: StackMap locals: sun.tools.tree.TryStatement
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
anewarray sun.tools.tree.Statement
putfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
4: iconst_0
istore 4
start local 4 5: goto 9
6: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 4
aaload
ifnull 8
7: aload 3
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 4
aload 0
getfield sun.tools.tree.TryStatement.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
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 6
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/TryStatement;
0 11 1 ctx Lsun/tools/tree/Context;
0 11 2 valNeeded Z
1 11 3 s Lsun/tools/tree/TryStatement;
5 10 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=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/TryStatement;
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=5, locals=8, 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: new sun.tools.asm.TryData
dup
invokespecial sun.tools.asm.TryData.<init>:()V
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 10
4: StackMap locals: sun.tools.tree.CodeContext sun.tools.asm.TryData int
StackMap stack:
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 6
aaload
checkcast sun.tools.tree.CatchStatement
getfield sun.tools.tree.CatchStatement.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
astore 7
start local 7 5: aload 7
bipush 10
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 8
6: aload 5
aload 1
aload 7
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.asm.TryData.add:(Ljava/lang/Object;)Lsun/tools/asm/CatchData;
pop
7: goto 9
8: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 5
aload 7
invokevirtual sun.tools.asm.TryData.add:(Ljava/lang/Object;)Lsun/tools/asm/CatchData;
pop
end local 7 9: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 4
end local 6 11: aload 3
aload 0
getfield sun.tools.tree.TryStatement.where:J
bipush -3
aload 5
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
12: aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
ifnull 14
13: aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
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
14: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual sun.tools.asm.TryData.getEndLabel:()Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
15: aload 3
aload 0
getfield sun.tools.tree.TryStatement.where:J
sipush 167
aload 4
getfield sun.tools.tree.CodeContext.breakLabel:Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
16: iconst_0
istore 6
start local 6 17: goto 23
18: StackMap locals: int
StackMap stack:
aload 5
iload 6
invokevirtual sun.tools.asm.TryData.getCatch:(I)Lsun/tools/asm/CatchData;
astore 7
start local 7 19: aload 3
aload 7
invokevirtual sun.tools.asm.CatchData.getLabel:()Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
20: aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 6
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
21: aload 3
aload 0
getfield sun.tools.tree.TryStatement.where:J
sipush 167
aload 4
getfield sun.tools.tree.CodeContext.breakLabel:Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
end local 7 22: iinc 6 1
StackMap locals:
StackMap stack:
23: iload 6
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 18
end local 6 24: 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
25: 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 26 0 this Lsun/tools/tree/TryStatement;
0 26 1 env Lsun/tools/java/Environment;
0 26 2 ctx Lsun/tools/tree/Context;
0 26 3 asm Lsun/tools/asm/Assembler;
1 26 4 newctx Lsun/tools/tree/CodeContext;
2 26 5 td Lsun/tools/asm/TryData;
3 11 6 i I
5 9 7 t Lsun/tools/java/Type;
17 24 6 i I
19 22 7 cd Lsun/tools/asm/CatchData;
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=3, 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 "try "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
ifnull 5
3: aload 0
getfield sun.tools.tree.TryStatement.body:Lsun/tools/tree/Statement;
aload 1
iload 2
invokevirtual sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 1
ldc "<empty>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 7: goto 11
8: StackMap locals: int
StackMap stack:
aload 1
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
iload 3
aaload
aload 1
iload 2
invokevirtual sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
getfield sun.tools.tree.TryStatement.args:[Lsun/tools/tree/Statement;
arraylength
if_icmplt 8
end local 3 12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/tools/tree/TryStatement;
0 13 1 out Ljava/io/PrintStream;
0 13 2 indent I
7 12 3 i I
MethodParameters:
Name Flags
out
indent
}
SourceFile: "TryStatement.java"