public class org.eclipse.jdt.internal.compiler.ast.EqualExpression extends org.eclipse.jdt.internal.compiler.ast.BinaryExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.ast.EqualExpression
super_class: org.eclipse.jdt.internal.compiler.ast.BinaryExpression
{
public void <init>(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.ast.Expression, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/Expression;I)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
aload 1
aload 2
iload 3
invokespecial org.eclipse.jdt.internal.compiler.ast.BinaryExpression.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/Expression;I)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 Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 2 1 left Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 2 2 right Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 2 3 operator I
MethodParameters:
Name Flags
left
right
operator
private void checkNullComparison(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 3
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.nullStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
istore 6
start local 6 1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 3
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.nullStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
istore 7
start local 7 2: iconst_0
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 18
if_icmpne 5
iconst_1
goto 6
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo int int int int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 10
start local 10 7: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
ldc 61440
iand
ifne 13
8: iload 7
iconst_4
if_icmpne 11
iload 6
iconst_2
if_icmpne 11
9: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.expressionNonNullComparison:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Z)Z
istore 8
10: goto 13
StackMap locals: int
StackMap stack:
11: iload 7
iconst_2
if_icmpne 13
iload 6
iconst_4
if_icmpne 13
12: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.expressionNonNullComparison:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Z)Z
istore 9
13: StackMap locals:
StackMap stack:
iload 10
aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
iconst_4
iand
ifeq 14
iconst_1
goto 15
StackMap locals:
StackMap stack: int
14: iconst_0
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo int int int int int
StackMap stack: int int
15: ixor
istore 11
start local 11 16: iload 8
ifne 29
17: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 12
start local 12 18: aload 12
ifnull 22
19: aload 12
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
ldc 2
land
lconst_0
lcmp
ifne 29
20: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 12
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.checkVariableComparison:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;ILorg/eclipse/jdt/internal/compiler/ast/Expression;)V
21: goto 29
StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
22: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.Reference
ifeq 29
23: iload 11
ifne 24
iload 6
iconst_2
if_icmpeq 25
24: StackMap locals:
StackMap stack:
iload 11
ifeq 29
iload 6
iconst_4
if_icmpne 29
25: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.enableSyntacticNullAnalysisForFields:Z
ifeq 29
26: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.Reference
invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.lastFieldBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
astore 13
start local 13 27: aload 13
ifnull 29
aload 13
getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
ldc 2
land
lconst_0
lcmp
ifne 29
28: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.Reference
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordNullCheckedFieldReference:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;I)V
end local 13 end local 12 29: StackMap locals:
StackMap stack:
iload 9
ifne 42
30: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 12
start local 12 31: aload 12
ifnull 35
32: aload 12
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
ldc 2
land
lconst_0
lcmp
ifne 42
33: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 12
iload 7
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.checkVariableComparison:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;ILorg/eclipse/jdt/internal/compiler/ast/Expression;)V
34: goto 42
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
35: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.Reference
ifeq 42
36: iload 11
ifne 37
iload 7
iconst_2
if_icmpeq 38
37: StackMap locals:
StackMap stack:
iload 11
ifeq 42
iload 7
iconst_4
if_icmpne 42
38: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.enableSyntacticNullAnalysisForFields:Z
ifeq 42
39: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.Reference
invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.lastFieldBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
astore 13
start local 13 40: aload 13
ifnull 42
aload 13
getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
ldc 2
land
lconst_0
lcmp
ifne 42
41: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.Reference
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordNullCheckedFieldReference:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;I)V
end local 13 end local 12 42: StackMap locals:
StackMap stack:
iload 8
ifne 43
iload 9
ifeq 47
43: StackMap locals:
StackMap stack:
iload 10
ifeq 46
44: aload 4
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
45: goto 47
46: StackMap locals:
StackMap stack:
aload 5
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
47: StackMap locals:
StackMap stack:
return
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 48 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 48 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 48 2 flowContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 48 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 48 4 initsWhenTrue Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 48 5 initsWhenFalse Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
1 48 6 rightStatus I
2 48 7 leftStatus I
3 48 8 leftNonNullChecked Z
4 48 9 rightNonNullChecked Z
7 48 10 checkEquality Z
16 48 11 contextualCheckEquality Z
18 29 12 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
27 29 13 field Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
31 42 12 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
40 42 13 field Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
MethodParameters:
Name Flags
scope
flowContext
flowInfo
initsWhenTrue
initsWhenFalse
private void checkVariableComparison(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, int, org.eclipse.jdt.internal.compiler.ast.Expression);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;ILorg/eclipse/jdt/internal/compiler/ast/Expression;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: iload 7
tableswitch { // 2 - 4
2: 1
3: 23
4: 14
default: 23
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 18
if_icmpne 8
2: aload 2
aload 1
aload 6
aload 8
3: sipush 256
aload 3
4: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUsingNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
5: aload 4
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
6: aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
7: goto 23
8: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 6
aload 8
9: sipush 512
aload 3
10: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUsingNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
11: aload 4
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
12: aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
13: goto 23
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 18
if_icmpne 20
15: aload 2
aload 1
aload 6
aload 8
16: sipush 513
aload 3
17: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUsingNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
18: aload 4
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
19: goto 23
20: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 6
aload 8
21: sipush 257
aload 3
22: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUsingNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
23: StackMap locals:
StackMap stack:
return
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 24 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 24 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 24 2 flowContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 24 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 24 4 initsWhenTrue Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 24 5 initsWhenFalse Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 24 6 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
0 24 7 nullStatus I
0 24 8 reference Lorg/eclipse/jdt/internal/compiler/ast/Expression;
MethodParameters:
Name Flags
scope
flowContext
flowInfo
initsWhenTrue
initsWhenFalse
local
nullStatus
reference
private void analyzeLocalVariable(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference
ifeq 7
aload 1
getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
iconst_2
iand
ifeq 7
1: aload 1
checkcast org.eclipse.jdt.internal.compiler.ast.SingleNameReference
getfield org.eclipse.jdt.internal.compiler.ast.SingleNameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
checkcast org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
astore 3
start local 3 2: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_3
iand
ifne 5
3: aload 3
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
4: goto 7
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
5: aload 3
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
ifne 7
6: aload 3
iconst_2
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 8 1 exp Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 8 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
2 7 3 localBinding Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
MethodParameters:
Name Flags
exp
flowInfo
public org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 18
if_icmpne 22
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 8
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
iconst_5
if_icmpne 8
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
ifeq 5
3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 4: goto 42
end local 4 5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.asNegatedCondition:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 6: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.analyzeLocalVariable:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
7: goto 42
end local 4 8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 15
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
iconst_5
if_icmpne 15
9: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
ifeq 12
10: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 11: goto 42
end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.asNegatedCondition:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 13: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.analyzeLocalVariable:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
14: goto 42
end local 4 15: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
16: aload 1
aload 2
17: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
18: invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
19: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
20: astore 4
start local 4 21: goto 42
end local 4 22: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 29
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
iconst_5
if_icmpne 29
23: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
ifne 27
24: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 25: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.analyzeLocalVariable:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
26: goto 42
end local 4 27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.asNegatedCondition:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 28: goto 42
end local 4 29: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 36
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
iconst_5
if_icmpne 36
30: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
ifne 34
31: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 32: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.analyzeLocalVariable:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
33: goto 42
end local 4 34: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.asNegatedCondition:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 35: goto 42
end local 4 36: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
37: aload 1
aload 2
38: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
39: invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
40: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
41: astore 4
start local 4 42: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 4
instanceof org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
ifeq 45
43: aload 4
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_3
iand
ifne 45
44: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokestatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.conditional:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
45: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.checkNullComparison:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
46: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 47 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 47 2 flowContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 47 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
4 5 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
6 8 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
11 12 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
13 15 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
21 22 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
25 27 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
28 29 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
32 34 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
35 36 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
42 47 4 result Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
currentScope
flowContext
flowInfo
public final void computeConstant(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 13
1: aload 0
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
3: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
4: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
5: aload 2
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
6: invokestatic org.eclipse.jdt.internal.compiler.impl.Constant.computeConstantOperationEQUAL_EQUAL:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;ILorg/eclipse/jdt/internal/compiler/impl/Constant;I)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
7: putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
8: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 29
if_icmpne 14
9: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
ifeq 10
iconst_0
goto 11
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.ast.EqualExpression
10: iconst_1
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack: org.eclipse.jdt.internal.compiler.ast.EqualExpression int
11: invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 15 1 leftType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 15 2 rightType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
MethodParameters:
Name Flags
leftType
rightType
public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 4
start local 4 1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 6
2: iload 3
ifeq 4
3: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;I)V
4: StackMap locals: int
StackMap stack:
aload 2
iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
bipush 15
iand
iconst_5
if_icmpne 9
7: aload 0
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.generateBooleanEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.generateNonBooleanEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
10: StackMap locals:
StackMap stack:
iload 3
ifeq 12
11: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
12: StackMap locals:
StackMap stack:
aload 2
iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 14 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 14 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 14 3 valueRequired Z
1 14 4 pc I
MethodParameters:
Name Flags
currentScope
codeStream
valueRequired
public void generateOptimizedBoolean(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
flags: (0x0001) ACC_PUBLIC
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
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 3
1: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
invokespecial org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 18
if_icmpne 9
4: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
bipush 15
iand
iconst_5
if_icmpne 7
5: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.generateOptimizedBooleanEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
6: goto 13
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.generateOptimizedNonBooleanEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
8: goto 13
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
bipush 15
iand
iconst_5
if_icmpne 12
10: aload 0
aload 1
aload 2
aload 4
aload 3
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.generateOptimizedBooleanEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
aload 3
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.generateOptimizedNonBooleanEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
13: StackMap locals:
StackMap stack:
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 14 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 14 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 14 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 14 3 trueLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 14 4 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 14 5 valueRequired Z
MethodParameters:
Name Flags
currentScope
codeStream
trueLabel
falseLabel
valueRequired
public void generateBooleanEqual(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 18
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
astore 5
start local 5 4: aload 5
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 48
5: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
astore 6
start local 6 6: aload 6
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 23
7: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
8: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
9: iload 3
ifeq 47
10: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
istore 7
start local 7 11: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
istore 8
start local 8 12: iload 4
ifeq 18
13: iload 7
iload 8
if_icmpne 16
14: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
15: goto 47
16: StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int org.eclipse.jdt.internal.compiler.impl.Constant org.eclipse.jdt.internal.compiler.impl.Constant int int
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
17: goto 47
18: StackMap locals:
StackMap stack:
iload 7
iload 8
if_icmpeq 21
19: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
20: goto 47
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
end local 8 end local 7 22: goto 47
StackMap locals:
StackMap stack:
23: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
iload 4
if_icmpne 27
24: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
25: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
26: goto 47
27: StackMap locals:
StackMap stack:
iload 3
ifeq 45
28: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 7
start local 7 29: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
30: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aconst_null
aload 7
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
31: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
32: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 38
33: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
34: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
35: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
36: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
37: goto 47
38: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 8
start local 8 39: aload 2
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
40: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
41: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
42: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
43: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 8 end local 7 44: goto 47
45: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
46: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
47: StackMap locals:
StackMap stack:
return
end local 6 48: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
astore 5
49: aload 5
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 75
50: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
iload 4
if_icmpne 54
51: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
52: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
53: goto 74
54: StackMap locals:
StackMap stack:
iload 3
ifeq 72
55: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 6
start local 6 56: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aconst_null
aload 6
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
57: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
58: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
59: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 65
60: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
61: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
62: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
63: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
64: goto 74
65: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 7
start local 7 66: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
67: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
68: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
69: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
70: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 7 end local 6 71: goto 74
72: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
73: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
74: StackMap locals:
StackMap stack:
return
75: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
76: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
77: iload 3
ifeq 96
78: iload 4
ifeq 95
79: aload 2
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
dup
astore 6
start local 6 80: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
81: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
82: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 88
83: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
84: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
85: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
86: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
87: goto 96
88: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 7
start local 7 89: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
90: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
91: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
92: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
93: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 7 end local 6 94: goto 96
95: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
96: StackMap locals:
StackMap stack:
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 97 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 97 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 97 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 97 3 valueRequired Z
3 97 4 isEqualOperator Z
4 97 5 cst Lorg/eclipse/jdt/internal/compiler/impl/Constant;
6 48 6 rightCst Lorg/eclipse/jdt/internal/compiler/impl/Constant;
11 22 7 leftBool Z
12 22 8 rightBool Z
29 44 7 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
39 44 8 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
56 71 6 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
66 71 7 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
80 94 6 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
89 94 7 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
MethodParameters:
Name Flags
currentScope
codeStream
valueRequired
public void generateOptimizedBooleanEqual(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 8
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
istore 6
start local 6 2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 6
ifeq 3
aload 3
goto 4
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream
3: aload 4
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel
4: iload 6
ifeq 5
aload 4
goto 6
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel
5: aload 3
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel
6: iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
7: return
end local 6 8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 16
9: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
istore 6
start local 6 10: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 6
ifeq 11
aload 3
goto 12
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream
11: aload 4
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel
12: iload 6
ifeq 13
aload 4
goto 14
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel
13: aload 3
StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int int
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel
14: iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
15: return
end local 6 16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
17: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
18: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 6
start local 6 19: iload 5
ifeq 26
20: aload 4
ifnonnull 24
21: aload 3
ifnull 26
22: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
23: goto 26
24: StackMap locals: int
StackMap stack:
aload 3
ifnonnull 26
25: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
26: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
27: 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 28 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 28 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 28 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 28 3 trueLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 28 4 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 28 5 valueRequired Z
2 8 6 inline Z
10 16 6 inline Z
19 28 6 pc I
MethodParameters:
Name Flags
currentScope
codeStream
trueLabel
falseLabel
valueRequired
public void generateNonBooleanEqual(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
bipush 18
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
bipush 10
if_icmpne 49
4: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
dup
astore 5
start local 5 5: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 27
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
ifne 27
6: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
7: iload 3
ifeq 26
8: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 6
start local 6 9: iload 4
ifeq 12
10: aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
11: goto 13
12: StackMap locals: int org.eclipse.jdt.internal.compiler.impl.Constant org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
13: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
14: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 20
15: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
16: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
17: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
18: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
19: goto 26
20: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 7
start local 7 21: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
22: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
23: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
24: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
25: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 7 end local 6 26: StackMap locals:
StackMap stack:
return
27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
dup
astore 5
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 49
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
ifne 49
28: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
29: iload 3
ifeq 48
30: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 6
start local 6 31: iload 4
ifeq 34
32: aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
33: goto 35
34: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
35: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
36: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 42
37: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
38: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
39: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
40: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
41: goto 48
42: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 7
start local 7 43: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
44: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
45: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
46: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
47: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 7 end local 6 48: StackMap locals:
StackMap stack:
return
end local 5 49: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 78
50: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 57
51: iload 3
ifeq 77
52: iload 4
ifeq 55
53: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
54: goto 77
55: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
56: goto 77
57: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
58: iload 3
ifeq 77
59: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 5
start local 5 60: iload 4
ifeq 63
61: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
62: goto 64
63: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
64: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
65: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 71
66: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
67: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
68: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
69: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
70: goto 77
71: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 6
start local 6 72: aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
73: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
74: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
75: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
76: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 6 end local 5 77: StackMap locals:
StackMap stack:
return
78: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 100
79: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
80: iload 3
ifeq 99
81: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 5
start local 5 82: iload 4
ifeq 85
83: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
84: goto 86
85: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
86: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
87: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 93
88: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
89: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
90: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
91: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
92: goto 99
93: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 6
start local 6 94: aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
95: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
96: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
97: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
98: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 6 end local 5 99: StackMap locals:
StackMap stack:
return
100: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
101: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
102: iload 3
ifeq 145
103: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 5
start local 5 104: iload 4
ifeq 119
105: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 7 - 10
7: 111
8: 114
9: 108
10: 106
default: 117
}
106: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
107: goto 132
108: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
109: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
110: goto 132
111: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
112: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
113: goto 132
114: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
115: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
116: goto 132
117: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
118: goto 132
119: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 7 - 10
7: 125
8: 128
9: 122
10: 120
default: 131
}
120: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
121: goto 132
122: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
123: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
124: goto 132
125: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
126: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
127: goto 132
128: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
129: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
130: goto 132
131: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
132: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
133: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
bipush 16
iand
ifeq 139
134: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
135: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
136: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
137: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
138: goto 145
139: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 6
start local 6 140: aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
141: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
142: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
143: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
144: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 6 end local 5 145: 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 146 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 146 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 146 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 146 3 valueRequired Z
3 146 4 isEqualOperator Z
5 49 5 cst Lorg/eclipse/jdt/internal/compiler/impl/Constant;
9 26 6 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
21 26 7 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
31 48 6 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
43 48 7 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
60 77 5 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
72 77 6 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
82 99 5 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
94 99 6 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
104 145 5 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
140 145 6 endLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
MethodParameters:
Name Flags
currentScope
codeStream
valueRequired
public void generateOptimizedNonBooleanEqual(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 6
start local 6 1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
dup
astore 7
start local 7 2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 14
3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
bipush 10
if_icmpne 14
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
ifne 14
4: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
5: iload 5
ifeq 12
6: aload 4
ifnonnull 10
7: aload 3
ifnull 12
8: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
9: goto 12
10: StackMap locals: int org.eclipse.jdt.internal.compiler.impl.Constant
StackMap stack:
aload 3
ifnonnull 12
11: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
12: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
13: return
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
dup
astore 7
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 27
15: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
bipush 10
if_icmpne 27
16: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
ifne 27
17: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
18: iload 5
ifeq 25
19: aload 4
ifnonnull 23
20: aload 3
ifnull 25
21: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
22: goto 25
23: StackMap locals:
StackMap stack:
aload 3
ifnonnull 25
24: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
25: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
26: return
27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 44
28: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 34
29: iload 5
ifeq 42
30: aload 4
ifnonnull 42
31: aload 3
ifnull 42
32: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
33: goto 42
34: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
35: iload 5
ifeq 42
36: aload 4
ifnonnull 40
37: aload 3
ifnull 42
38: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
39: goto 42
40: StackMap locals:
StackMap stack:
aload 3
ifnonnull 42
41: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
42: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
43: return
44: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 55
45: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
46: iload 5
ifeq 53
47: aload 4
ifnonnull 51
48: aload 3
ifnull 53
49: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
50: goto 53
51: StackMap locals:
StackMap stack:
aload 3
ifnonnull 53
52: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
53: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
54: return
55: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
56: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
57: iload 5
ifeq 88
58: aload 4
ifnonnull 74
59: aload 3
ifnull 88
60: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 7 - 10
7: 66
8: 69
9: 63
10: 61
default: 72
}
61: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
62: goto 88
63: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
64: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
65: goto 88
66: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
67: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
68: goto 88
69: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
70: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
71: goto 88
72: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
73: goto 88
74: StackMap locals:
StackMap stack:
aload 3
ifnonnull 88
75: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 255
iand
iconst_4
ishr
tableswitch { // 7 - 10
7: 81
8: 84
9: 78
10: 76
default: 87
}
76: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
77: goto 88
78: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
79: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
80: goto 88
81: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
82: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
83: goto 88
84: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
85: aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
86: goto 88
87: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
88: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
89: return
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 90 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 90 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 90 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 90 3 trueLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 90 4 falseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 90 5 valueRequired Z
1 90 6 pc I
2 90 7 inline Lorg/eclipse/jdt/internal/compiler/impl/Constant;
MethodParameters:
Name Flags
currentScope
codeStream
trueLabel
falseLabel
valueRequired
public boolean isCompactableOperation();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
protected org.eclipse.jdt.internal.compiler.impl.Constant optimizedNullComparisonConstant();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
istore 1
start local 1 1: iload 1
bipush 18
if_icmpne 4
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 7
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 7
3: iconst_1
invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
areturn
4: StackMap locals: int
StackMap stack:
iload 1
bipush 29
if_icmpne 7
5: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 7
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.NullLiteral
ifeq 7
6: iconst_0
invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
areturn
7: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
1 8 1 operator I
public org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolveType(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=15, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
dup
istore 2
start local 2 1: ifeq 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
dup
getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
bipush 32
ior
putfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 4
start local 4 3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
dup
istore 3
start local 3 4: ifeq 5
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
dup
getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
bipush 32
ior
putfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
5: StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 5
start local 5 6: aload 4
ifnull 7
aload 5
ifnonnull 9
7: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
8: aconst_null
areturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
astore 6
start local 6 10: aload 6
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complainOnUninternedIdentityComparison:Z
ifeq 12
aload 5
bipush 16
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasTypeBit:(I)Z
ifeq 12
aload 4
bipush 16
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasTypeBit:(I)Z
ifeq 12
11: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
aload 4
aload 5
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.referenceCompilationUnit:()Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.uninternedIdentityComparison:(Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;)V
12: StackMap locals: org.eclipse.jdt.internal.compiler.impl.CompilerOptions
StackMap stack:
aload 6
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
ldc 3211264
lcmp
iflt 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 7
start local 7 15: aload 4
astore 8
start local 8 16: aload 5
astore 9
start local 9 17: iload 7
ifeq 24
18: aload 8
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
if_acmpeq 22
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 22
19: aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifne 24
20: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 9
21: goto 24
22: StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
aload 9
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
if_acmpeq 24
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 24
23: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 8
24: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 50
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 50
25: aload 8
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
istore 10
start local 10 26: aload 9
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
istore 11
start local 11 27: getstatic org.eclipse.jdt.internal.compiler.ast.EqualExpression.OperatorSignatures:[[I
bipush 18
aaload
iload 10
iconst_4
ishl
iload 11
iadd
iaload
istore 12
start local 12 28: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 1
iload 12
bipush 16
iushr
bipush 15
iand
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.wellKnownType:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
29: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 1
iload 12
bipush 8
iushr
bipush 15
iand
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.wellKnownType:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
30: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
iload 12
bipush 15
iand
ior
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
31: iload 12
bipush 15
iand
ifne 35
32: aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
33: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
aload 8
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidOperator:(Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
34: aconst_null
areturn
35: StackMap locals: int int int
StackMap stack:
iload 2
ifne 36
iload 3
ifeq 37
36: StackMap locals:
StackMap stack:
aload 1
bipush 18
iload 12
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 8
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
iload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 9
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
iload 3
invokestatic org.eclipse.jdt.internal.compiler.ast.CastExpression.checkNeedForArgumentCasts:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;IILorg/eclipse/jdt/internal/compiler/ast/Expression;IZLorg/eclipse/jdt/internal/compiler/ast/Expression;IZ)V
37: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.computeConstant:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
38: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.getDirectBinding:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
astore 13
start local 13 39: aload 13
ifnull 44
aload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.getDirectBinding:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
if_acmpne 44
40: iload 10
bipush 8
if_icmpeq 49
iload 10
bipush 9
if_icmpeq 49
41: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.Assignment
ifne 49
42: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.comparingIdenticalExpressions:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
43: goto 49
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Binding
StackMap stack:
44: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 49
45: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
sipush 4032
iand
bipush 6
ishr
istore 14
start local 14 46: iload 14
bipush 18
if_icmpne 47
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
iconst_1
invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 48
47: StackMap locals: int
StackMap stack:
iload 14
bipush 29
if_icmpne 49
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
iconst_0
invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpne 49
48: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.comparingIdenticalExpressions:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
end local 14 49: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
dup_x1
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
areturn
end local 13 end local 12 end local 11 end local 10 50: StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 51
aload 8
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
if_acmpne 84
51: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 52
aload 9
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
if_acmpne 84
52: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 8
aload 9
aconst_null
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
ifne 54
53: aload 0
aload 1
aload 9
aload 8
aconst_null
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
ifeq 84
54: StackMap locals:
StackMap stack:
aload 9
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
bipush 11
if_icmpne 57
aload 8
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
bipush 11
if_icmpne 57
55: aload 0
aload 8
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.computeConstant:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
56: goto 58
57: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
58: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangObject:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
astore 10
start local 10 59: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 10
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
60: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 10
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
61: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
sipush 16384
iand
ifeq 62
iconst_1
goto 63
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
62: iconst_0
StackMap locals:
StackMap stack: int
63: istore 11
start local 11 64: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
sipush 16384
iand
ifeq 65
iconst_1
goto 66
StackMap locals: int
StackMap stack:
65: iconst_0
StackMap locals:
StackMap stack: int
66: istore 12
start local 12 67: iload 11
ifne 68
iload 12
ifeq 79
68: StackMap locals: int
StackMap stack:
iload 11
ifeq 69
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
getfield org.eclipse.jdt.internal.compiler.ast.CastExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
goto 70
StackMap locals:
StackMap stack:
69: aload 8
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
70: astore 13
start local 13 71: iload 12
ifeq 72
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
getfield org.eclipse.jdt.internal.compiler.ast.CastExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
goto 73
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
72: aload 9
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
73: astore 14
start local 14 74: aload 0
aload 13
aload 14
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.isCastNeeded:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifne 79
75: aload 0
aload 1
aload 13
aload 14
aconst_null
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
ifne 77
76: aload 0
aload 1
aload 14
aload 13
aconst_null
invokevirtual org.eclipse.jdt.internal.compiler.ast.EqualExpression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
ifeq 79
77: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
iload 11
ifeq 78
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/ast/CastExpression;)V
78: StackMap locals:
StackMap stack:
iload 12
ifeq 79
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/ast/CastExpression;)V
end local 14 end local 13 79: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.getDirectBinding:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
astore 13
start local 13 80: aload 13
ifnull 83
aload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.getDirectBinding:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
if_acmpne 83
81: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
instanceof org.eclipse.jdt.internal.compiler.ast.Assignment
ifne 83
82: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.comparingIdenticalExpressions:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
83: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Binding
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
dup_x1
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
areturn
end local 13 end local 12 end local 11 end local 10 84: StackMap locals: org.eclipse.jdt.internal.compiler.ast.EqualExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
85: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
aload 8
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.notCompatibleTypesError:(Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
86: aconst_null
areturn
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 87 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 87 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
1 87 2 leftIsCast Z
4 87 3 rightIsCast Z
3 87 4 originalLeftType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
6 87 5 originalRightType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
10 87 6 compilerOptions Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
15 87 7 use15specifics Z
16 87 8 leftType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
17 87 9 rightType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
26 50 10 leftTypeID I
27 50 11 rightTypeID I
28 50 12 operatorSignature I
39 50 13 leftDirect Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
46 49 14 operator I
59 84 10 objectType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
64 84 11 unnecessaryLeftCast Z
67 84 12 unnecessaryRightCast Z
71 79 13 alternateLeftType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
74 79 14 alternateRightType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
80 84 13 leftDirect Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
MethodParameters:
Name Flags
scope
private boolean isCastNeeded(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
ifeq 2
1: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
ifeq 4
3: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 5 1 leftType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 5 2 rightType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
MethodParameters:
Name Flags
leftType
rightType
public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
ifeq 3
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
3: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;
0 5 1 visitor Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
0 5 2 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
MethodParameters:
Name Flags
visitor
scope
}
SourceFile: "EqualExpression.java"