public class sun.tools.tree.InstanceOfExpression extends sun.tools.tree.BinaryExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.InstanceOfExpression
super_class: sun.tools.tree.BinaryExpression
{
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 25
lload 1
getstatic sun.tools.java.Type.tBoolean:Lsun/tools/java/Type;
aload 3
aload 4
invokespecial sun.tools.tree.BinaryExpression.<init>:(IJLsun/tools/java/Type;Lsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
1: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/InstanceOfExpression;
0 2 1 where J
0 2 3 left Lsun/tools/tree/Expression;
0 2 4 right Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
where
left
right
public sun.tools.tree.Vset checkValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
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=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.tools.tree.InstanceOfExpression.left: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
1: aload 0
new sun.tools.tree.TypeExpression
dup
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
aload 0
getfield sun.tools.tree.InstanceOfExpression.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.InstanceOfExpression.right:Lsun/tools/tree/Expression;
2: aload 0
getfield sun.tools.tree.InstanceOfExpression.right: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 3
aload 0
getfield sun.tools.tree.InstanceOfExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 4
3: StackMap locals:
StackMap stack:
aload 3
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
sipush 1536
invokevirtual sun.tools.java.Type.inMask:(I)Z
ifne 7
5: aload 1
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
ldc "invalid.arg.type"
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
getstatic sun.tools.tree.InstanceOfExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.InstanceOfExpression.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 3
areturn
7: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.tools.tree.InstanceOfExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.explicitCast:(Lsun/tools/java/Type;Lsun/tools/java/Type;)Z
ifne 12
8: aload 1
aload 0
getfield sun.tools.tree.InstanceOfExpression.where:J
ldc "invalid.instanceof"
aload 0
getfield sun.tools.tree.InstanceOfExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: goto 12
StackMap locals:
StackMap stack: sun.tools.java.ClassNotFound
10: astore 5
start local 5 11: aload 1
aload 0
getfield sun.tools.tree.InstanceOfExpression.where:J
ldc "class.not.found"
aload 5
getfield sun.tools.java.ClassNotFound.name:Lsun/tools/java/Identifier;
getstatic sun.tools.tree.InstanceOfExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.InstanceOfExpression.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 12: 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 13 0 this Lsun/tools/tree/InstanceOfExpression;
0 13 1 env Lsun/tools/java/Environment;
0 13 2 ctx Lsun/tools/tree/Context;
0 13 3 vset Lsun/tools/tree/Vset;
0 13 4 exp Ljava/util/Hashtable;
11 12 5 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
7 9 10 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
env
ctx
vset
exp
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
getfield sun.tools.tree.InstanceOfExpression.left: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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/InstanceOfExpression;
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=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield sun.tools.tree.InstanceOfExpression.left: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.InstanceOfExpression.left:Lsun/tools/tree/Expression;
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/InstanceOfExpression;
0 2 1 env Lsun/tools/java/Environment;
0 2 2 ctx Lsun/tools/tree/Context;
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 3
ifnonnull 2
1: iconst_1
aload 0
getfield sun.tools.tree.InstanceOfExpression.left:Lsun/tools/tree/Expression;
iload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
iadd
ireturn
2: 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 3: aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 9
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 5
4: aload 4
aload 2
aload 2
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDefinition.permitInlinedAccess:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 8
5: StackMap locals: sun.tools.java.ClassDefinition
StackMap stack:
iconst_1
aload 0
getfield sun.tools.tree.InstanceOfExpression.left:Lsun/tools/tree/Expression;
iload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
iadd
6: ireturn
7: StackMap locals:
StackMap stack: sun.tools.java.ClassNotFound
pop
8: 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 9 0 this Lsun/tools/tree/InstanceOfExpression;
0 9 1 thresh I
0 9 2 env Lsun/tools/java/Environment;
0 9 3 ctx Lsun/tools/tree/Context;
3 9 4 sourceClass Lsun/tools/java/ClassDefinition;
Exception table:
from to target type
3 6 7 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
thresh
env
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=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.tools.tree.InstanceOfExpression.left: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
1: aload 0
getfield sun.tools.tree.InstanceOfExpression.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 4
2: aload 3
aload 0
getfield sun.tools.tree.InstanceOfExpression.where:J
sipush 193
aload 1
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.getClassDeclaration:(Lsun/tools/java/Type;)Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.tools.tree.InstanceOfExpression.where:J
sipush 193
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/InstanceOfExpression;
0 6 1 env Lsun/tools/java/Environment;
0 6 2 ctx Lsun/tools/tree/Context;
0 6 3 asm Lsun/tools/asm/Assembler;
MethodParameters:
Name Flags
env
ctx
asm
void codeBranch(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, sun.tools.asm.Label, boolean);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/asm/Label;Z)V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.InstanceOfExpression.codeValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
1: aload 3
aload 0
getfield sun.tools.tree.InstanceOfExpression.where:J
iload 5
ifeq 2
sipush 154
goto 3
StackMap locals: sun.tools.tree.InstanceOfExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler sun.tools.asm.Label int
StackMap stack: sun.tools.asm.Assembler long
2: sipush 153
StackMap locals: sun.tools.tree.InstanceOfExpression sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler sun.tools.asm.Label int
StackMap stack: sun.tools.asm.Assembler long int
3: aload 4
iload 5
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;Z)V
4: 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 5 0 this Lsun/tools/tree/InstanceOfExpression;
0 5 1 env Lsun/tools/java/Environment;
0 5 2 ctx Lsun/tools/tree/Context;
0 5 3 asm Lsun/tools/asm/Assembler;
0 5 4 lbl Lsun/tools/asm/Label;
0 5 5 whenTrue Z
MethodParameters:
Name Flags
env
ctx
asm
lbl
whenTrue
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=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.tools.tree.InstanceOfExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)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/InstanceOfExpression;
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=2, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.tree.InstanceOfExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.InstanceOfExpression.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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 0
getfield sun.tools.tree.InstanceOfExpression.left:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
2: aload 1
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
3: aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
sipush 147
if_icmpne 6
4: aload 1
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.InstanceOfExpression.right:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
7: StackMap locals:
StackMap stack:
aload 1
ldc ")"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/tree/InstanceOfExpression;
0 9 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
}
SourceFile: "InstanceOfExpression.java"