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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression left
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression right
        start local 3 // int operator
         0: .line 32
            aload 0 /* this */
            aload 1 /* left */
            aload 2 /* right */
            iload 3 /* operator */
            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: .line 33
            return
        end local 3 // int operator
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression right
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression left
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
        start local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenFalse
         0: .line 37
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 3 /* flowInfo */
            aload 2 /* flowContext */
            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 /* rightStatus */
        start local 6 // int rightStatus
         1: .line 38
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 3 /* flowInfo */
            aload 2 /* flowContext */
            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 /* leftStatus */
        start local 7 // int leftStatus
         2: .line 40
            iconst_0
            istore 8 /* leftNonNullChecked */
        start local 8 // boolean leftNonNullChecked
         3: .line 41
            iconst_0
            istore 9 /* rightNonNullChecked */
        start local 9 // boolean rightNonNullChecked
         4: .line 47
            aload 0 /* this */
            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 /* checkEquality */
        start local 10 // boolean checkEquality
         7: .line 48
            aload 2 /* flowContext */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            ldc 61440
            iand
            ifne 13
         8: .line 49
            iload 7 /* leftStatus */
            iconst_4
            if_icmpne 11
            iload 6 /* rightStatus */
            iconst_2
            if_icmpne 11
         9: .line 50
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 10 /* checkEquality */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.expressionNonNullComparison:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Z)Z
            istore 8 /* leftNonNullChecked */
        10: .line 51
            goto 13
      StackMap locals: int
      StackMap stack:
        11: iload 7 /* leftStatus */
            iconst_2
            if_icmpne 13
            iload 6 /* rightStatus */
            iconst_4
            if_icmpne 13
        12: .line 52
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 10 /* checkEquality */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.expressionNonNullComparison:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Z)Z
            istore 9 /* rightNonNullChecked */
        13: .line 56
      StackMap locals:
      StackMap stack:
            iload 10 /* checkEquality */
            aload 2 /* flowContext */
            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 /* contextualCheckEquality */
        start local 11 // boolean contextualCheckEquality
        16: .line 58
            iload 8 /* leftNonNullChecked */
            ifne 29
        17: .line 59
            aload 0 /* this */
            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 /* local */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        18: .line 60
            aload 12 /* local */
            ifnull 22
        19: .line 61
            aload 12 /* local */
            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: .line 62
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 4 /* initsWhenTrue */
            aload 5 /* initsWhenFalse */
            aload 12 /* local */
            iload 6 /* rightStatus */
            aload 0 /* this */
            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: .line 64
            goto 29
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
      StackMap stack:
        22: aload 0 /* this */
            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: .line 65
            iload 11 /* contextualCheckEquality */
            ifne 24
            iload 6 /* rightStatus */
            iconst_2
            if_icmpeq 25
        24: .line 66
      StackMap locals:
      StackMap stack:
            iload 11 /* contextualCheckEquality */
            ifeq 29
            iload 6 /* rightStatus */
            iconst_4
            if_icmpne 29
        25: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            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: .line 69
            aload 0 /* this */
            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 /* field */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        27: .line 70
            aload 13 /* field */
            ifnull 29
            aload 13 /* field */
            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: .line 71
            aload 2 /* flowContext */
            aload 0 /* this */
            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 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        29: .line 75
      StackMap locals:
      StackMap stack:
            iload 9 /* rightNonNullChecked */
            ifne 42
        30: .line 76
            aload 0 /* this */
            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 /* local */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        31: .line 77
            aload 12 /* local */
            ifnull 35
        32: .line 78
            aload 12 /* local */
            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: .line 79
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 4 /* initsWhenTrue */
            aload 5 /* initsWhenFalse */
            aload 12 /* local */
            iload 7 /* leftStatus */
            aload 0 /* this */
            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: .line 81
            goto 42
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
      StackMap stack:
        35: aload 0 /* this */
            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: .line 82
            iload 11 /* contextualCheckEquality */
            ifne 37
            iload 7 /* leftStatus */
            iconst_2
            if_icmpeq 38
        37: .line 83
      StackMap locals:
      StackMap stack:
            iload 11 /* contextualCheckEquality */
            ifeq 42
            iload 7 /* leftStatus */
            iconst_4
            if_icmpne 42
        38: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            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: .line 86
            aload 0 /* this */
            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 /* field */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        40: .line 87
            aload 13 /* field */
            ifnull 42
            aload 13 /* field */
            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: .line 88
            aload 2 /* flowContext */
            aload 0 /* this */
            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 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        42: .line 94
      StackMap locals:
      StackMap stack:
            iload 8 /* leftNonNullChecked */
            ifne 43
            iload 9 /* rightNonNullChecked */
            ifeq 47
        43: .line 96
      StackMap locals:
      StackMap stack:
            iload 10 /* checkEquality */
            ifeq 46
        44: .line 97
            aload 4 /* initsWhenTrue */
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        45: .line 98
            goto 47
        46: .line 99
      StackMap locals:
      StackMap stack:
            aload 5 /* initsWhenFalse */
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        47: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 11 // boolean contextualCheckEquality
        end local 10 // boolean checkEquality
        end local 9 // boolean rightNonNullChecked
        end local 8 // boolean leftNonNullChecked
        end local 7 // int leftStatus
        end local 6 // int rightStatus
        end local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenFalse
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
        start local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenFalse
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        start local 7 // int nullStatus
        start local 8 // org.eclipse.jdt.internal.compiler.ast.Expression reference
         0: .line 104
            iload 7 /* nullStatus */
            tableswitch { // 2 - 4
                    2: 1
                    3: 23
                    4: 14
              default: 23
          }
         1: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 18
            if_icmpne 8
         2: .line 107
            aload 2 /* flowContext */
            aload 1 /* scope */
            aload 6 /* local */
            aload 8 /* reference */
         3: .line 108
            sipush 256
            aload 3 /* flowInfo */
         4: .line 107
            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: .line 109
            aload 4 /* initsWhenTrue */
            aload 6 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
         6: .line 110
            aload 5 /* initsWhenFalse */
            aload 6 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
         7: .line 111
            goto 23
         8: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* flowContext */
            aload 1 /* scope */
            aload 6 /* local */
            aload 8 /* reference */
         9: .line 113
            sipush 512
            aload 3 /* flowInfo */
        10: .line 112
            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: .line 114
            aload 4 /* initsWhenTrue */
            aload 6 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        12: .line 115
            aload 5 /* initsWhenFalse */
            aload 6 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        13: .line 117
            goto 23
        14: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 18
            if_icmpne 20
        15: .line 120
            aload 2 /* flowContext */
            aload 1 /* scope */
            aload 6 /* local */
            aload 8 /* reference */
        16: .line 121
            sipush 513
            aload 3 /* flowInfo */
        17: .line 120
            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: .line 122
            aload 4 /* initsWhenTrue */
            aload 6 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        19: .line 123
            goto 23
        20: .line 124
      StackMap locals:
      StackMap stack:
            aload 2 /* flowContext */
            aload 1 /* scope */
            aload 6 /* local */
            aload 8 /* reference */
        21: .line 125
            sipush 257
            aload 3 /* flowInfo */
        22: .line 124
            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: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.eclipse.jdt.internal.compiler.ast.Expression reference
        end local 7 // int nullStatus
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        end local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenFalse
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression exp
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 133
            aload 1 /* exp */
            instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference
            ifeq 7
            aload 1 /* exp */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            iconst_2
            iand
            ifeq 7
         1: .line 134
            aload 1 /* exp */
            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 /* localBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding localBinding
         2: .line 135
            aload 2 /* flowInfo */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
            iconst_3
            iand
            ifne 5
         3: .line 136
            aload 3 /* localBinding */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
         4: .line 137
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
      StackMap stack:
         5: aload 3 /* localBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
            ifne 7
         6: .line 138
            aload 3 /* localBinding */
            iconst_2
            putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding localBinding
         7: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression exp
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 145
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 18
            if_icmpne 22
         1: .line 146
            aload 0 /* this */
            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 /* this */
            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: .line 147
            aload 0 /* this */
            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: .line 149
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
         4: .line 150
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
         5: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
         6: .line 153
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 3 /* flowInfo */
            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: .line 155
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
         8: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* this */
            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: .line 157
            aload 0 /* this */
            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: .line 159
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        11: .line 160
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        12: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        13: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 3 /* flowInfo */
            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: .line 165
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        15: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        16: .line 168
            aload 1 /* currentScope */
            aload 2 /* flowContext */
        17: .line 169
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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: .line 167
            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: .line 169
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        20: .line 167
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        21: .line 171
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        22: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* this */
            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: .line 173
            aload 0 /* this */
            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: .line 175
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        25: .line 176
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 3 /* flowInfo */
            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: .line 177
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        27: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        28: .line 181
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        29: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* this */
            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: .line 183
            aload 0 /* this */
            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: .line 185
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        32: .line 186
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 3 /* flowInfo */
            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: .line 187
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        34: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        35: .line 191
            goto 42
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        36: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        37: .line 194
            aload 1 /* currentScope */
            aload 2 /* flowContext */
        38: .line 195
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            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: .line 193
            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: .line 197
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        41: .line 193
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        42: .line 200
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 4 /* result */
            instanceof org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
            ifeq 45
        43: .line 201
            aload 4 /* result */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
            iconst_3
            iand
            ifne 45
        44: .line 202
            aload 4 /* result */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            aload 4 /* result */
            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 /* result */
        45: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 4 /* result */
            aload 4 /* result */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            aload 4 /* result */
            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: .line 206
            aload 4 /* result */
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo result
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
         0: .line 210
            aload 0 /* this */
            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 /* this */
            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: .line 211
            aload 0 /* this */
         2: .line 213
            aload 0 /* this */
            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: .line 214
            aload 1 /* leftType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
         4: .line 215
            aload 0 /* this */
            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: .line 216
            aload 2 /* rightType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
         6: .line 212
            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: .line 211
            putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         8: .line 217
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 29
            if_icmpne 14
         9: .line 218
            aload 0 /* this */
            aload 0 /* this */
            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: .line 219
            goto 14
        13: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 223
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // boolean valueRequired
         0: .line 234
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         1: .line 235
            aload 0 /* this */
            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: .line 236
            iload 3 /* valueRequired */
            ifeq 4
         3: .line 237
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            aload 0 /* this */
            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: .line 238
      StackMap locals: int
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
         5: .line 239
            return
         6: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 243
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 244
            goto 10
         9: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 247
      StackMap locals:
      StackMap stack:
            iload 3 /* valueRequired */
            ifeq 12
        11: .line 248
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        12: .line 250
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        13: .line 251
            return
        end local 4 // int pc
        end local 3 // boolean valueRequired
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel trueLabel
        start local 4 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        start local 5 // boolean valueRequired
         0: .line 259
            aload 0 /* this */
            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: .line 260
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            aload 4 /* falseLabel */
            iload 5 /* valueRequired */
            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: .line 261
            return
         3: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 18
            if_icmpne 9
         4: .line 264
            aload 0 /* this */
            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: .line 265
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            aload 4 /* falseLabel */
            iload 5 /* valueRequired */
            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: .line 266
            goto 13
         7: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            aload 4 /* falseLabel */
            iload 5 /* valueRequired */
            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: .line 269
            goto 13
         9: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 271
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            aload 3 /* trueLabel */
            iload 5 /* valueRequired */
            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: .line 272
            goto 13
        12: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            aload 3 /* trueLabel */
            iload 5 /* valueRequired */
            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: .line 276
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean valueRequired
        end local 4 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        end local 3 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel trueLabel
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // boolean valueRequired
         0: .line 287
            aload 0 /* this */
            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 /* isEqualOperator */
        start local 4 // boolean isEqualOperator
         3: .line 288
            aload 0 /* this */
            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 /* cst */
        start local 5 // org.eclipse.jdt.internal.compiler.impl.Constant cst
         4: .line 289
            aload 5 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 48
         5: .line 290
            aload 0 /* this */
            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 /* rightCst */
        start local 6 // org.eclipse.jdt.internal.compiler.impl.Constant rightCst
         6: .line 291
            aload 6 /* rightCst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 23
         7: .line 294
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 295
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 296
            iload 3 /* valueRequired */
            ifeq 47
        10: .line 297
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            istore 7 /* leftBool */
        start local 7 // boolean leftBool
        11: .line 298
            aload 6 /* rightCst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            istore 8 /* rightBool */
        start local 8 // boolean rightBool
        12: .line 299
            iload 4 /* isEqualOperator */
            ifeq 18
        13: .line 300
            iload 7 /* leftBool */
            iload 8 /* rightBool */
            if_icmpne 16
        14: .line 301
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        15: .line 302
            goto 47
        16: .line 303
      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 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        17: .line 305
            goto 47
        18: .line 306
      StackMap locals:
      StackMap stack:
            iload 7 /* leftBool */
            iload 8 /* rightBool */
            if_icmpeq 21
        19: .line 307
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        20: .line 308
            goto 47
        21: .line 309
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        end local 8 // boolean rightBool
        end local 7 // boolean leftBool
        22: .line 313
            goto 47
      StackMap locals:
      StackMap stack:
        23: aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            iload 4 /* isEqualOperator */
            if_icmpne 27
        24: .line 315
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 316
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 317
            goto 47
        27: .line 319
      StackMap locals:
      StackMap stack:
            iload 3 /* valueRequired */
            ifeq 45
        28: .line 320
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 7 /* falseLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        29: .line 321
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 322
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aconst_null
            aload 7 /* falseLabel */
            iload 3 /* valueRequired */
            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: .line 324
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        32: .line 325
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 38
        33: .line 326
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        34: .line 327
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        35: .line 329
            aload 7 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        36: .line 330
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        37: .line 331
            goto 47
        38: .line 332
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 8 /* endLabel */
        start local 8 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        39: .line 333
            aload 2 /* codeStream */
            aload 8 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        40: .line 334
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        41: .line 336
            aload 7 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        42: .line 337
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        43: .line 338
            aload 8 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 8 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        44: .line 340
            goto 47
        45: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 342
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.jdt.internal.compiler.impl.Constant rightCst
        48: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* cst */
        49: .line 354
            aload 5 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 75
        50: .line 355
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            iload 4 /* isEqualOperator */
            if_icmpne 54
        51: .line 357
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 358
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 359
            goto 74
        54: .line 361
      StackMap locals:
      StackMap stack:
            iload 3 /* valueRequired */
            ifeq 72
        55: .line 362
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 6 /* falseLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        56: .line 363
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aconst_null
            aload 6 /* falseLabel */
            iload 3 /* valueRequired */
            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: .line 364
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 366
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        59: .line 367
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 65
        60: .line 368
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        61: .line 369
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        62: .line 371
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        63: .line 372
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        64: .line 373
            goto 74
        65: .line 374
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 7 /* endLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        66: .line 375
            aload 2 /* codeStream */
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        67: .line 376
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        68: .line 378
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        69: .line 379
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        70: .line 380
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        71: .line 382
            goto 74
        72: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 384
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            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: .line 393
      StackMap locals:
      StackMap stack:
            return
        75: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 397
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 399
            iload 3 /* valueRequired */
            ifeq 96
        78: .line 400
            iload 4 /* isEqualOperator */
            ifeq 95
        79: .line 402
            aload 2 /* codeStream */
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            dup
            astore 6 /* falseLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        80: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        81: .line 404
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        82: .line 405
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 88
        83: .line 406
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        84: .line 407
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        85: .line 409
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        86: .line 410
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        87: .line 411
            goto 96
        88: .line 412
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 7 /* endLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        89: .line 413
            aload 2 /* codeStream */
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        90: .line 414
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        91: .line 416
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        92: .line 417
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        93: .line 418
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        94: .line 420
            goto 96
        95: .line 421
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
        96: .line 424
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        end local 4 // boolean isEqualOperator
        end local 3 // boolean valueRequired
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel trueLabel
        start local 4 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        start local 5 // boolean valueRequired
         0: .line 434
            aload 0 /* this */
            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: .line 435
            aload 0 /* this */
            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 /* inline */
        start local 6 // boolean inline
         2: .line 436
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 6 /* inline */
            ifeq 3
            aload 3 /* trueLabel */
            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 /* falseLabel */
      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 /* inline */
            ifeq 5
            aload 4 /* falseLabel */
            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 /* trueLabel */
      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 /* valueRequired */
            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: .line 437
            return
        end local 6 // boolean inline
         8: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 440
            aload 0 /* this */
            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 /* inline */
        start local 6 // boolean inline
        10: .line 441
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 6 /* inline */
            ifeq 11
            aload 3 /* trueLabel */
            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 /* falseLabel */
      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 /* inline */
            ifeq 13
            aload 4 /* falseLabel */
            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 /* trueLabel */
      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 /* valueRequired */
            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: .line 442
            return
        end local 6 // boolean inline
        16: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 446
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 447
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 6 /* pc */
        start local 6 // int pc
        19: .line 448
            iload 5 /* valueRequired */
            ifeq 26
        20: .line 449
            aload 4 /* falseLabel */
            ifnonnull 24
        21: .line 450
            aload 3 /* trueLabel */
            ifnull 26
        22: .line 452
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        23: .line 454
            goto 26
        24: .line 456
      StackMap locals: int
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 26
        25: .line 457
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        26: .line 463
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 6 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        27: .line 464
            return
        end local 6 // int pc
        end local 5 // boolean valueRequired
        end local 4 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        end local 3 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel trueLabel
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // boolean valueRequired
         0: .line 471
            aload 0 /* this */
            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 /* isEqualOperator */
        start local 4 // boolean isEqualOperator
         3: .line 472
            aload 0 /* this */
            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: .line 474
            aload 0 /* this */
            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 /* cst */
        start local 5 // org.eclipse.jdt.internal.compiler.impl.Constant cst
         5: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 27
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            ifne 27
         6: .line 476
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 477
            iload 3 /* valueRequired */
            ifeq 26
         8: .line 478
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 6 /* falseLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
         9: .line 479
            iload 4 /* isEqualOperator */
            ifeq 12
        10: .line 480
            aload 2 /* codeStream */
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        11: .line 481
            goto 13
        12: .line 482
      StackMap locals: int org.eclipse.jdt.internal.compiler.impl.Constant org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        13: .line 485
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        14: .line 486
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 20
        15: .line 487
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        16: .line 488
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        17: .line 490
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        18: .line 491
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        19: .line 492
            goto 26
        20: .line 493
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 7 /* endLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        21: .line 494
            aload 2 /* codeStream */
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        22: .line 495
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        23: .line 497
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        24: .line 498
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        25: .line 499
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        26: .line 502
      StackMap locals:
      StackMap stack:
            return
        27: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 49
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            ifne 49
        28: .line 506
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 507
            iload 3 /* valueRequired */
            ifeq 48
        30: .line 508
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 6 /* falseLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        31: .line 509
            iload 4 /* isEqualOperator */
            ifeq 34
        32: .line 510
            aload 2 /* codeStream */
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        33: .line 511
            goto 35
        34: .line 512
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        35: .line 515
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        36: .line 516
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 42
        37: .line 517
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        38: .line 518
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        39: .line 520
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        40: .line 521
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        41: .line 522
            goto 48
        42: .line 523
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 7 /* endLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        43: .line 524
            aload 2 /* codeStream */
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        44: .line 525
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        45: .line 527
            aload 6 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        46: .line 528
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        47: .line 529
            aload 7 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        48: .line 532
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        49: .line 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 538
            aload 0 /* this */
            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: .line 540
            iload 3 /* valueRequired */
            ifeq 77
        52: .line 541
            iload 4 /* isEqualOperator */
            ifeq 55
        53: .line 542
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        54: .line 543
            goto 77
        55: .line 544
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        56: .line 547
            goto 77
        57: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 550
            iload 3 /* valueRequired */
            ifeq 77
        59: .line 551
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 5 /* falseLabel */
        start local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        60: .line 552
            iload 4 /* isEqualOperator */
            ifeq 63
        61: .line 553
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        62: .line 554
            goto 64
        63: .line 555
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        64: .line 558
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        65: .line 559
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 71
        66: .line 560
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        67: .line 561
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        68: .line 563
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        69: .line 564
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        70: .line 565
            goto 77
        71: .line 566
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 6 /* endLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        72: .line 567
            aload 2 /* codeStream */
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        73: .line 568
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        74: .line 570
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        75: .line 571
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        76: .line 572
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        77: .line 576
      StackMap locals:
      StackMap stack:
            return
        78: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 579
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 580
            iload 3 /* valueRequired */
            ifeq 99
        81: .line 581
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 5 /* falseLabel */
        start local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        82: .line 582
            iload 4 /* isEqualOperator */
            ifeq 85
        83: .line 583
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        84: .line 584
            goto 86
        85: .line 585
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        86: .line 588
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        87: .line 589
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 93
        88: .line 590
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        89: .line 591
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        90: .line 593
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        91: .line 594
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        92: .line 595
            goto 99
        93: .line 596
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 6 /* endLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        94: .line 597
            aload 2 /* codeStream */
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        95: .line 598
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        96: .line 600
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        97: .line 601
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        98: .line 602
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        99: .line 605
      StackMap locals:
      StackMap stack:
            return
       100: .line 609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 610
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            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: .line 611
            iload 3 /* valueRequired */
            ifeq 145
       103: .line 612
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 5 /* falseLabel */
        start local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       104: .line 613
            iload 4 /* isEqualOperator */
            ifeq 119
       105: .line 614
            aload 0 /* this */
            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: .line 616
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       107: .line 617
            goto 132
       108: .line 619
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
       109: .line 620
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       110: .line 621
            goto 132
       111: .line 623
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
       112: .line 624
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       113: .line 625
            goto 132
       114: .line 627
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
       115: .line 628
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       116: .line 629
            goto 132
       117: .line 631
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       118: .line 633
            goto 132
       119: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 636
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       121: .line 637
            goto 132
       122: .line 639
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
       123: .line 640
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       124: .line 641
            goto 132
       125: .line 643
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
       126: .line 644
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       127: .line 645
            goto 132
       128: .line 647
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
       129: .line 648
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       130: .line 649
            goto 132
       131: .line 651
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       132: .line 655
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
       133: .line 656
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            bipush 16
            iand
            ifeq 139
       134: .line 657
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
       135: .line 658
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
       136: .line 660
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       137: .line 661
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       138: .line 662
            goto 145
       139: .line 663
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 6 /* endLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       140: .line 664
            aload 2 /* codeStream */
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       141: .line 665
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
       142: .line 667
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       143: .line 668
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       144: .line 669
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
        end local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       145: .line 672
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean isEqualOperator
        end local 3 // boolean valueRequired
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel trueLabel
        start local 4 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        start local 5 // boolean valueRequired
         0: .line 680
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 6 /* pc */
        start local 6 // int pc
         1: .line 682
            aload 0 /* this */
            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 /* inline */
        start local 7 // org.eclipse.jdt.internal.compiler.impl.Constant inline
         2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 14
         3: .line 684
            aload 0 /* this */
            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 /* inline */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            ifne 14
         4: .line 685
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 686
            iload 5 /* valueRequired */
            ifeq 12
         6: .line 687
            aload 4 /* falseLabel */
            ifnonnull 10
         7: .line 688
            aload 3 /* trueLabel */
            ifnull 12
         8: .line 690
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
         9: .line 692
            goto 12
        10: .line 694
      StackMap locals: int org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 12
        11: .line 695
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        12: .line 701
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 6 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        13: .line 702
            return
        14: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* inline */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 27
        15: .line 707
            aload 0 /* this */
            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: .line 708
            aload 7 /* inline */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            ifne 27
        17: .line 709
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 710
            iload 5 /* valueRequired */
            ifeq 25
        19: .line 711
            aload 4 /* falseLabel */
            ifnonnull 23
        20: .line 712
            aload 3 /* trueLabel */
            ifnull 25
        21: .line 714
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        22: .line 716
            goto 25
        23: .line 718
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 25
        24: .line 719
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        25: .line 725
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 6 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        26: .line 726
            return
        27: .line 731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 732
            aload 0 /* this */
            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: .line 734
            iload 5 /* valueRequired */
            ifeq 42
        30: .line 735
            aload 4 /* falseLabel */
            ifnonnull 42
        31: .line 737
            aload 3 /* trueLabel */
            ifnull 42
        32: .line 738
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        33: .line 742
            goto 42
        34: .line 743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 744
            iload 5 /* valueRequired */
            ifeq 42
        36: .line 745
            aload 4 /* falseLabel */
            ifnonnull 40
        37: .line 746
            aload 3 /* trueLabel */
            ifnull 42
        38: .line 748
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        39: .line 750
            goto 42
        40: .line 752
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 42
        41: .line 753
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        42: .line 760
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 6 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        43: .line 761
            return
        44: .line 762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 763
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 764
            iload 5 /* valueRequired */
            ifeq 53
        47: .line 765
            aload 4 /* falseLabel */
            ifnonnull 51
        48: .line 766
            aload 3 /* trueLabel */
            ifnull 53
        49: .line 768
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        50: .line 770
            goto 53
        51: .line 772
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 53
        52: .line 773
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        53: .line 779
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 6 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        54: .line 780
            return
        55: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 785
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            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: .line 786
            iload 5 /* valueRequired */
            ifeq 88
        58: .line 787
            aload 4 /* falseLabel */
            ifnonnull 74
        59: .line 788
            aload 3 /* trueLabel */
            ifnull 88
        60: .line 790
            aload 0 /* this */
            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: .line 792
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        62: .line 793
            goto 88
        63: .line 795
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
        64: .line 796
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        65: .line 797
            goto 88
        66: .line 799
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        67: .line 800
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        68: .line 801
            goto 88
        69: .line 803
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
        70: .line 804
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        71: .line 805
            goto 88
        72: .line 807
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        73: .line 810
            goto 88
        74: .line 812
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 88
        75: .line 813
            aload 0 /* this */
            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: .line 815
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        77: .line 816
            goto 88
        78: .line 818
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
        79: .line 819
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        80: .line 820
            goto 88
        81: .line 822
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        82: .line 823
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        83: .line 824
            goto 88
        84: .line 826
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
        85: .line 827
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        86: .line 828
            goto 88
        87: .line 830
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        88: .line 837
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 6 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        89: .line 838
            return
        end local 7 // org.eclipse.jdt.internal.compiler.impl.Constant inline
        end local 6 // int pc
        end local 5 // boolean valueRequired
        end local 4 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        end local 3 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel trueLabel
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
         0: .line 841
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
         0: .line 846
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            istore 1 /* operator */
        start local 1 // int operator
         1: .line 847
            iload 1 /* operator */
            bipush 18
            if_icmpne 4
         2: .line 848
            aload 0 /* this */
            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 /* this */
            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: .line 849
            iconst_1
            invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            areturn
         4: .line 851
      StackMap locals: int
      StackMap stack:
            iload 1 /* operator */
            bipush 29
            if_icmpne 7
         5: .line 852
            aload 0 /* this */
            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 /* this */
            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: .line 853
            iconst_0
            invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            areturn
         7: .line 856
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            areturn
        end local 1 // int operator
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 863
            aload 0 /* this */
            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 /* leftIsCast */
        start local 2 // boolean leftIsCast
         1: ifeq 2
            aload 0 /* this */
            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: .line 864
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            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 /* originalLeftType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalLeftType
         3: .line 866
            aload 0 /* this */
            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 /* rightIsCast */
        start local 3 // boolean rightIsCast
         4: ifeq 5
            aload 0 /* this */
            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: .line 867
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            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 /* originalRightType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalRightType
         6: .line 870
            aload 4 /* originalLeftType */
            ifnull 7
            aload 5 /* originalRightType */
            ifnonnull 9
         7: .line 871
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            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: .line 872
            aconst_null
            areturn
         9: .line 875
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            astore 6 /* compilerOptions */
        start local 6 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        10: .line 876
            aload 6 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complainOnUninternedIdentityComparison:Z
            ifeq 12
            aload 5 /* originalRightType */
            bipush 16
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasTypeBit:(I)Z
            ifeq 12
            aload 4 /* originalLeftType */
            bipush 16
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasTypeBit:(I)Z
            ifeq 12
        11: .line 877
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 4 /* originalLeftType */
            aload 5 /* originalRightType */
            aload 1 /* scope */
            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: .line 880
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.CompilerOptions
      StackMap stack:
            aload 6 /* compilerOptions */
            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 /* use15specifics */
        start local 7 // boolean use15specifics
        15: .line 881
            aload 4 /* originalLeftType */
            astore 8 /* leftType */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        16: aload 5 /* originalRightType */
            astore 9 /* rightType */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
        17: .line 882
            iload 7 /* use15specifics */
            ifeq 24
        18: .line 883
            aload 8 /* leftType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpeq 22
            aload 8 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 22
        19: .line 884
            aload 9 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 24
        20: .line 885
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 9 /* rightType */
            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 /* rightType */
        21: .line 887
            goto 24
        22: .line 888
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 9 /* rightType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpeq 24
            aload 9 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 24
        23: .line 889
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 8 /* leftType */
            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 /* leftType */
        24: .line 894
      StackMap locals:
      StackMap stack:
            aload 8 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 50
            aload 9 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 50
        25: .line 895
            aload 8 /* leftType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 10 /* leftTypeID */
        start local 10 // int leftTypeID
        26: .line 896
            aload 9 /* rightType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 11 /* rightTypeID */
        start local 11 // int rightTypeID
        27: .line 902
            getstatic org.eclipse.jdt.internal.compiler.ast.EqualExpression.OperatorSignatures:[[I
            bipush 18
            aaload
            iload 10 /* leftTypeID */
            iconst_4
            ishl
            iload 11 /* rightTypeID */
            iadd
            iaload
            istore 12 /* operatorSignature */
        start local 12 // int operatorSignature
        28: .line 903
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 1 /* scope */
            iload 12 /* operatorSignature */
            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 /* originalLeftType */
            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: .line 904
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 1 /* scope */
            iload 12 /* operatorSignature */
            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 /* originalRightType */
            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: .line 905
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            iload 12 /* operatorSignature */
            bipush 15
            iand
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
        31: .line 906
            iload 12 /* operatorSignature */
            bipush 15
            iand
            ifne 35
        32: .line 907
            aload 0 /* this */
            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: .line 908
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 8 /* leftType */
            aload 9 /* rightType */
            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: .line 909
            aconst_null
            areturn
        35: .line 912
      StackMap locals: int int int
      StackMap stack:
            iload 2 /* leftIsCast */
            ifne 36
            iload 3 /* rightIsCast */
            ifeq 37
        36: .line 913
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            bipush 18
            iload 12 /* operatorSignature */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 8 /* leftType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iload 2 /* leftIsCast */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 9 /* rightType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iload 3 /* rightIsCast */
            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: .line 915
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* leftType */
            aload 9 /* rightType */
            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: .line 918
            aload 0 /* this */
            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 /* leftDirect */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.Binding leftDirect
        39: .line 919
            aload 13 /* leftDirect */
            ifnull 44
            aload 13 /* leftDirect */
            aload 0 /* this */
            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: .line 920
            iload 10 /* leftTypeID */
            bipush 8
            if_icmpeq 49
            iload 10 /* leftTypeID */
            bipush 9
            if_icmpeq 49
        41: .line 921
            aload 0 /* this */
            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: .line 922
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.comparingIdenticalExpressions:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        43: .line 923
            goto 49
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Binding
      StackMap stack:
        44: aload 0 /* this */
            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: .line 925
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            istore 14 /* operator */
        start local 14 // int operator
        46: .line 926
            iload 14 /* operator */
            bipush 18
            if_icmpne 47
            aload 0 /* this */
            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: .line 927
      StackMap locals: int
      StackMap stack:
            iload 14 /* operator */
            bipush 29
            if_icmpne 49
            aload 0 /* this */
            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: .line 928
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.comparingIdenticalExpressions:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        end local 14 // int operator
        49: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 // org.eclipse.jdt.internal.compiler.lookup.Binding leftDirect
        end local 12 // int operatorSignature
        end local 11 // int rightTypeID
        end local 10 // int leftTypeID
        50: .line 935
      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 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 51
            aload 8 /* leftType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpne 84
        51: .line 936
      StackMap locals:
      StackMap stack:
            aload 9 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 52
            aload 9 /* rightType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpne 84
        52: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 8 /* leftType */
            aload 9 /* rightType */
            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: .line 938
            aload 0 /* this */
            aload 1 /* scope */
            aload 9 /* rightType */
            aload 8 /* leftType */
            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: .line 941
      StackMap locals:
      StackMap stack:
            aload 9 /* rightType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpne 57
            aload 8 /* leftType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpne 57
        55: .line 942
            aload 0 /* this */
            aload 8 /* leftType */
            aload 9 /* rightType */
            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: .line 943
            goto 58
        57: .line 944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 946
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangObject:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 10 /* objectType */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding objectType
        59: .line 947
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 10 /* objectType */
            aload 8 /* leftType */
            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: .line 948
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 10 /* objectType */
            aload 9 /* rightType */
            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: .line 950
            aload 0 /* this */
            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 /* unnecessaryLeftCast */
        start local 11 // boolean unnecessaryLeftCast
        64: .line 951
            aload 0 /* this */
            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 /* unnecessaryRightCast */
        start local 12 // boolean unnecessaryRightCast
        67: .line 952
            iload 11 /* unnecessaryLeftCast */
            ifne 68
            iload 12 /* unnecessaryRightCast */
            ifeq 79
        68: .line 953
      StackMap locals: int
      StackMap stack:
            iload 11 /* unnecessaryLeftCast */
            ifeq 69
            aload 0 /* this */
            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 /* leftType */
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        70: astore 13 /* alternateLeftType */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding alternateLeftType
        71: .line 954
            iload 12 /* unnecessaryRightCast */
            ifeq 72
            aload 0 /* this */
            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 /* rightType */
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        73: astore 14 /* alternateRightType */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding alternateRightType
        74: .line 956
            aload 0 /* this */
            aload 13 /* alternateLeftType */
            aload 14 /* alternateRightType */
            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: .line 957
            aload 0 /* this */
            aload 1 /* scope */
            aload 13 /* alternateLeftType */
            aload 14 /* alternateRightType */
            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: .line 958
            aload 0 /* this */
            aload 1 /* scope */
            aload 14 /* alternateRightType */
            aload 13 /* alternateLeftType */
            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: .line 959
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            iload 11 /* unnecessaryLeftCast */
            ifeq 78
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            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: .line 960
      StackMap locals:
      StackMap stack:
            iload 12 /* unnecessaryRightCast */
            ifeq 79
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            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 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding alternateRightType
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding alternateLeftType
        79: .line 965
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* leftDirect */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.Binding leftDirect
        80: .line 966
            aload 13 /* leftDirect */
            ifnull 83
            aload 13 /* leftDirect */
            aload 0 /* this */
            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: .line 967
            aload 0 /* this */
            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: .line 968
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.comparingIdenticalExpressions:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        83: .line 971
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Binding
      StackMap stack:
            aload 0 /* this */
            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 // org.eclipse.jdt.internal.compiler.lookup.Binding leftDirect
        end local 12 // boolean unnecessaryRightCast
        end local 11 // boolean unnecessaryLeftCast
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding objectType
        84: .line 973
      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 /* this */
            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: .line 974
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 8 /* leftType */
            aload 9 /* rightType */
            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: .line 975
            aconst_null
            areturn
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        end local 7 // boolean use15specifics
        end local 6 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalRightType
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalLeftType
        end local 3 // boolean rightIsCast
        end local 2 // boolean leftIsCast
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
         0: .line 982
            aload 1 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
            ifeq 2
         1: .line 983
            aload 2 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ireturn
         2: .line 985
      StackMap locals:
      StackMap stack:
            aload 2 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
            ifeq 4
         3: .line 986
            aload 1 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ireturn
         4: .line 988
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 993
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            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: .line 994
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* visitor */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         2: .line 995
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.EqualExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* visitor */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         3: .line 997
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/EqualExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         4: .line 998
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.EqualExpression this
      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"