public class sun.tools.tree.NewInstanceExpression extends sun.tools.tree.NaryExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.NewInstanceExpression
super_class: sun.tools.tree.NaryExpression
{
sun.tools.java.MemberDefinition field;
descriptor: Lsun/tools/java/MemberDefinition;
flags: (0x0000)
sun.tools.tree.Expression outerArg;
descriptor: Lsun/tools/tree/Expression;
flags: (0x0000)
sun.tools.java.ClassDefinition body;
descriptor: Lsun/tools/java/ClassDefinition;
flags: (0x0000)
sun.tools.java.MemberDefinition implMethod;
descriptor: Lsun/tools/java/MemberDefinition;
flags: (0x0000)
final int MAXINLINECOST;
descriptor: I
flags: (0x0010) ACC_FINAL
public void <init>(long, sun.tools.tree.Expression, sun.tools.tree.Expression[]);
descriptor: (JLsun/tools/tree/Expression;[Lsun/tools/tree/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
bipush 42
lload 1
getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
aload 3
aload 4
invokespecial sun.tools.tree.NaryExpression.<init>:(IJLsun/tools/java/Type;Lsun/tools/tree/Expression;[Lsun/tools/tree/Expression;)V
1: aload 0
aconst_null
putfield sun.tools.tree.NewInstanceExpression.implMethod:Lsun/tools/java/MemberDefinition;
2: aload 0
getstatic sun.tools.tree.Statement.MAXINLINECOST:I
putfield sun.tools.tree.NewInstanceExpression.MAXINLINECOST:I
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/NewInstanceExpression;
0 4 1 where J
0 4 3 right Lsun/tools/tree/Expression;
0 4 4 args [Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
where
right
args
public void <init>(long, sun.tools.tree.Expression, sun.tools.tree.Expression[], sun.tools.tree.Expression, sun.tools.java.ClassDefinition);
descriptor: (JLsun/tools/tree/Expression;[Lsun/tools/tree/Expression;Lsun/tools/tree/Expression;Lsun/tools/java/ClassDefinition;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: aload 0
lload 1
aload 3
aload 4
invokespecial sun.tools.tree.NewInstanceExpression.<init>:(JLsun/tools/tree/Expression;[Lsun/tools/tree/Expression;)V
1: aload 0
aload 5
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
2: aload 0
aload 6
putfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
3: return
end local 6 end local 5 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/NewInstanceExpression;
0 4 1 where J
0 4 3 right Lsun/tools/tree/Expression;
0 4 4 args [Lsun/tools/tree/Expression;
0 4 5 outerArg Lsun/tools/tree/Expression;
0 4 6 body Lsun/tools/java/ClassDefinition;
MethodParameters:
Name Flags
where
right
args
outerArg
body
public sun.tools.tree.Expression getOuterArg();
descriptor: ()Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/NewInstanceExpression;
int precedence();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 100
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/NewInstanceExpression;
public sun.tools.tree.Expression order();
descriptor: ()Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 5
getstatic sun.tools.tree.NewInstanceExpression.opPrecedence:[I
bipush 46
iaload
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.Expression.precedence:()I
if_icmple 5
1: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.UnaryExpression
astore 1
start local 1 2: aload 0
aload 1
getfield sun.tools.tree.UnaryExpression.right:Lsun/tools/tree/Expression;
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
3: aload 1
aload 0
invokevirtual sun.tools.tree.NewInstanceExpression.order:()Lsun/tools/tree/Expression;
putfield sun.tools.tree.UnaryExpression.right:Lsun/tools/tree/Expression;
4: aload 1
areturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/NewInstanceExpression;
2 5 1 e Lsun/tools/tree/UnaryExpression;
public sun.tools.tree.Vset checkValue(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: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 21
3: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.tools.tree.Expression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
4: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
astore 6
5: aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
invokestatic sun.tools.tree.FieldExpression.toIdentifier:(Lsun/tools/tree/Expression;)Lsun/tools/java/Identifier;
astore 7
start local 7 6: aload 7
ifnull 8
aload 7
invokevirtual sun.tools.java.Identifier.isQualified:()Z
ifeq 8
7: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "unqualified.name.required"
aload 7
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
8: StackMap locals: sun.tools.java.ClassDefinition sun.tools.tree.Expression sun.tools.java.Identifier
StackMap stack:
aload 7
ifnull 9
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 10
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 15
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 13
10: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "invalid.field.reference"
11: getstatic sun.tools.tree.NewInstanceExpression.idNew:Lsun/tools/java/Identifier;
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
12: invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
14: goto 21
15: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.getClassDefinition:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDefinition;
astore 8
start local 8 16: aload 8
aload 1
aload 7
invokevirtual sun.tools.java.ClassDefinition.resolveInnerClass:(Lsun/tools/java/Environment;Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
astore 9
start local 9 17: aload 0
new sun.tools.tree.TypeExpression
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
aload 9
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
invokespecial sun.tools.tree.TypeExpression.<init>:(JLsun/tools/java/Type;)V
putfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
18: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
19: aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
20: invokevirtual sun.tools.java.Environment.resolve:(JLsun/tools/java/ClassDefinition;Lsun/tools/java/Type;)Z
pop
end local 9 end local 8 end local 7 21: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
instanceof sun.tools.tree.TypeExpression
ifne 23
22: aload 0
new sun.tools.tree.TypeExpression
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.toType:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/java/Type;
invokespecial sun.tools.tree.TypeExpression.<init>:(JLsun/tools/java/Type;)V
putfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 10
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 31
24: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.getClassDefinition:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDefinition;
astore 5
25: goto 31
StackMap locals:
StackMap stack: sun.tools.java.AmbiguousClass
26: astore 7
start local 7 27: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "ambig.class"
aload 7
getfield sun.tools.java.AmbiguousClass.name1:Lsun/tools/java/Identifier;
aload 7
getfield sun.tools.java.AmbiguousClass.name2:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 28: goto 31
29: StackMap locals:
StackMap stack: sun.tools.java.ClassNotFound
astore 7
start local 7 30: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "class.not.found"
aload 7
getfield sun.tools.java.ClassNotFound.name:Lsun/tools/java/Identifier;
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 31: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
astore 7
start local 7 32: aload 7
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
istore 8
start local 8 33: aload 7
bipush 10
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 37
34: iload 8
ifne 37
35: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "invalid.arg.type"
aload 7
getstatic sun.tools.tree.NewInstanceExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.NewInstanceExpression.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
36: iconst_1
istore 8
37: StackMap locals: sun.tools.java.Type int
StackMap stack:
aload 5
ifnonnull 40
38: aload 0
getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
putfield sun.tools.tree.NewInstanceExpression.type:Lsun/tools/java/Type;
39: aload 3
areturn
40: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
astore 9
start local 9 41: aload 1
aload 2
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 5
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
aload 9
invokestatic sun.tools.tree.NewInstanceExpression.insertOuterLink:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;JLsun/tools/java/ClassDefinition;Lsun/tools/tree/Expression;[Lsun/tools/tree/Expression;)[Lsun/tools/tree/Expression;
42: astore 9
43: aload 9
arraylength
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmple 45
44: aload 0
aload 9
iconst_0
aaload
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
goto 47
45: StackMap locals: sun.tools.tree.Expression[]
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 47
46: aload 0
new sun.tools.tree.CommaExpression
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
aconst_null
invokespecial sun.tools.tree.CommaExpression.<init>:(JLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
47: StackMap locals:
StackMap stack:
aload 9
arraylength
anewarray sun.tools.java.Type
astore 10
start local 10 48: iconst_0
istore 11
start local 11 49: goto 57
50: StackMap locals: sun.tools.java.Type[] int
StackMap stack:
aload 9
iload 11
aaload
aload 6
if_acmpeq 52
51: aload 9
iload 11
aaload
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.tools.tree.Expression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
52: StackMap locals:
StackMap stack:
aload 10
iload 11
aload 9
iload 11
aaload
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
aastore
53: iload 8
ifne 54
aload 10
iload 11
aaload
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 54
iconst_0
goto 55
StackMap locals:
StackMap stack:
54: iconst_1
StackMap locals:
StackMap stack: int
55: istore 8
56: iinc 11 1
StackMap locals:
StackMap stack:
57: iload 11
aload 9
arraylength
if_icmplt 50
end local 11 58: iload 8
ifeq 62
59: aload 0
getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
putfield sun.tools.tree.NewInstanceExpression.type:Lsun/tools/java/Type;
60: aload 3
61: areturn
62: StackMap locals:
StackMap stack:
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
astore 11
start local 11 63: aload 1
aload 7
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
astore 12
start local 12 64: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
ifnull 87
65: aload 11
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getQualifier:()Lsun/tools/java/Identifier;
astore 13
start local 13 66: aconst_null
astore 14
start local 14 67: aload 5
invokevirtual sun.tools.java.ClassDefinition.isInterface:()Z
ifeq 70
68: aload 1
getstatic sun.tools.tree.NewInstanceExpression.idJavaLangObject:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.getClassDefinition:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDefinition;
astore 14
69: goto 71
70: StackMap locals: sun.tools.tree.NewInstanceExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable sun.tools.java.ClassDefinition sun.tools.tree.Expression sun.tools.java.Type int sun.tools.tree.Expression[] sun.tools.java.Type[] sun.tools.java.ClassDefinition sun.tools.java.ClassDeclaration sun.tools.java.Identifier sun.tools.java.ClassDefinition
StackMap stack:
aload 5
astore 14
71: StackMap locals:
StackMap stack:
aload 14
aload 1
aload 13
aload 10
invokevirtual sun.tools.java.ClassDefinition.matchAnonConstructor:(Lsun/tools/java/Environment;Lsun/tools/java/Identifier;[Lsun/tools/java/Type;)Lsun/tools/java/MemberDefinition;
72: astore 15
start local 15 73: aload 15
ifnull 95
74: aload 1
75: new java.lang.StringBuilder
dup
ldc "NewInstanceExpression.checkValue: ANON CLASS "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
76: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " SUPER "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
77: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
78: invokevirtual sun.tools.java.Environment.dtEvent:(Ljava/lang/String;)V
79: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
aload 1
aload 2
aload 3
80: aload 5
aload 9
81: aload 15
invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
82: invokevirtual sun.tools.java.Type.getArgumentTypes:()[Lsun/tools/java/Type;
83: invokevirtual sun.tools.java.ClassDefinition.checkLocalClass:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Lsun/tools/java/ClassDefinition;[Lsun/tools/tree/Expression;[Lsun/tools/java/Type;)Lsun/tools/tree/Vset;
astore 3
84: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
invokevirtual sun.tools.java.ClassDefinition.getClassDeclaration:()Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDeclaration.getType:()Lsun/tools/java/Type;
astore 7
85: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
astore 5
end local 15 end local 14 end local 13 86: goto 95
87: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.tools.java.ClassDefinition.isInterface:()Z
ifeq 91
88: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "new.intf"
aload 12
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
89: aload 3
90: areturn
91: StackMap locals:
StackMap stack:
aload 5
aload 1
invokevirtual sun.tools.java.ClassDefinition.mustBeAbstract:(Lsun/tools/java/Environment;)Z
ifeq 95
92: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "new.abstract"
aload 12
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
93: aload 3
94: areturn
95: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 1
aload 11
getstatic sun.tools.tree.NewInstanceExpression.idInit:Lsun/tools/java/Identifier;
aload 10
invokevirtual sun.tools.java.ClassDefinition.matchMethod:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDefinition;Lsun/tools/java/Identifier;[Lsun/tools/java/Type;)Lsun/tools/java/MemberDefinition;
putfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
96: aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
ifnonnull 108
97: aload 5
aload 1
getstatic sun.tools.tree.NewInstanceExpression.idInit:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.ClassDefinition.findAnyMethod:(Lsun/tools/java/Environment;Lsun/tools/java/Identifier;)Lsun/tools/java/MemberDefinition;
astore 13
start local 13 98: aload 13
ifnull 103
99: new sun.tools.tree.MethodExpression
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 0
getfield sun.tools.tree.NewInstanceExpression.right:Lsun/tools/tree/Expression;
aload 13
aload 9
invokespecial sun.tools.tree.MethodExpression.<init>:(JLsun/tools/tree/Expression;Lsun/tools/java/MemberDefinition;[Lsun/tools/tree/Expression;)V
100: aload 1
aload 9
aload 10
invokevirtual sun.tools.tree.MethodExpression.diagnoseMismatch:(Lsun/tools/java/Environment;[Lsun/tools/tree/Expression;[Lsun/tools/java/Type;)Z
ifeq 103
101: aload 3
102: areturn
103: StackMap locals: sun.tools.java.MemberDefinition
StackMap stack:
aload 12
invokevirtual sun.tools.java.ClassDeclaration.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
astore 14
start local 14 104: getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
aload 10
invokestatic sun.tools.java.Type.tMethod:(Lsun/tools/java/Type;[Lsun/tools/java/Type;)Lsun/tools/java/Type;
aload 14
iconst_0
iconst_0
invokevirtual sun.tools.java.Type.typeString:(Ljava/lang/String;ZZ)Ljava/lang/String;
astore 14
105: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "unmatched.constr"
aload 14
aload 12
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
106: aload 3
107: areturn
end local 14 end local 13 108: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.isPrivate:()Z
ifeq 112
109: aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
astore 13
start local 13 110: aload 13
aload 11
if_acmpeq 112
111: aload 0
aload 13
aload 1
aload 2
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
iconst_0
invokevirtual sun.tools.java.ClassDefinition.getAccessMember:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/MemberDefinition;Z)Lsun/tools/java/MemberDefinition;
putfield sun.tools.tree.NewInstanceExpression.implMethod:Lsun/tools/java/MemberDefinition;
end local 13 112: StackMap locals:
StackMap stack:
aload 5
aload 1
invokevirtual sun.tools.java.ClassDefinition.mustBeAbstract:(Lsun/tools/java/Environment;)Z
ifeq 116
113: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "new.abstract"
aload 12
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
114: aload 3
115: areturn
116: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
aload 1
invokevirtual sun.tools.java.MemberDefinition.reportDeprecated:(Lsun/tools/java/Environment;)Z
ifeq 120
117: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "warn.constr.is.deprecated"
118: aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
119: invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
120: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.isProtected:()Z
ifeq 135
121: aload 11
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getQualifier:()Lsun/tools/java/Identifier;
122: aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDeclaration:()Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDeclaration.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getQualifier:()Lsun/tools/java/Identifier;
123: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
124: ifne 135
125: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "invalid.protected.constructor.use"
126: aload 11
127: invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
end local 12 end local 11 128: goto 135
StackMap locals: sun.tools.tree.NewInstanceExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable sun.tools.java.ClassDefinition sun.tools.tree.Expression sun.tools.java.Type int sun.tools.tree.Expression[] sun.tools.java.Type[]
StackMap stack: sun.tools.java.ClassNotFound
129: astore 11
start local 11 130: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "class.not.found"
aload 11
getfield sun.tools.java.ClassNotFound.name:Lsun/tools/java/Identifier;
getstatic sun.tools.tree.NewInstanceExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.NewInstanceExpression.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
131: aload 3
areturn
end local 11 132: StackMap locals:
StackMap stack: sun.tools.java.AmbiguousMember
astore 11
start local 11 133: aload 1
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
ldc "ambig.constr"
aload 11
getfield sun.tools.java.AmbiguousMember.field1:Lsun/tools/java/MemberDefinition;
aload 11
getfield sun.tools.java.AmbiguousMember.field2:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
134: aload 3
areturn
end local 11 135: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getArgumentTypes:()[Lsun/tools/java/Type;
astore 10
136: iconst_0
istore 11
start local 11 137: goto 140
138: StackMap locals: int
StackMap stack:
aload 9
iload 11
aload 0
aload 1
aload 2
aload 10
iload 11
aaload
aload 9
iload 11
aaload
invokevirtual sun.tools.tree.NewInstanceExpression.convert:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/Type;Lsun/tools/tree/Expression;)Lsun/tools/tree/Expression;
aastore
139: iinc 11 1
StackMap locals:
StackMap stack:
140: iload 11
aload 9
arraylength
if_icmplt 138
end local 11 141: aload 9
arraylength
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmple 148
142: aload 0
aload 9
iconst_0
aaload
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
143: iconst_1
istore 11
start local 11 144: goto 147
145: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
iload 11
iconst_1
isub
aload 9
iload 11
aaload
aastore
146: iinc 11 1
StackMap locals:
StackMap stack:
147: iload 11
aload 9
arraylength
if_icmplt 145
end local 11 148: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
aload 1
invokevirtual sun.tools.java.MemberDefinition.getExceptions:(Lsun/tools/java/Environment;)[Lsun/tools/java/ClassDeclaration;
astore 11
start local 11 149: iconst_0
istore 12
start local 12 150: goto 154
151: StackMap locals: sun.tools.java.ClassDeclaration[] int
StackMap stack:
aload 4
aload 11
iload 12
aaload
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 153
152: aload 4
aload 11
iload 12
aaload
aload 0
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
153: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
154: iload 12
aload 11
arraylength
if_icmplt 151
end local 12 155: aload 0
aload 7
putfield sun.tools.tree.NewInstanceExpression.type:Lsun/tools/java/Type;
156: aload 3
areturn
end local 11 end local 10 end local 9 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 157 0 this Lsun/tools/tree/NewInstanceExpression;
0 157 1 env Lsun/tools/java/Environment;
0 157 2 ctx Lsun/tools/tree/Context;
0 157 3 vset Lsun/tools/tree/Vset;
0 157 4 exp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
1 157 5 def Lsun/tools/java/ClassDefinition;
2 157 6 alreadyChecked Lsun/tools/tree/Expression;
6 21 7 typeName Lsun/tools/java/Identifier;
16 21 8 oc Lsun/tools/java/ClassDefinition;
17 21 9 nm Lsun/tools/java/Identifier;
27 28 7 ee Lsun/tools/java/AmbiguousClass;
30 31 7 ee Lsun/tools/java/ClassNotFound;
32 157 7 t Lsun/tools/java/Type;
33 157 8 hasErrors Z
41 157 9 args [Lsun/tools/tree/Expression;
48 157 10 argTypes [Lsun/tools/java/Type;
49 58 11 i I
63 128 11 sourceClass Lsun/tools/java/ClassDefinition;
64 128 12 c Lsun/tools/java/ClassDeclaration;
66 86 13 packageName Lsun/tools/java/Identifier;
67 86 14 superDef Lsun/tools/java/ClassDefinition;
73 86 15 constructor Lsun/tools/java/MemberDefinition;
98 108 13 anyInit Lsun/tools/java/MemberDefinition;
104 108 14 sig Ljava/lang/String;
110 112 13 cdef Lsun/tools/java/ClassDefinition;
130 132 11 ee Lsun/tools/java/ClassNotFound;
133 135 11 ee Lsun/tools/java/AmbiguousMember;
137 141 11 i I
144 148 11 i I
149 157 11 exceptions [Lsun/tools/java/ClassDeclaration;
150 155 12 i I
Exception table:
from to target type
2 25 26 Class sun.tools.java.AmbiguousClass
2 25 29 Class sun.tools.java.ClassNotFound
58 61 129 Class sun.tools.java.ClassNotFound
62 90 129 Class sun.tools.java.ClassNotFound
91 94 129 Class sun.tools.java.ClassNotFound
95 102 129 Class sun.tools.java.ClassNotFound
103 107 129 Class sun.tools.java.ClassNotFound
108 115 129 Class sun.tools.java.ClassNotFound
116 128 129 Class sun.tools.java.ClassNotFound
58 61 132 Class sun.tools.java.AmbiguousMember
62 90 132 Class sun.tools.java.AmbiguousMember
91 94 132 Class sun.tools.java.AmbiguousMember
95 102 132 Class sun.tools.java.AmbiguousMember
103 107 132 Class sun.tools.java.AmbiguousMember
108 115 132 Class sun.tools.java.AmbiguousMember
116 128 132 Class sun.tools.java.AmbiguousMember
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 static sun.tools.tree.Expression[] insertOuterLink(sun.tools.java.Environment, sun.tools.tree.Context, long, sun.tools.java.ClassDefinition, sun.tools.tree.Expression, sun.tools.tree.Expression[]);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;JLsun/tools/java/ClassDefinition;Lsun/tools/tree/Expression;[Lsun/tools/tree/Expression;)[Lsun/tools/tree/Expression;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 0: aload 4
invokevirtual sun.tools.java.ClassDefinition.isTopLevel:()Z
ifne 11
aload 4
invokevirtual sun.tools.java.ClassDefinition.isLocal:()Z
ifne 11
1: iconst_1
aload 6
arraylength
iadd
anewarray sun.tools.tree.Expression
astore 7
start local 7 2: aload 6
iconst_0
aload 7
iconst_1
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 5
ifnonnull 9
4: aload 1
aload 0
lload 2
5: aload 4
aload 0
getstatic sun.tools.tree.NewInstanceExpression.idInit:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.ClassDefinition.findAnyMethod:(Lsun/tools/java/Environment;Lsun/tools/java/Identifier;)Lsun/tools/java/MemberDefinition;
6: invokevirtual sun.tools.tree.Context.findOuterLink:(Lsun/tools/java/Environment;JLsun/tools/java/MemberDefinition;)Lsun/tools/tree/Expression;
astore 5
7: goto 9
StackMap locals: sun.tools.java.Environment sun.tools.tree.Context long sun.tools.java.ClassDefinition sun.tools.tree.Expression sun.tools.tree.Expression[] sun.tools.tree.Expression[]
StackMap stack: sun.tools.java.ClassNotFound
8: pop
9: StackMap locals:
StackMap stack:
aload 7
iconst_0
aload 5
aastore
10: aload 7
astore 6
end local 7 11: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 env Lsun/tools/java/Environment;
0 12 1 ctx Lsun/tools/tree/Context;
0 12 2 where J
0 12 4 def Lsun/tools/java/ClassDefinition;
0 12 5 outerArg Lsun/tools/tree/Expression;
0 12 6 args [Lsun/tools/tree/Expression;
2 11 7 args2 [Lsun/tools/tree/Expression;
Exception table:
from to target type
3 7 8 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
env
ctx
where
def
outerArg
args
public 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: (0x0001) ACC_PUBLIC
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.NewInstanceExpression.checkValue:(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/NewInstanceExpression;
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<Ljava/lang/Object;Ljava/lang/Object;>;
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.Expression copyInline(sun.tools.tree.Context);
descriptor: (Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.tools.tree.NaryExpression.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
checkcast sun.tools.tree.NewInstanceExpression
astore 2
start local 2 1: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 3
2: aload 2
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
3: StackMap locals: sun.tools.tree.NewInstanceExpression
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/NewInstanceExpression;
0 4 1 ctx Lsun/tools/tree/Context;
1 4 2 e Lsun/tools/tree/NewInstanceExpression;
MethodParameters:
Name Flags
ctx
sun.tools.tree.Expression inlineNewInstance(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Statement);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Statement;)Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=11, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual sun.tools.java.Environment.dump:()Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "INLINE NEW INSTANCE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokestatic sun.tools.tree.LocalMember.copyArguments:(Lsun/tools/tree/Context;Lsun/tools/java/MemberDefinition;)[Lsun/tools/tree/LocalMember;
astore 4
start local 4 3: aload 4
arraylength
iconst_2
iadd
anewarray sun.tools.tree.Statement
astore 5
start local 5 4: iconst_1
istore 6
start local 6 5: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 9
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 9
6: iconst_2
istore 6
7: aload 5
iconst_1
new sun.tools.tree.VarDeclarationStatement
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 4
iconst_1
aaload
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
invokespecial sun.tools.tree.VarDeclarationStatement.<init>:(JLsun/tools/tree/LocalMember;Lsun/tools/tree/Expression;)V
aastore
8: goto 11
StackMap locals: sun.tools.tree.LocalMember[] sun.tools.tree.Statement[] int
StackMap stack:
9: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 11
10: aload 5
iconst_0
new sun.tools.tree.ExpressionStatement
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
invokespecial sun.tools.tree.ExpressionStatement.<init>:(JLsun/tools/tree/Expression;)V
aastore
11: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 5
iload 7
iload 6
iadd
new sun.tools.tree.VarDeclarationStatement
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 4
iload 7
iload 6
iadd
aaload
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
iload 7
aaload
invokespecial sun.tools.tree.VarDeclarationStatement.<init>:(JLsun/tools/tree/LocalMember;Lsun/tools/tree/Expression;)V
aastore
14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmplt 13
end local 7 16: aload 5
aload 5
arraylength
iconst_1
isub
aload 3
ifnull 17
aload 3
aload 2
iconst_0
invokevirtual sun.tools.tree.Statement.copyInline:(Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
goto 18
StackMap locals: sun.tools.tree.NewInstanceExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Statement sun.tools.tree.LocalMember[] sun.tools.tree.Statement[] int
StackMap stack: sun.tools.tree.Statement[] int
17: aconst_null
StackMap locals: sun.tools.tree.NewInstanceExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Statement sun.tools.tree.LocalMember[] sun.tools.tree.Statement[] int
StackMap stack: sun.tools.tree.Statement[] int sun.tools.tree.Statement
18: aastore
19: aload 2
aload 4
invokestatic sun.tools.tree.LocalMember.doneWithArguments:(Lsun/tools/tree/Context;[Lsun/tools/tree/LocalMember;)V
20: new sun.tools.tree.InlineNewInstanceExpression
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 0
getfield sun.tools.tree.NewInstanceExpression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
new sun.tools.tree.CompoundStatement
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 5
invokespecial sun.tools.tree.CompoundStatement.<init>:(J[Lsun/tools/tree/Statement;)V
invokespecial sun.tools.tree.InlineNewInstanceExpression.<init>:(JLsun/tools/java/Type;Lsun/tools/java/MemberDefinition;Lsun/tools/tree/Statement;)V
aload 1
aload 2
invokevirtual sun.tools.tree.InlineNewInstanceExpression.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
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 21 0 this Lsun/tools/tree/NewInstanceExpression;
0 21 1 env Lsun/tools/java/Environment;
0 21 2 ctx Lsun/tools/tree/Context;
0 21 3 s Lsun/tools/tree/Statement;
3 21 4 v [Lsun/tools/tree/LocalMember;
4 21 5 body [Lsun/tools/tree/Statement;
5 21 6 o I
12 16 7 i I
MethodParameters:
Name Flags
env
ctx
s
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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual sun.tools.tree.NewInstanceExpression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/NewInstanceExpression;
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.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=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
ifnull 2
1: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
aload 1
invokevirtual sun.tools.java.ClassDefinition.inlineLocalClass:(Lsun/tools/java/Environment;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
astore 3
start local 3 3: aload 3
invokevirtual sun.tools.java.ClassDefinition.getReferencesFrozen:()Lsun/tools/tree/UplevelReference;
astore 4
start local 4 4: aload 4
ifnull 6
5: aload 4
aload 1
aload 2
invokevirtual sun.tools.tree.UplevelReference.willCodeArguments:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)V
6: StackMap locals: sun.tools.java.ClassDefinition sun.tools.tree.UplevelReference
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 10
7: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 9
8: aload 0
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
10: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 11: goto 14
12: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
iload 5
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
iload 5
aaload
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
aastore
13: iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmplt 12
end local 5 15: goto 18
StackMap locals: sun.tools.tree.NewInstanceExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.java.ClassDefinition sun.tools.tree.UplevelReference
StackMap stack: sun.tools.java.ClassNotFound
16: astore 5
start local 5 17: new sun.tools.java.CompilerError
dup
aload 5
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/Exception;)V
athrow
end local 5 18: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 22
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 22
19: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
astore 5
start local 5 20: aload 0
aconst_null
putfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
21: new sun.tools.tree.CommaExpression
dup
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 5
aload 0
invokespecial sun.tools.tree.CommaExpression.<init>:(JLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
areturn
end local 5 22: 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 23 0 this Lsun/tools/tree/NewInstanceExpression;
0 23 1 env Lsun/tools/java/Environment;
0 23 2 ctx Lsun/tools/tree/Context;
3 23 3 refc Lsun/tools/java/ClassDefinition;
4 23 4 r Lsun/tools/tree/UplevelReference;
11 15 5 i I
17 18 5 e Lsun/tools/java/ClassNotFound;
20 22 5 e Lsun/tools/tree/Expression;
Exception table:
from to target type
6 15 16 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
env
ctx
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=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.tools.tree.NewInstanceExpression.body:Lsun/tools/java/ClassDefinition;
ifnull 2
1: iload 1
ireturn
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
3: iconst_2
aload 0
iload 1
aload 2
aload 3
invokespecial sun.tools.tree.NaryExpression.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
iadd
ireturn
4: StackMap locals:
StackMap stack:
aload 3
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
astore 4
start local 4 5: aload 4
aload 2
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDeclaration:()Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDefinition.permitInlinedAccess:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 10
6: aload 4
aload 2
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.ClassDefinition.permitInlinedAccess:(Lsun/tools/java/Environment;Lsun/tools/java/MemberDefinition;)Z
ifeq 10
7: iconst_2
aload 0
iload 1
aload 2
aload 3
invokespecial sun.tools.tree.NaryExpression.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
iadd
8: ireturn
9: StackMap locals: sun.tools.tree.NewInstanceExpression int sun.tools.java.Environment sun.tools.tree.Context sun.tools.java.ClassDefinition
StackMap stack: sun.tools.java.ClassNotFound
pop
10: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 4 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/NewInstanceExpression;
0 11 1 thresh I
0 11 2 env Lsun/tools/java/Environment;
0 11 3 ctx Lsun/tools/tree/Context;
5 11 4 sourceClass Lsun/tools/java/ClassDefinition;
Exception table:
from to target type
5 8 9 Class sun.tools.java.ClassNotFound
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=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
invokevirtual sun.tools.tree.NewInstanceExpression.codeCommon:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
1: return
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/NewInstanceExpression;
0 2 1 env Lsun/tools/java/Environment;
0 2 2 ctx Lsun/tools/tree/Context;
0 2 3 asm Lsun/tools/asm/Assembler;
MethodParameters:
Name Flags
env
ctx
asm
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=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_1
invokevirtual sun.tools.tree.NewInstanceExpression.codeCommon:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
1: return
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/NewInstanceExpression;
0 2 1 env Lsun/tools/java/Environment;
0 2 2 ctx Lsun/tools/tree/Context;
0 2 3 asm Lsun/tools/asm/Assembler;
MethodParameters:
Name Flags
env
ctx
asm
private void codeCommon(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, boolean);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
sipush 187
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDeclaration:()Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
1: iload 4
ifeq 3
2: aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
bipush 89
invokevirtual sun.tools.asm.Assembler.add:(JI)V
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
astore 5
start local 5 4: aload 5
invokevirtual sun.tools.java.ClassDefinition.getReferencesFrozen:()Lsun/tools/tree/UplevelReference;
astore 6
start local 6 5: aload 6
ifnull 7
6: aload 6
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.tree.UplevelReference.codeArguments:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;JLsun/tools/java/MemberDefinition;)V
7: StackMap locals: sun.tools.java.ClassDefinition sun.tools.tree.UplevelReference
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 21
8: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
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
9: aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
lookupswitch { // 4
46: 11
49: 10
82: 10
83: 10
default: 14
}
10: StackMap locals:
StackMap stack:
goto 21
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.outerArg:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.FieldExpression
getfield sun.tools.tree.FieldExpression.field:Lsun/tools/java/MemberDefinition;
astore 7
start local 7 12: aload 7
ifnull 14
aload 7
invokevirtual sun.tools.java.MemberDefinition.isNeverNull:()Z
ifeq 14
13: goto 21
end local 7 14: StackMap locals:
StackMap stack:
aload 1
getstatic sun.tools.tree.NewInstanceExpression.idJavaLangObject:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Environment.getClassDefinition:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDefinition;
astore 7
start local 7 15: aload 7
getstatic sun.tools.tree.NewInstanceExpression.idGetClass:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.ClassDefinition.getFirstMatch:(Lsun/tools/java/Identifier;)Lsun/tools/java/MemberDefinition;
astore 8
start local 8 16: aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
bipush 89
invokevirtual sun.tools.asm.Assembler.add:(JI)V
17: aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
sipush 182
aload 8
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
18: aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
bipush 87
invokevirtual sun.tools.asm.Assembler.add:(JI)V
end local 8 end local 7 19: goto 21
StackMap locals:
StackMap stack: sun.tools.java.ClassNotFound
20: pop
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.implMethod:Lsun/tools/java/MemberDefinition;
ifnull 23
22: aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
iconst_1
invokevirtual sun.tools.asm.Assembler.add:(JI)V
23: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 24: goto 27
25: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
iload 7
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
26: iinc 7 1
StackMap locals:
StackMap stack:
27: iload 7
aload 0
getfield sun.tools.tree.NewInstanceExpression.args:[Lsun/tools/tree/Expression;
arraylength
if_icmplt 25
end local 7 28: aload 3
aload 0
getfield sun.tools.tree.NewInstanceExpression.where:J
sipush 183
29: aload 0
getfield sun.tools.tree.NewInstanceExpression.implMethod:Lsun/tools/java/MemberDefinition;
ifnull 30
aload 0
getfield sun.tools.tree.NewInstanceExpression.implMethod:Lsun/tools/java/MemberDefinition;
goto 31
StackMap locals: sun.tools.tree.NewInstanceExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int sun.tools.java.ClassDefinition sun.tools.tree.UplevelReference
StackMap stack: sun.tools.asm.Assembler long int
30: aload 0
getfield sun.tools.tree.NewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
31: StackMap locals: sun.tools.tree.NewInstanceExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler int sun.tools.java.ClassDefinition sun.tools.tree.UplevelReference
StackMap stack: sun.tools.asm.Assembler long int sun.tools.java.MemberDefinition
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
32: return
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 33 0 this Lsun/tools/tree/NewInstanceExpression;
0 33 1 env Lsun/tools/java/Environment;
0 33 2 ctx Lsun/tools/tree/Context;
0 33 3 asm Lsun/tools/asm/Assembler;
0 33 4 forValue Z
4 33 5 refc Lsun/tools/java/ClassDefinition;
5 33 6 r Lsun/tools/tree/UplevelReference;
12 14 7 f Lsun/tools/java/MemberDefinition;
15 19 7 c Lsun/tools/java/ClassDefinition;
16 19 8 getc Lsun/tools/java/MemberDefinition;
24 28 7 i I
Exception table:
from to target type
14 19 20 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
env
ctx
asm
forValue
}
SourceFile: "NewInstanceExpression.java"