class com.sun.tools.javac.comp.Operators$BinaryEqualityOperator extends com.sun.tools.javac.comp.Operators$BinaryOperatorHelper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.Operators$BinaryEqualityOperator
super_class: com.sun.tools.javac.comp.Operators$BinaryOperatorHelper
{
final com.sun.tools.javac.comp.Operators this$0;
descriptor: Lcom/sun/tools/javac/comp/Operators;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.Operators, com.sun.tools.javac.tree.JCTree$Tag);
descriptor: (Lcom/sun/tools/javac/comp/Operators;Lcom/sun/tools/javac/tree/JCTree$Tag;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.this$0:Lcom/sun/tools/javac/comp/Operators;
1: aload 0
aload 1
aload 2
invokespecial com.sun.tools.javac.comp.Operators$BinaryOperatorHelper.<init>:(Lcom/sun/tools/javac/comp/Operators;Lcom/sun/tools/javac/tree/JCTree$Tag;)V
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Operators$BinaryEqualityOperator;
0 3 2 tag Lcom/sun/tools/javac/tree/JCTree$Tag;
MethodParameters:
Name Flags
this$0 final
tag
public boolean test(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
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 com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.getKind:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.INVALID:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Operators$BinaryEqualityOperator;
0 2 1 arg1 Lcom/sun/tools/javac/code/Type;
0 2 2 arg2 Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
arg1
arg2
public com.sun.tools.javac.code.Symbol$OperatorSymbol resolve(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.getKind:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
astore 3
start local 3 1: aload 3
getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.NUMERIC_OR_BOOLEAN:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
if_acmpne 3
2: aload 0
getfield com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.this$0:Lcom/sun/tools/javac/comp/Operators;
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Operators.binaryPromotion:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
goto 4
3: StackMap locals: com.sun.tools.javac.comp.Operators$ComparisonKind
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.this$0:Lcom/sun/tools/javac/comp/Operators;
getfield com.sun.tools.javac.comp.Operators.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
4: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 4
start local 4 5: aload 0
aload 4
aload 4
invokevirtual com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.doLookup:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/comp/Operators$BinaryEqualityOperator;
0 6 1 t1 Lcom/sun/tools/javac/code/Type;
0 6 2 t2 Lcom/sun/tools/javac/code/Type;
1 6 3 kind Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
5 6 4 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t1
t2
private com.sun.tools.javac.comp.Operators$ComparisonKind getKind(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
istore 3
start local 3 1: aload 2
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
istore 4
start local 4 2: iload 3
ifeq 4
iload 4
ifeq 4
3: getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.NUMERIC_OR_BOOLEAN:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
areturn
4: StackMap locals: int int
StackMap stack:
iload 3
ifeq 9
5: aload 0
getfield com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.this$0:Lcom/sun/tools/javac/comp/Operators;
aload 2
invokevirtual com.sun.tools.javac.comp.Operators.unaryPromotion:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 7
6: getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.NUMERIC_OR_BOOLEAN:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
goto 8
StackMap locals:
StackMap stack:
7: getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.INVALID:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
8: StackMap locals:
StackMap stack: com.sun.tools.javac.comp.Operators$ComparisonKind
areturn
9: StackMap locals:
StackMap stack:
iload 4
ifeq 14
10: aload 0
getfield com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.this$0:Lcom/sun/tools/javac/comp/Operators;
aload 1
invokevirtual com.sun.tools.javac.comp.Operators.unaryPromotion:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifeq 12
11: getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.NUMERIC_OR_BOOLEAN:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
goto 13
StackMap locals:
StackMap stack:
12: getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.INVALID:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
13: StackMap locals:
StackMap stack: com.sun.tools.javac.comp.Operators$ComparisonKind
areturn
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Type.isNullOrReference:()Z
ifeq 16
aload 2
invokevirtual com.sun.tools.javac.code.Type.isNullOrReference:()Z
ifeq 16
15: getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.REFERENCE:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
goto 17
StackMap locals:
StackMap stack:
16: getstatic com.sun.tools.javac.comp.Operators$ComparisonKind.INVALID:Lcom/sun/tools/javac/comp/Operators$ComparisonKind;
17: StackMap locals:
StackMap stack: com.sun.tools.javac.comp.Operators$ComparisonKind
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javac/comp/Operators$BinaryEqualityOperator;
0 18 1 arg1 Lcom/sun/tools/javac/code/Type;
0 18 2 arg2 Lcom/sun/tools/javac/code/Type;
1 18 3 arg1Primitive Z
2 18 4 arg2Primitive Z
MethodParameters:
Name Flags
arg1
arg2
public boolean test(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast com.sun.tools.javac.code.Type
aload 2
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.comp.Operators$BinaryEqualityOperator.test:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Operators.java"
NestHost: com.sun.tools.javac.comp.Operators
InnerClasses:
public OperatorSymbol = com.sun.tools.javac.code.Symbol$OperatorSymbol of com.sun.tools.javac.code.Symbol
BinaryEqualityOperator = com.sun.tools.javac.comp.Operators$BinaryEqualityOperator of com.sun.tools.javac.comp.Operators
abstract BinaryOperatorHelper = com.sun.tools.javac.comp.Operators$BinaryOperatorHelper of com.sun.tools.javac.comp.Operators
final ComparisonKind = com.sun.tools.javac.comp.Operators$ComparisonKind of com.sun.tools.javac.comp.Operators
public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree