public class sun.tools.tree.InlineNewInstanceExpression extends sun.tools.tree.Expression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.InlineNewInstanceExpression
super_class: sun.tools.tree.Expression
{
sun.tools.java.MemberDefinition field;
descriptor: Lsun/tools/java/MemberDefinition;
flags: (0x0000)
sun.tools.tree.Statement body;
descriptor: Lsun/tools/tree/Statement;
flags: (0x0000)
void <init>(long, sun.tools.java.Type, sun.tools.java.MemberDefinition, sun.tools.tree.Statement);
descriptor: (JLsun/tools/java/Type;Lsun/tools/java/MemberDefinition;Lsun/tools/tree/Statement;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
sipush 151
lload 1
aload 3
invokespecial sun.tools.tree.Expression.<init>:(IJLsun/tools/java/Type;)V
1: aload 0
aload 4
putfield sun.tools.tree.InlineNewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
2: aload 0
aload 5
putfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
3: return
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/InlineNewInstanceExpression;
0 4 1 where J
0 4 3 type Lsun/tools/java/Type;
0 4 4 field Lsun/tools/java/MemberDefinition;
0 4 5 body Lsun/tools/tree/Statement;
MethodParameters:
Name Flags
where
type
field
body
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.InlineNewInstanceExpression.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/InlineNewInstanceExpression;
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=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
ifnull 5
1: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getArguments:()Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.tools.tree.LocalMember
astore 3
start local 3 2: new sun.tools.tree.Context
dup
aload 2
aload 0
invokespecial sun.tools.tree.Context.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Node;)V
astore 4
start local 4 3: aload 4
aload 1
aload 3
invokevirtual sun.tools.tree.Context.declare:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)I
pop
4: aload 0
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
aload 1
aload 4
invokevirtual sun.tools.tree.Statement.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
putfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
end local 4 end local 3 5: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
ifnull 7
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
getfield sun.tools.tree.Statement.op:I
sipush 149
if_icmpne 7
6: aload 0
aconst_null
putfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/tree/InlineNewInstanceExpression;
0 8 1 env Lsun/tools/java/Environment;
0 8 2 ctx Lsun/tools/tree/Context;
2 5 3 v Lsun/tools/tree/LocalMember;
3 5 4 newctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
env
ctx
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=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.tools.tree.InlineNewInstanceExpression.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.InlineNewInstanceExpression
astore 2
start local 2 1: aload 2
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
aload 1
iconst_1
invokevirtual sun.tools.tree.Statement.copyInline:(Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
putfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/InlineNewInstanceExpression;
0 3 1 ctx Lsun/tools/tree/Context;
1 3 2 e Lsun/tools/tree/InlineNewInstanceExpression;
MethodParameters:
Name Flags
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.InlineNewInstanceExpression.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/InlineNewInstanceExpression;
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.InlineNewInstanceExpression.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/InlineNewInstanceExpression;
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=5, locals=7, 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.InlineNewInstanceExpression.where:J
sipush 187
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.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: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
ifnull 10
2: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getArguments:()Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.tools.tree.LocalMember
astore 5
start local 5 3: 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 6
start local 6 4: aload 6
aload 1
aload 5
invokevirtual sun.tools.tree.CodeContext.declare:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)I
pop
5: aload 3
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.where:J
bipush 58
aload 5
getfield sun.tools.tree.LocalMember.number:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
6: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
aload 1
aload 6
aload 3
invokevirtual sun.tools.tree.Statement.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
7: aload 3
aload 6
getfield sun.tools.tree.CodeContext.breakLabel:Lsun/tools/asm/Label;
invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
8: iload 4
ifeq 10
9: aload 3
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.where:J
bipush 25
aload 5
getfield sun.tools.tree.LocalMember.number:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
end local 6 end local 5 10: StackMap locals:
StackMap stack:
return
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/InlineNewInstanceExpression;
0 11 1 env Lsun/tools/java/Environment;
0 11 2 ctx Lsun/tools/tree/Context;
0 11 3 asm Lsun/tools/asm/Assembler;
0 11 4 forValue Z
3 10 5 v Lsun/tools/tree/LocalMember;
4 10 6 newctx Lsun/tools/tree/CodeContext;
MethodParameters:
Name Flags
env
ctx
asm
forValue
public void print(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getArguments:()Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.tools.tree.LocalMember
astore 2
start local 2 1: aload 1
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.tree.InlineNewInstanceExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.op:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Object.hashCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual java.lang.Object.hashCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
ifnull 5
3: aload 0
getfield sun.tools.tree.InlineNewInstanceExpression.body:Lsun/tools/tree/Statement;
aload 1
iconst_1
invokevirtual sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
4: goto 6
5: StackMap locals: sun.tools.tree.LocalMember
StackMap stack:
aload 1
ldc "<empty>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 1
ldc ")"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/tree/InlineNewInstanceExpression;
0 8 1 out Ljava/io/PrintStream;
1 8 2 v Lsun/tools/tree/LocalMember;
MethodParameters:
Name Flags
out
}
SourceFile: "InlineNewInstanceExpression.java"