public class sun.tools.tree.ThisExpression extends sun.tools.tree.Expression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.ThisExpression
super_class: sun.tools.tree.Expression
{
sun.tools.tree.LocalMember field;
descriptor: Lsun/tools/tree/LocalMember;
flags: (0x0000)
sun.tools.tree.Expression implementation;
descriptor: Lsun/tools/tree/Expression;
flags: (0x0000)
sun.tools.tree.Expression outerArg;
descriptor: Lsun/tools/tree/Expression;
flags: (0x0000)
public void <init>(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
bipush 82
lload 1
getstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
invokespecial sun.tools.tree.Expression.<init>:(IJLsun/tools/java/Type;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/ThisExpression;
0 2 1 where J
MethodParameters:
Name Flags
where
protected void <init>(int, long);
descriptor: (IJ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
lload 2
getstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
invokespecial sun.tools.tree.Expression.<init>:(IJLsun/tools/java/Type;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/ThisExpression;
0 2 1 op I
0 2 2 where J
MethodParameters:
Name Flags
op
where
public void <init>(long, sun.tools.tree.LocalMember);
descriptor: (JLsun/tools/tree/LocalMember;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
bipush 82
lload 1
getstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
invokespecial sun.tools.tree.Expression.<init>:(IJLsun/tools/java/Type;)V
1: aload 0
aload 3
putfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
2: aload 3
dup
getfield sun.tools.tree.LocalMember.readcount:I
iconst_1
iadd
putfield sun.tools.tree.LocalMember.readcount:I
3: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/tree/ThisExpression;
0 4 1 where J
0 4 3 field Lsun/tools/tree/LocalMember;
MethodParameters:
Name Flags
where
field
public void <init>(long, sun.tools.tree.Context);
descriptor: (JLsun/tools/tree/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
bipush 82
lload 1
getstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
invokespecial sun.tools.tree.Expression.<init>:(IJLsun/tools/java/Type;)V
1: aload 0
aload 3
getstatic sun.tools.tree.ThisExpression.idThis:Lsun/tools/java/Identifier;
invokevirtual sun.tools.tree.Context.getLocalField:(Lsun/tools/java/Identifier;)Lsun/tools/tree/LocalMember;
putfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
2: aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
dup
getfield sun.tools.tree.LocalMember.readcount:I
iconst_1
iadd
putfield sun.tools.tree.LocalMember.readcount:I
3: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/tree/ThisExpression;
0 4 1 where J
0 4 3 ctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
where
ctx
public void <init>(long, sun.tools.tree.Expression);
descriptor: (JLsun/tools/tree/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
invokespecial sun.tools.tree.ThisExpression.<init>:(J)V
1: aload 0
aload 3
putfield sun.tools.tree.ThisExpression.outerArg:Lsun/tools/tree/Expression;
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/ThisExpression;
0 3 1 where J
0 3 3 outerArg Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
where
outerArg
public sun.tools.tree.Expression getImplementation();
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.ThisExpression.implementation:Lsun/tools/tree/Expression;
ifnull 2
1: aload 0
getfield sun.tools.tree.ThisExpression.implementation:Lsun/tools/tree/Expression;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/ThisExpression;
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.ThisExpression.outerArg:Lsun/tools/tree/Expression;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/ThisExpression;
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=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.isStatic:()Z
ifeq 4
1: aload 1
aload 0
getfield sun.tools.tree.ThisExpression.where:J
ldc "undef.var"
getstatic sun.tools.tree.ThisExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.ThisExpression.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
2: aload 0
getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
putfield sun.tools.tree.ThisExpression.type:Lsun/tools/java/Type;
3: aload 3
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
ifnonnull 7
5: aload 0
aload 2
getstatic sun.tools.tree.ThisExpression.idThis:Lsun/tools/java/Identifier;
invokevirtual sun.tools.tree.Context.getLocalField:(Lsun/tools/java/Identifier;)Lsun/tools/tree/LocalMember;
putfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
6: aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
dup
getfield sun.tools.tree.LocalMember.readcount:I
iconst_1
iadd
putfield sun.tools.tree.LocalMember.readcount:I
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
getfield sun.tools.tree.LocalMember.scopeNumber:I
aload 2
getfield sun.tools.tree.Context.frameNumber:I
if_icmpge 9
8: aload 0
aload 2
aload 1
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.Context.makeReference:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.ThisExpression.implementation:Lsun/tools/tree/Expression;
9: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
getfield sun.tools.tree.LocalMember.number:I
invokevirtual sun.tools.tree.Vset.testVar:(I)Z
ifne 11
10: aload 1
aload 0
getfield sun.tools.tree.ThisExpression.where:J
ldc "access.inst.before.super"
getstatic sun.tools.tree.ThisExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.ThisExpression.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
ifnonnull 14
12: aload 0
aload 2
getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.getClassDeclaration:()Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDeclaration.getType:()Lsun/tools/java/Type;
putfield sun.tools.tree.ThisExpression.type:Lsun/tools/java/Type;
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.LocalMember.getType:()Lsun/tools/java/Type;
putfield sun.tools.tree.ThisExpression.type:Lsun/tools/java/Type;
15: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/tools/tree/ThisExpression;
0 16 1 env Lsun/tools/java/Environment;
0 16 2 ctx Lsun/tools/tree/Context;
0 16 3 vset Lsun/tools/tree/Vset;
0 16 4 exp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
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 boolean isNonNull();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/ThisExpression;
public sun.tools.tree.FieldUpdater getAssigner(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/ThisExpression;
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.FieldUpdater getUpdater(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/ThisExpression;
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=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.tree.ThisExpression.implementation:Lsun/tools/tree/Expression;
ifnull 2
1: aload 0
getfield sun.tools.tree.ThisExpression.implementation: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;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
ifnull 8
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
aload 1
iconst_0
invokevirtual sun.tools.tree.LocalMember.isInlineable:(Lsun/tools/java/Environment;Z)Z
ifeq 8
3: aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
aload 1
invokevirtual sun.tools.tree.LocalMember.getValue:(Lsun/tools/java/Environment;)Lsun/tools/tree/Node;
checkcast sun.tools.tree.Expression
astore 3
start local 3 4: aload 3
ifnull 8
5: aload 3
aload 2
invokevirtual sun.tools.tree.Expression.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
astore 3
6: aload 3
aload 0
getfield sun.tools.tree.ThisExpression.type:Lsun/tools/java/Type;
putfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
7: aload 3
areturn
end local 3 8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/tree/ThisExpression;
0 9 1 env Lsun/tools/java/Environment;
0 9 2 ctx Lsun/tools/tree/Context;
4 8 3 e Lsun/tools/tree/Expression;
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=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.tree.ThisExpression.implementation:Lsun/tools/tree/Expression;
ifnull 2
1: aload 0
getfield sun.tools.tree.ThisExpression.implementation:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.tree.ThisExpression.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.ThisExpression
astore 2
start local 2 3: aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
ifnonnull 7
4: aload 2
aload 1
getstatic sun.tools.tree.ThisExpression.idThis:Lsun/tools/java/Identifier;
invokevirtual sun.tools.tree.Context.getLocalField:(Lsun/tools/java/Identifier;)Lsun/tools/tree/LocalMember;
putfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
5: aload 2
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
dup
getfield sun.tools.tree.LocalMember.readcount:I
iconst_1
iadd
putfield sun.tools.tree.LocalMember.readcount:I
6: goto 8
7: StackMap locals: sun.tools.tree.ThisExpression
StackMap stack:
aload 2
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
aload 1
invokevirtual sun.tools.tree.LocalMember.getCurrentInlineCopy:(Lsun/tools/tree/Context;)Lsun/tools/tree/LocalMember;
putfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ThisExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 10
9: aload 2
aload 0
getfield sun.tools.tree.ThisExpression.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.ThisExpression.outerArg:Lsun/tools/tree/Expression;
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/tools/tree/ThisExpression;
0 11 1 ctx Lsun/tools/tree/Context;
3 11 2 e Lsun/tools/tree/ThisExpression;
MethodParameters:
Name Flags
ctx
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 3
aload 0
getfield sun.tools.tree.ThisExpression.where:J
bipush 25
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
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
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/ThisExpression;
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 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.ThisExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 4
1: aload 1
ldc "(outer="
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: aload 0
getfield sun.tools.tree.ThisExpression.outerArg:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
3: aload 1
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
ifnonnull 5
ldc ""
goto 6
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
invokevirtual sun.tools.tree.LocalMember.getClassDefinition:()Lsun/tools/java/ClassDefinition;
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getFlatName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: StackMap locals:
StackMap stack: java.lang.String
astore 2
start local 2 7: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.tree.ThisExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.ThisExpression.op:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
8: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
ifnull 9
aload 0
getfield sun.tools.tree.ThisExpression.field:Lsun/tools/tree/LocalMember;
invokevirtual java.lang.Object.hashCode:()I
goto 10
StackMap locals: sun.tools.tree.ThisExpression java.io.PrintStream java.lang.String
StackMap stack: java.io.PrintStream java.lang.StringBuilder
9: iconst_0
StackMap locals: sun.tools.tree.ThisExpression java.io.PrintStream java.lang.String
StackMap stack: java.io.PrintStream java.lang.StringBuilder int
10: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
11: aload 0
getfield sun.tools.tree.ThisExpression.outerArg:Lsun/tools/tree/Expression;
ifnull 13
12: aload 1
ldc ")"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/tools/tree/ThisExpression;
0 14 1 out Ljava/io/PrintStream;
7 14 2 pfx Ljava/lang/String;
MethodParameters:
Name Flags
out
}
SourceFile: "ThisExpression.java"