public class org.eclipse.jdt.internal.compiler.ast.BinaryExpression extends org.eclipse.jdt.internal.compiler.ast.OperatorExpression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.ast.BinaryExpression
  super_class: org.eclipse.jdt.internal.compiler.ast.OperatorExpression
{
  public org.eclipse.jdt.internal.compiler.ast.Expression left;
    descriptor: Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.ast.Expression right;
    descriptor: Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.impl.Constant optimizedBooleanConstant;
    descriptor: Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    flags: (0x0001) ACC_PUBLIC

  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.BinaryExpression 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 44
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.<init>:()V
         1: .line 45
            aload 0 /* this */
            aload 1 /* left */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         2: .line 46
            aload 0 /* this */
            aload 2 /* right */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         3: .line 47
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            iload 3 /* operator */
            bipush 6
            ishl
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
         4: .line 48
            aload 0 /* this */
            aload 1 /* left */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceStart:I
         5: .line 49
            aload 0 /* this */
            aload 2 /* right */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceEnd:I
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
         6: .line 56
            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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0    7     1      left  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    7     2     right  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    7     3  operator  I
    MethodParameters:
          Name  Flags
      left      
      right     
      operator  

  public void <init>(org.eclipse.jdt.internal.compiler.ast.BinaryExpression);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression expression
         0: .line 58
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.<init>:()V
         1: .line 59
            aload 0 /* this */
            aload 1 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         2: .line 60
            aload 0 /* this */
            aload 1 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         3: .line 61
            aload 0 /* this */
            aload 1 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
         4: .line 62
            aload 0 /* this */
            aload 1 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceStart:I
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceStart:I
         5: .line 63
            aload 0 /* this */
            aload 1 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
         6: .line 64
            return
        end local 1 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression expression
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0    7     1  expression  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
    MethodParameters:
            Name  Flags
      expression  

  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=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 69
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpne 8
         1: .line 70
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         2: .line 71
            aload 1 /* currentScope */
            aload 2 /* flowContext */
         3: .line 72
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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;
         4: .line 70
            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;
         5: .line 73
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 5
         6: .line 89
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordAbruptExit:()V
         7: .line 70
            aload 5
            areturn
         8: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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;
            astore 3 /* flowInfo */
         9: .line 76
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.checkNPE:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Z
            pop
        10: .line 77
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            iconst_2
            if_icmpeq 12
        11: .line 78
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.expireNullCheckedFieldInfo:()V
        12: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 3 /* flowInfo */
        13: .line 81
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.checkNPE:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Z
            pop
        14: .line 82
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            iconst_2
            if_icmpeq 16
        15: .line 83
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.expireNullCheckedFieldInfo:()V
        16: .line 85
      StackMap locals:
      StackMap stack:
            aload 3 /* flowInfo */
            astore 5
        17: .line 89
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordAbruptExit:()V
        18: .line 85
            aload 5
            areturn
        19: .line 87
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        20: .line 89
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordAbruptExit:()V
        21: .line 90
            aload 4
            athrow
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   22     1  currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   22     2   flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   22     3      flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
      Exception table:
        from    to  target  type
           0     6      19  any
           8    17      19  any
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      

  public void computeConstant(org.eclipse.jdt.internal.compiler.lookup.BlockScope, int, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // int leftId
        start local 3 // int rightId
         0: .line 95
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 14
         1: .line 96
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 14
         2: .line 98
            aload 0 /* this */
         3: .line 100
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         4: .line 101
            iload 2 /* leftId */
         5: .line 102
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
         6: .line 103
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         7: .line 104
            iload 3 /* rightId */
         8: .line 99
            invokestatic org.eclipse.jdt.internal.compiler.impl.Constant.computeConstantOperation:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;IILorg/eclipse/jdt/internal/compiler/impl/Constant;I)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         9: .line 98
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        10: .line 105
            goto 20
      StackMap locals:
      StackMap stack: java.lang.ArithmeticException
        11: pop
        12: .line 106
            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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        13: .line 110
            goto 20
        14: .line 111
      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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        15: .line 113
            aload 0 /* this */
        16: .line 114
            iload 2 /* leftId */
        17: .line 115
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
        18: .line 116
            iload 3 /* rightId */
        19: .line 113
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:(III)V
        20: .line 118
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int rightId
        end local 2 // int leftId
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   21     1    scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   21     2   leftId  I
            0   21     3  rightId  I
      Exception table:
        from    to  target  type
           2    10      11  Class java.lang.ArithmeticException
    MethodParameters:
         Name  Flags
      scope    
      leftId   
      rightId  

  public org.eclipse.jdt.internal.compiler.impl.Constant optimizedBooleanConstant();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
         0: .line 122
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            ifnonnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
         2: areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;

  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=7, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 133
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         1: .line 134
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 135
            iload 3 /* valueRequired */
            ifeq 4
         3: .line 136
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;I)V
         4: .line 137
      StackMap locals: int
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
         5: .line 138
            return
         6: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            tableswitch { // 2 - 19
                    2: 120
                    3: 161
                    4: 304
                    5: 326
                    6: 260
                    7: 282
                    8: 194
                    9: 74
                   10: 227
                   11: 347
                   12: 347
                   13: 32
                   14: 7
                   15: 53
                   16: 97
                   17: 238
                   18: 347
                   19: 249
              default: 347
          }
         7: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 11
                    7: 17
                    8: 22
                    9: 27
                   10: 12
                   11: 8
              default: 31
          }
         8: .line 148
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateStringConcatenationAppend:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
         9: .line 149
            iload 3 /* valueRequired */
            ifne 347
        10: .line 150
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
        11: .line 151
            goto 347
        12: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        13: .line 154
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        14: .line 155
            iload 3 /* valueRequired */
            ifeq 347
        15: .line 156
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iadd:()V
        16: .line 157
            goto 347
        17: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        18: .line 160
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        19: .line 161
            iload 3 /* valueRequired */
            ifeq 347
        20: .line 162
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ladd:()V
        21: .line 163
            goto 347
        22: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        23: .line 166
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        24: .line 167
            iload 3 /* valueRequired */
            ifeq 347
        25: .line 168
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dadd:()V
        26: .line 169
            goto 347
        27: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        28: .line 172
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        29: .line 173
            iload 3 /* valueRequired */
            ifeq 347
        30: .line 174
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fadd:()V
        31: .line 177
      StackMap locals:
      StackMap stack:
            goto 347
        32: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 10
                    7: 38
                    8: 43
                    9: 48
                   10: 33
              default: 52
          }
        33: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        34: .line 182
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        35: .line 183
            iload 3 /* valueRequired */
            ifeq 347
        36: .line 184
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.isub:()V
        37: .line 185
            goto 347
        38: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        39: .line 188
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        40: .line 189
            iload 3 /* valueRequired */
            ifeq 347
        41: .line 190
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lsub:()V
        42: .line 191
            goto 347
        43: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        44: .line 194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        45: .line 195
            iload 3 /* valueRequired */
            ifeq 347
        46: .line 196
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dsub:()V
        47: .line 197
            goto 347
        48: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        49: .line 200
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        50: .line 201
            iload 3 /* valueRequired */
            ifeq 347
        51: .line 202
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fsub:()V
        52: .line 205
      StackMap locals:
      StackMap stack:
            goto 347
        53: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 10
                    7: 59
                    8: 64
                    9: 69
                   10: 54
              default: 73
          }
        54: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        55: .line 210
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        56: .line 211
            iload 3 /* valueRequired */
            ifeq 347
        57: .line 212
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.imul:()V
        58: .line 213
            goto 347
        59: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        60: .line 216
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        61: .line 217
            iload 3 /* valueRequired */
            ifeq 347
        62: .line 218
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lmul:()V
        63: .line 219
            goto 347
        64: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        65: .line 222
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        66: .line 223
            iload 3 /* valueRequired */
            ifeq 347
        67: .line 224
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dmul:()V
        68: .line 225
            goto 347
        69: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        70: .line 228
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        71: .line 229
            iload 3 /* valueRequired */
            ifeq 347
        72: .line 230
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fmul:()V
        73: .line 233
      StackMap locals:
      StackMap stack:
            goto 347
        74: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 10
                    7: 81
                    8: 87
                    9: 92
                   10: 75
              default: 96
          }
        75: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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 238
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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 239
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.idiv:()V
        78: .line 240
            iload 3 /* valueRequired */
            ifne 347
        79: .line 241
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
        80: .line 242
            goto 347
        81: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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
        82: .line 245
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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
        83: .line 246
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ldiv:()V
        84: .line 247
            iload 3 /* valueRequired */
            ifne 347
        85: .line 248
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop2:()V
        86: .line 249
            goto 347
        87: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        88: .line 252
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        89: .line 253
            iload 3 /* valueRequired */
            ifeq 347
        90: .line 254
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ddiv:()V
        91: .line 255
            goto 347
        92: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        93: .line 258
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        94: .line 259
            iload 3 /* valueRequired */
            ifeq 347
        95: .line 260
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fdiv:()V
        96: .line 263
      StackMap locals:
      StackMap stack:
            goto 347
        97: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 10
                    7: 104
                    8: 110
                    9: 115
                   10: 98
              default: 119
          }
        98: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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
        99: .line 268
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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
       100: .line 269
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.irem:()V
       101: .line 270
            iload 3 /* valueRequired */
            ifne 347
       102: .line 271
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
       103: .line 272
            goto 347
       104: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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
       105: .line 275
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            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
       106: .line 276
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lrem:()V
       107: .line 277
            iload 3 /* valueRequired */
            ifne 347
       108: .line 278
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop2:()V
       109: .line 279
            goto 347
       110: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       111: .line 282
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       112: .line 283
            iload 3 /* valueRequired */
            ifeq 347
       113: .line 284
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.drem:()V
       114: .line 285
            goto 347
       115: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       116: .line 288
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       117: .line 289
            iload 3 /* valueRequired */
            ifeq 347
       118: .line 290
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.frem:()V
       119: .line 293
      StackMap locals:
      StackMap stack:
            goto 347
       120: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 5 - 10
                    5: 159
                    6: 160
                    7: 140
                    8: 160
                    9: 160
                   10: 121
              default: 160
          }
       121: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 128
       122: .line 299
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 10
            if_icmpne 128
       123: .line 300
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 128
       124: .line 301
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       125: .line 302
            iload 3 /* valueRequired */
            ifeq 347
       126: .line 303
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       127: .line 304
            goto 347
       128: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 135
       129: .line 307
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 10
            if_icmpne 135
       130: .line 308
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 135
       131: .line 309
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       132: .line 310
            iload 3 /* valueRequired */
            ifeq 347
       133: .line 311
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       134: .line 312
            goto 347
       135: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       136: .line 314
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       137: .line 315
            iload 3 /* valueRequired */
            ifeq 347
       138: .line 316
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iand:()V
       139: .line 319
            goto 347
       140: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 147
       141: .line 323
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 7
            if_icmpne 147
       142: .line 324
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.longValue:()J
            lconst_0
            lcmp
            ifne 147
       143: .line 325
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       144: .line 326
            iload 3 /* valueRequired */
            ifeq 347
       145: .line 327
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lconst_0:()V
       146: .line 328
            goto 347
       147: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 154
       148: .line 331
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 7
            if_icmpne 154
       149: .line 332
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.longValue:()J
            lconst_0
            lcmp
            ifne 154
       150: .line 333
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       151: .line 334
            iload 3 /* valueRequired */
            ifeq 347
       152: .line 335
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lconst_0:()V
       153: .line 336
            goto 347
       154: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       155: .line 338
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       156: .line 339
            iload 3 /* valueRequired */
            ifeq 347
       157: .line 340
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.land:()V
       158: .line 343
            goto 347
       159: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateLogicalAnd:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
       160: .line 348
      StackMap locals:
      StackMap stack:
            goto 347
       161: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 5 - 10
                    5: 192
                    6: 193
                    7: 177
                    8: 193
                    9: 193
                   10: 162
              default: 193
          }
       162: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 167
       163: .line 354
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 10
            if_icmpne 167
       164: .line 355
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 167
       165: .line 356
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       166: .line 357
            goto 347
       167: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 172
       168: .line 360
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 10
            if_icmpne 172
       169: .line 361
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 172
       170: .line 362
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       171: .line 363
            goto 347
       172: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       173: .line 365
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       174: .line 366
            iload 3 /* valueRequired */
            ifeq 347
       175: .line 367
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ior:()V
       176: .line 370
            goto 347
       177: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 182
       178: .line 374
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 7
            if_icmpne 182
       179: .line 375
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.longValue:()J
            lconst_0
            lcmp
            ifne 182
       180: .line 376
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       181: .line 377
            goto 347
       182: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 187
       183: .line 380
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 7
            if_icmpne 187
       184: .line 381
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.longValue:()J
            lconst_0
            lcmp
            ifne 187
       185: .line 382
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       186: .line 383
            goto 347
       187: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       188: .line 385
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       189: .line 386
            iload 3 /* valueRequired */
            ifeq 347
       190: .line 387
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lor:()V
       191: .line 390
            goto 347
       192: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateLogicalOr:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
       193: .line 395
      StackMap locals:
      StackMap stack:
            goto 347
       194: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 5 - 10
                    5: 225
                    6: 226
                    7: 210
                    8: 226
                    9: 226
                   10: 195
              default: 226
          }
       195: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 200
       196: .line 401
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 10
            if_icmpne 200
       197: .line 402
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 200
       198: .line 403
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       199: .line 404
            goto 347
       200: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 205
       201: .line 407
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 10
            if_icmpne 205
       202: .line 408
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 205
       203: .line 409
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       204: .line 410
            goto 347
       205: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       206: .line 412
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       207: .line 413
            iload 3 /* valueRequired */
            ifeq 347
       208: .line 414
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
       209: .line 417
            goto 347
       210: .line 420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 215
       211: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 7
            if_icmpne 215
       212: .line 422
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.longValue:()J
            lconst_0
            lcmp
            ifne 215
       213: .line 423
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       214: .line 424
            goto 347
       215: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 220
       216: .line 427
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
            bipush 7
            if_icmpne 220
       217: .line 428
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.longValue:()J
            lconst_0
            lcmp
            ifne 220
       218: .line 429
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       219: .line 430
            goto 347
       220: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       221: .line 432
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       222: .line 433
            iload 3 /* valueRequired */
            ifeq 347
       223: .line 434
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lxor:()V
       224: .line 437
            goto 347
       225: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 3 /* valueRequired */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateLogicalXor:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
       226: .line 442
      StackMap locals:
      StackMap stack:
            goto 347
       227: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 10
                    7: 233
                    8: 237
                    9: 237
                   10: 228
              default: 237
          }
       228: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       229: .line 447
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       230: .line 448
            iload 3 /* valueRequired */
            ifeq 347
       231: .line 449
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ishl:()V
       232: .line 450
            goto 347
       233: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       234: .line 453
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       235: .line 454
            iload 3 /* valueRequired */
            ifeq 347
       236: .line 455
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lshl:()V
       237: .line 457
      StackMap locals:
      StackMap stack:
            goto 347
       238: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 10
                    7: 244
                    8: 248
                    9: 248
                   10: 239
              default: 248
          }
       239: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       240: .line 462
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       241: .line 463
            iload 3 /* valueRequired */
            ifeq 347
       242: .line 464
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ishr:()V
       243: .line 465
            goto 347
       244: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       245: .line 468
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       246: .line 469
            iload 3 /* valueRequired */
            ifeq 347
       247: .line 470
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lshr:()V
       248: .line 472
      StackMap locals:
      StackMap stack:
            goto 347
       249: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            tableswitch { // 7 - 10
                    7: 255
                    8: 259
                    9: 259
                   10: 250
              default: 259
          }
       250: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       251: .line 477
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       252: .line 478
            iload 3 /* valueRequired */
            ifeq 347
       253: .line 479
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iushr:()V
       254: .line 480
            goto 347
       255: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       256: .line 483
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
       257: .line 484
            iload 3 /* valueRequired */
            ifeq 347
       258: .line 485
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lushr:()V
       259: .line 487
      StackMap locals:
      StackMap stack:
            goto 347
       260: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       261: .line 491
            aload 1 /* currentScope */
       262: .line 492
            aload 2 /* codeStream */
       263: .line 493
            aconst_null
       264: .line 494
            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 5 /* falseLabel */
        start local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       265: .line 495
            iload 3 /* valueRequired */
       266: .line 490
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedGreaterThan:(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
       267: .line 496
            iload 3 /* valueRequired */
            ifeq 347
       268: .line 497
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
       269: .line 498
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 16
            iand
            ifeq 275
       270: .line 499
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
       271: .line 500
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
       272: .line 501
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       273: .line 502
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       274: .line 503
            goto 347
       275: .line 504
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            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 /* endLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       276: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       277: .line 505
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
       278: .line 506
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       279: .line 507
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       280: .line 508
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       281: .line 511
            goto 347
        end local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       282: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       283: .line 514
            aload 1 /* currentScope */
       284: .line 515
            aload 2 /* codeStream */
       285: .line 516
            aconst_null
       286: .line 517
            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 5 /* falseLabel */
        start local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       287: .line 518
            iload 3 /* valueRequired */
       288: .line 513
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedGreaterThanOrEqual:(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
       289: .line 519
            iload 3 /* valueRequired */
            ifeq 347
       290: .line 520
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
       291: .line 521
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 16
            iand
            ifeq 297
       292: .line 522
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
       293: .line 523
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
       294: .line 524
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       295: .line 525
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       296: .line 526
            goto 347
       297: .line 527
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            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 /* endLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       298: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       299: .line 528
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
       300: .line 529
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       301: .line 530
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       302: .line 531
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       303: .line 534
            goto 347
        end local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       304: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       305: .line 537
            aload 1 /* currentScope */
       306: .line 538
            aload 2 /* codeStream */
       307: .line 539
            aconst_null
       308: .line 540
            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 5 /* falseLabel */
        start local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       309: .line 541
            iload 3 /* valueRequired */
       310: .line 536
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedLessThan:(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
       311: .line 542
            iload 3 /* valueRequired */
            ifeq 347
       312: .line 543
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
       313: .line 544
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 16
            iand
            ifeq 319
       314: .line 545
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
       315: .line 546
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
       316: .line 547
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       317: .line 548
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       318: .line 549
            goto 347
       319: .line 550
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            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 /* endLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       320: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       321: .line 551
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
       322: .line 552
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       323: .line 553
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       324: .line 554
            aload 6 /* endLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       325: .line 557
            goto 347
        end local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       326: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       327: .line 560
            aload 1 /* currentScope */
       328: .line 561
            aload 2 /* codeStream */
       329: .line 562
            aconst_null
       330: .line 563
            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 5 /* falseLabel */
        start local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
       331: .line 564
            iload 3 /* valueRequired */
       332: .line 559
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedLessThanOrEqual:(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
       333: .line 565
            iload 3 /* valueRequired */
            ifeq 347
       334: .line 566
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
       335: .line 567
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 16
            iand
            ifeq 341
       336: .line 568
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
       337: .line 569
            aload 2 /* codeStream */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateReturnBytecode:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
       338: .line 570
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       339: .line 571
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       340: .line 572
            goto 347
       341: .line 573
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            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 /* endLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endLabel
       342: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       343: .line 574
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
       344: .line 575
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       345: .line 576
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
       346: .line 577
            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
       347: .line 581
      StackMap locals:
      StackMap stack:
            iload 3 /* valueRequired */
            ifeq 349
       348: .line 582
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
       349: .line 584
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
       350: .line 585
            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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  351     0           this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0  351     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0  351     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0  351     3  valueRequired  Z
            1  351     4             pc  I
          265  282     5     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
          287  304     5     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
          309  326     5     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
          331  347     5     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
          276  281     6       endLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
          298  303     6       endLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
          320  325     6       endLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
          342  347     6       endLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    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.BinaryExpression 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 593
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 9
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
            iconst_5
            if_icmpne 9
         1: .line 594
            aload 0 /* this */
         2: .line 595
            aload 1 /* currentScope */
         3: .line 596
            aload 2 /* codeStream */
         4: .line 597
            aload 3 /* trueLabel */
         5: .line 598
            aload 4 /* falseLabel */
         6: .line 599
            iload 5 /* valueRequired */
         7: .line 594
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.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
         8: .line 600
            return
         9: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            tableswitch { // 2 - 8
                    2: 42
                    3: 50
                    4: 10
                    5: 18
                    6: 26
                    7: 34
                    8: 58
              default: 66
          }
        10: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        11: .line 605
            aload 1 /* currentScope */
        12: .line 606
            aload 2 /* codeStream */
        13: .line 607
            aload 3 /* trueLabel */
        14: .line 608
            aload 4 /* falseLabel */
        15: .line 609
            iload 5 /* valueRequired */
        16: .line 604
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedLessThan:(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
        17: .line 610
            return
        18: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        19: .line 613
            aload 1 /* currentScope */
        20: .line 614
            aload 2 /* codeStream */
        21: .line 615
            aload 3 /* trueLabel */
        22: .line 616
            aload 4 /* falseLabel */
        23: .line 617
            iload 5 /* valueRequired */
        24: .line 612
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedLessThanOrEqual:(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
        25: .line 618
            return
        26: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        27: .line 621
            aload 1 /* currentScope */
        28: .line 622
            aload 2 /* codeStream */
        29: .line 623
            aload 3 /* trueLabel */
        30: .line 624
            aload 4 /* falseLabel */
        31: .line 625
            iload 5 /* valueRequired */
        32: .line 620
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedGreaterThan:(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
        33: .line 626
            return
        34: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        35: .line 629
            aload 1 /* currentScope */
        36: .line 630
            aload 2 /* codeStream */
        37: .line 631
            aload 3 /* trueLabel */
        38: .line 632
            aload 4 /* falseLabel */
        39: .line 633
            iload 5 /* valueRequired */
        40: .line 628
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedGreaterThanOrEqual:(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
        41: .line 634
            return
        42: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        43: .line 637
            aload 1 /* currentScope */
        44: .line 638
            aload 2 /* codeStream */
        45: .line 639
            aload 3 /* trueLabel */
        46: .line 640
            aload 4 /* falseLabel */
        47: .line 641
            iload 5 /* valueRequired */
        48: .line 636
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedLogicalAnd:(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
        49: .line 642
            return
        50: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        51: .line 645
            aload 1 /* currentScope */
        52: .line 646
            aload 2 /* codeStream */
        53: .line 647
            aload 3 /* trueLabel */
        54: .line 648
            aload 4 /* falseLabel */
        55: .line 649
            iload 5 /* valueRequired */
        56: .line 644
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedLogicalOr:(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 650
            return
        58: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        59: .line 653
            aload 1 /* currentScope */
        60: .line 654
            aload 2 /* codeStream */
        61: .line 655
            aload 3 /* trueLabel */
        62: .line 656
            aload 4 /* falseLabel */
        63: .line 657
            iload 5 /* valueRequired */
        64: .line 652
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateOptimizedLogicalXor:(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
        65: .line 658
            return
        66: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        67: .line 661
            aload 1 /* currentScope */
        68: .line 662
            aload 2 /* codeStream */
        69: .line 663
            aload 3 /* trueLabel */
        70: .line 664
            aload 4 /* falseLabel */
        71: .line 665
            iload 5 /* valueRequired */
        72: .line 660
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.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
        73: .line 666
            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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   74     0           this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   74     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   74     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   74     3      trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   74     4     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   74     5  valueRequired  Z
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateOptimizedGreaterThan(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=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 672
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            istore 6 /* promotedTypeID */
        start local 6 // int promotedTypeID
         1: .line 674
            iload 6 /* promotedTypeID */
            bipush 10
            if_icmpne 24
         2: .line 676
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.BinaryExpression.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.intValue:()I
            ifne 13
         3: .line 677
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         4: .line 678
            iload 5 /* valueRequired */
            ifeq 11
         5: .line 679
            aload 4 /* falseLabel */
            ifnonnull 9
         6: .line 680
            aload 3 /* trueLabel */
            ifnull 11
         7: .line 682
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
         8: .line 684
            goto 11
         9: .line 685
      StackMap locals: int
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 11
        10: .line 687
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        11: .line 694
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        12: .line 695
            return
        13: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 24
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 24
        14: .line 699
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        15: .line 700
            iload 5 /* valueRequired */
            ifeq 22
        16: .line 701
            aload 4 /* falseLabel */
            ifnonnull 20
        17: .line 702
            aload 3 /* trueLabel */
            ifnull 22
        18: .line 704
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        19: .line 706
            goto 22
        20: .line 707
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 22
        21: .line 709
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        22: .line 716
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        23: .line 717
            return
        24: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        25: .line 722
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        26: .line 723
            iload 5 /* valueRequired */
            ifeq 56
        27: .line 724
            aload 4 /* falseLabel */
            ifnonnull 42
        28: .line 725
            aload 3 /* trueLabel */
            ifnull 56
        29: .line 727
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 35
                    8: 38
                    9: 32
                   10: 30
              default: 40
          }
        30: .line 729
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        31: .line 730
            goto 40
        32: .line 732
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
        33: .line 733
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        34: .line 734
            goto 40
        35: .line 736
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        36: .line 737
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        37: .line 738
            goto 40
        38: .line 740
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
        39: .line 741
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        40: .line 744
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        41: .line 745
            return
        42: .line 748
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 56
        43: .line 750
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 49
                    8: 52
                    9: 46
                   10: 44
              default: 54
          }
        44: .line 752
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmple:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        45: .line 753
            goto 54
        46: .line 755
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
        47: .line 756
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        48: .line 757
            goto 54
        49: .line 759
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        50: .line 760
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        51: .line 761
            goto 54
        52: .line 763
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
        53: .line 764
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        54: .line 767
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        55: .line 768
            return
        56: .line 774
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int promotedTypeID
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   57     0            this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   57     1    currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   57     2      codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   57     3       trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     4      falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     5   valueRequired  Z
            1   57     6  promotedTypeID  I
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateOptimizedGreaterThanOrEqual(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=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 780
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            istore 6 /* promotedTypeID */
        start local 6 // int promotedTypeID
         1: .line 782
            iload 6 /* promotedTypeID */
            bipush 10
            if_icmpne 24
         2: .line 784
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.BinaryExpression.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.intValue:()I
            ifne 13
         3: .line 785
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         4: .line 786
            iload 5 /* valueRequired */
            ifeq 11
         5: .line 787
            aload 4 /* falseLabel */
            ifnonnull 9
         6: .line 788
            aload 3 /* trueLabel */
            ifnull 11
         7: .line 790
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
         8: .line 792
            goto 11
         9: .line 793
      StackMap locals: int
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 11
        10: .line 795
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        11: .line 802
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        12: .line 803
            return
        13: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 24
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 24
        14: .line 807
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        15: .line 808
            iload 5 /* valueRequired */
            ifeq 22
        16: .line 809
            aload 4 /* falseLabel */
            ifnonnull 20
        17: .line 810
            aload 3 /* trueLabel */
            ifnull 22
        18: .line 812
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        19: .line 814
            goto 22
        20: .line 815
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 22
        21: .line 817
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        22: .line 824
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        23: .line 825
            return
        24: .line 829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        25: .line 830
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        26: .line 831
            iload 5 /* valueRequired */
            ifeq 56
        27: .line 832
            aload 4 /* falseLabel */
            ifnonnull 42
        28: .line 833
            aload 3 /* trueLabel */
            ifnull 56
        29: .line 835
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 35
                    8: 38
                    9: 32
                   10: 30
              default: 40
          }
        30: .line 837
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        31: .line 838
            goto 40
        32: .line 840
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
        33: .line 841
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        34: .line 842
            goto 40
        35: .line 844
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        36: .line 845
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        37: .line 846
            goto 40
        38: .line 848
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
        39: .line 849
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        40: .line 852
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        41: .line 853
            return
        42: .line 856
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 56
        43: .line 858
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 49
                    8: 52
                    9: 46
                   10: 44
              default: 54
          }
        44: .line 860
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmplt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        45: .line 861
            goto 54
        46: .line 863
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpl:()V
        47: .line 864
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        48: .line 865
            goto 54
        49: .line 867
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        50: .line 868
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        51: .line 869
            goto 54
        52: .line 871
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpl:()V
        53: .line 872
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        54: .line 875
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        55: .line 876
            return
        56: .line 882
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int promotedTypeID
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   57     0            this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   57     1    currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   57     2      codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   57     3       trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     4      falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     5   valueRequired  Z
            1   57     6  promotedTypeID  I
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateOptimizedLessThan(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=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 888
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            istore 6 /* promotedTypeID */
        start local 6 // int promotedTypeID
         1: .line 890
            iload 6 /* promotedTypeID */
            bipush 10
            if_icmpne 24
         2: .line 892
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.BinaryExpression.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.intValue:()I
            ifne 13
         3: .line 893
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         4: .line 894
            iload 5 /* valueRequired */
            ifeq 11
         5: .line 895
            aload 4 /* falseLabel */
            ifnonnull 9
         6: .line 896
            aload 3 /* trueLabel */
            ifnull 11
         7: .line 898
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
         8: .line 900
            goto 11
         9: .line 901
      StackMap locals: int
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 11
        10: .line 903
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        11: .line 909
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        12: .line 910
            return
        13: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 24
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 24
        14: .line 914
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        15: .line 915
            iload 5 /* valueRequired */
            ifeq 22
        16: .line 916
            aload 4 /* falseLabel */
            ifnonnull 20
        17: .line 917
            aload 3 /* trueLabel */
            ifnull 22
        18: .line 919
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        19: .line 921
            goto 22
        20: .line 922
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 22
        21: .line 924
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        22: .line 930
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        23: .line 931
            return
        24: .line 935
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        25: .line 936
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        26: .line 937
            iload 5 /* valueRequired */
            ifeq 56
        27: .line 938
            aload 4 /* falseLabel */
            ifnonnull 42
        28: .line 939
            aload 3 /* trueLabel */
            ifnull 56
        29: .line 941
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 35
                    8: 38
                    9: 32
                   10: 30
              default: 40
          }
        30: .line 943
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmplt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        31: .line 944
            goto 40
        32: .line 946
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpg:()V
        33: .line 947
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        34: .line 948
            goto 40
        35: .line 950
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        36: .line 951
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        37: .line 952
            goto 40
        38: .line 954
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpg:()V
        39: .line 955
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        40: .line 957
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        41: .line 958
            return
        42: .line 961
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 56
        43: .line 963
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 49
                    8: 52
                    9: 46
                   10: 44
              default: 54
          }
        44: .line 965
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        45: .line 966
            goto 54
        46: .line 968
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpg:()V
        47: .line 969
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        48: .line 970
            goto 54
        49: .line 972
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        50: .line 973
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        51: .line 974
            goto 54
        52: .line 976
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpg:()V
        53: .line 977
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        54: .line 979
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        55: .line 980
            return
        56: .line 986
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int promotedTypeID
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   57     0            this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   57     1    currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   57     2      codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   57     3       trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     4      falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     5   valueRequired  Z
            1   57     6  promotedTypeID  I
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateOptimizedLessThanOrEqual(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=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 992
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            istore 6 /* promotedTypeID */
        start local 6 // int promotedTypeID
         1: .line 994
            iload 6 /* promotedTypeID */
            bipush 10
            if_icmpne 24
         2: .line 996
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.BinaryExpression.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.intValue:()I
            ifne 13
         3: .line 997
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         4: .line 998
            iload 5 /* valueRequired */
            ifeq 11
         5: .line 999
            aload 4 /* falseLabel */
            ifnonnull 9
         6: .line 1000
            aload 3 /* trueLabel */
            ifnull 11
         7: .line 1002
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifge:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
         8: .line 1004
            goto 11
         9: .line 1005
      StackMap locals: int
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 11
        10: .line 1007
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iflt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        11: .line 1014
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        12: .line 1015
            return
        13: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 24
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.intValue:()I
            ifne 24
        14: .line 1019
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        15: .line 1020
            iload 5 /* valueRequired */
            ifeq 22
        16: .line 1021
            aload 4 /* falseLabel */
            ifnonnull 20
        17: .line 1022
            aload 3 /* trueLabel */
            ifnull 22
        18: .line 1024
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        19: .line 1026
            goto 22
        20: .line 1027
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 22
        21: .line 1029
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        22: .line 1036
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        23: .line 1037
            return
        24: .line 1041
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        25: .line 1042
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        26: .line 1043
            iload 5 /* valueRequired */
            ifeq 56
        27: .line 1044
            aload 4 /* falseLabel */
            ifnonnull 42
        28: .line 1045
            aload 3 /* trueLabel */
            ifnull 56
        29: .line 1047
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 35
                    8: 38
                    9: 32
                   10: 30
              default: 40
          }
        30: .line 1049
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmple:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        31: .line 1050
            goto 40
        32: .line 1052
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpg:()V
        33: .line 1053
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        34: .line 1054
            goto 40
        35: .line 1056
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        36: .line 1057
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        37: .line 1058
            goto 40
        38: .line 1060
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpg:()V
        39: .line 1061
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifle:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        40: .line 1064
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        41: .line 1065
            return
        42: .line 1068
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 56
        43: .line 1070
            iload 6 /* promotedTypeID */
            tableswitch { // 7 - 10
                    7: 49
                    8: 52
                    9: 46
                   10: 44
              default: 54
          }
        44: .line 1072
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_icmpgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        45: .line 1073
            goto 54
        46: .line 1075
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fcmpg:()V
        47: .line 1076
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        48: .line 1077
            goto 54
        49: .line 1079
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lcmp:()V
        50: .line 1080
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        51: .line 1081
            goto 54
        52: .line 1083
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dcmpg:()V
        53: .line 1084
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifgt:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        54: .line 1087
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        55: .line 1088
            return
        56: .line 1094
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int promotedTypeID
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   57     0            this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   57     1    currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   57     2      codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   57     3       trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     4      falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   57     5   valueRequired  Z
            1   57     6  promotedTypeID  I
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateLogicalAnd(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.BinaryExpression 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 1101
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 24
         1: .line 1102
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* condConst */
        start local 4 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
         2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 13
         3: .line 1103
            aload 4 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 7
         4: .line 1105
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         5: .line 1106
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         6: .line 1107
            goto 12
         7: .line 1109
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 1110
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 1111
            iload 3 /* valueRequired */
            ifeq 11
        10: .line 1112
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        11: .line 1115
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        12: .line 1117
      StackMap locals:
      StackMap stack:
            return
        13: .line 1119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* condConst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 24
        14: .line 1120
            aload 4 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 18
        15: .line 1122
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        16: .line 1123
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        17: .line 1124
            goto 23
        18: .line 1126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        19: .line 1127
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        20: .line 1128
            iload 3 /* valueRequired */
            ifeq 22
        21: .line 1129
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        22: .line 1132
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        23: .line 1134
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
        24: .line 1138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        25: .line 1139
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 1140
            iload 3 /* valueRequired */
            ifeq 28
        27: .line 1141
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iand:()V
        28: .line 1143
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        29: .line 1144
            return
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   30     0           this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   30     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   30     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   30     3  valueRequired  Z
            2   24     4      condConst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public void generateLogicalOr(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.BinaryExpression 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 1151
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 24
         1: .line 1152
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* condConst */
        start local 4 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
         2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 13
         3: .line 1153
            aload 4 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 10
         4: .line 1155
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         5: .line 1156
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         6: .line 1157
            iload 3 /* valueRequired */
            ifeq 8
         7: .line 1158
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
         8: .line 1160
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
         9: .line 1161
            goto 12
        10: .line 1163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        11: .line 1164
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        12: .line 1166
      StackMap locals:
      StackMap stack:
            return
        13: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* condConst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 24
        14: .line 1169
            aload 4 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 21
        15: .line 1171
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        16: .line 1172
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        17: .line 1173
            iload 3 /* valueRequired */
            ifeq 19
        18: .line 1174
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        19: .line 1176
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        20: .line 1177
            goto 23
        21: .line 1179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        22: .line 1180
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        23: .line 1182
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
        24: .line 1186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        25: .line 1187
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 1188
            iload 3 /* valueRequired */
            ifeq 28
        27: .line 1189
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ior:()V
        28: .line 1191
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        29: .line 1192
            return
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   30     0           this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   30     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   30     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   30     3  valueRequired  Z
            2   24     4      condConst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public void generateLogicalXor(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.BinaryExpression 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 1199
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 27
         1: .line 1200
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* condConst */
        start local 4 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
         2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 15
         3: .line 1201
            aload 4 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 12
         4: .line 1203
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         5: .line 1204
            iload 3 /* valueRequired */
            ifeq 7
         6: .line 1205
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
         7: .line 1207
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         8: .line 1208
            iload 3 /* valueRequired */
            ifeq 14
         9: .line 1209
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
        10: .line 1210
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        11: .line 1212
            goto 14
        12: .line 1214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        13: .line 1215
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        14: .line 1217
      StackMap locals:
      StackMap stack:
            return
        15: .line 1219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* condConst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 27
        16: .line 1220
            aload 4 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 24
        17: .line 1222
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        18: .line 1223
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        19: .line 1224
            iload 3 /* valueRequired */
            ifeq 26
        20: .line 1225
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        21: .line 1226
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
        22: .line 1227
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        23: .line 1229
            goto 26
        24: .line 1231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        25: .line 1232
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        26: .line 1234
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
        27: .line 1238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        28: .line 1239
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        29: .line 1240
            iload 3 /* valueRequired */
            ifeq 31
        30: .line 1241
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
        31: .line 1243
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        32: .line 1244
            return
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   33     0           this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   33     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   33     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   33     3  valueRequired  Z
            2   27     4      condConst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public void generateOptimizedLogicalAnd(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=8, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 1251
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 76
         1: .line 1252
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 6 /* condConst */
        start local 6 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
         2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 38
         3: .line 1253
            aload 6 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 19
         4: .line 1255
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         5: .line 1256
            aload 1 /* currentScope */
         6: .line 1257
            aload 2 /* codeStream */
         7: .line 1258
            aload 3 /* trueLabel */
         8: .line 1259
            aload 4 /* falseLabel */
         9: .line 1260
            iconst_0
        10: .line 1255
            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
        11: .line 1261
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        12: .line 1262
            aload 1 /* currentScope */
        13: .line 1263
            aload 2 /* codeStream */
        14: .line 1264
            aload 3 /* trueLabel */
        15: .line 1265
            aload 4 /* falseLabel */
        16: .line 1266
            iload 5 /* valueRequired */
        17: .line 1261
            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
        18: .line 1267
            goto 37
        19: .line 1269
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        20: .line 1270
            aload 1 /* currentScope */
        21: .line 1271
            aload 2 /* codeStream */
        22: .line 1272
            aload 3 /* trueLabel */
        23: .line 1273
            aload 4 /* falseLabel */
        24: .line 1274
            iconst_0
        25: .line 1269
            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
        26: .line 1275
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        27: .line 1276
            aload 1 /* currentScope */
        28: .line 1277
            aload 2 /* codeStream */
        29: .line 1278
            aload 3 /* trueLabel */
        30: .line 1279
            aload 4 /* falseLabel */
        31: .line 1280
            iconst_0
        32: .line 1275
            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
        33: .line 1281
            iload 5 /* valueRequired */
            ifeq 36
        34: .line 1282
            aload 4 /* falseLabel */
            ifnull 36
        35: .line 1284
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        36: .line 1287
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        37: .line 1289
      StackMap locals:
      StackMap stack:
            return
        38: .line 1291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 6 /* condConst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 76
        39: .line 1292
            aload 6 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 55
        40: .line 1294
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        41: .line 1295
            aload 1 /* currentScope */
        42: .line 1296
            aload 2 /* codeStream */
        43: .line 1297
            aload 3 /* trueLabel */
        44: .line 1298
            aload 4 /* falseLabel */
        45: .line 1299
            iload 5 /* valueRequired */
        46: .line 1294
            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
        47: .line 1300
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        48: .line 1301
            aload 1 /* currentScope */
        49: .line 1302
            aload 2 /* codeStream */
        50: .line 1303
            aload 3 /* trueLabel */
        51: .line 1304
            aload 4 /* falseLabel */
        52: .line 1305
            iconst_0
        53: .line 1300
            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
        54: .line 1306
            goto 75
        55: .line 1308
      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 /* internalTrueLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel internalTrueLabel
        56: .line 1309
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        57: .line 1310
            aload 1 /* currentScope */
        58: .line 1311
            aload 2 /* codeStream */
        59: .line 1312
            aload 7 /* internalTrueLabel */
        60: .line 1313
            aload 4 /* falseLabel */
        61: .line 1314
            iconst_0
        62: .line 1309
            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
        63: .line 1315
            aload 7 /* internalTrueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        64: .line 1316
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        65: .line 1317
            aload 1 /* currentScope */
        66: .line 1318
            aload 2 /* codeStream */
        67: .line 1319
            aload 3 /* trueLabel */
        68: .line 1320
            aload 4 /* falseLabel */
        69: .line 1321
            iconst_0
        70: .line 1316
            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
        71: .line 1322
            iload 5 /* valueRequired */
            ifeq 74
        72: .line 1323
            aload 4 /* falseLabel */
            ifnull 74
        73: .line 1325
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        74: .line 1328
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel internalTrueLabel
        75: .line 1330
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
        76: .line 1334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        77: .line 1335
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        78: .line 1336
            iload 5 /* valueRequired */
            ifeq 86
        79: .line 1337
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iand:()V
        80: .line 1338
            aload 4 /* falseLabel */
            ifnonnull 84
        81: .line 1339
            aload 3 /* trueLabel */
            ifnull 86
        82: .line 1341
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        83: .line 1343
            goto 86
        84: .line 1345
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 86
        85: .line 1346
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        86: .line 1352
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        87: .line 1353
            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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   88     0               this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   88     1       currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   88     2         codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   88     3          trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   88     4         falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   88     5      valueRequired  Z
            2   76     6          condConst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
           56   75     7  internalTrueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateOptimizedLogicalOr(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=8, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression 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 1360
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 78
         1: .line 1361
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 6 /* condConst */
        start local 6 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
         2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 40
         3: .line 1362
            aload 6 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 25
         4: .line 1364
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         5: .line 1365
            aload 1 /* currentScope */
         6: .line 1366
            aload 2 /* codeStream */
         7: .line 1367
            aload 3 /* trueLabel */
         8: .line 1368
            aload 4 /* falseLabel */
         9: .line 1369
            iconst_0
        10: .line 1364
            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
        11: .line 1370
            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 /* internalFalseLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel internalFalseLabel
        12: .line 1371
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        13: .line 1372
            aload 1 /* currentScope */
        14: .line 1373
            aload 2 /* codeStream */
        15: .line 1374
            aload 3 /* trueLabel */
        16: .line 1375
            aload 7 /* internalFalseLabel */
        17: .line 1376
            iconst_0
        18: .line 1371
            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
        19: .line 1377
            aload 7 /* internalFalseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        20: .line 1378
            iload 5 /* valueRequired */
            ifeq 23
        21: .line 1379
            aload 3 /* trueLabel */
            ifnull 23
        22: .line 1380
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        23: .line 1383
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel internalFalseLabel
        24: .line 1384
            goto 39
        25: .line 1386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        26: .line 1387
            aload 1 /* currentScope */
        27: .line 1388
            aload 2 /* codeStream */
        28: .line 1389
            aload 3 /* trueLabel */
        29: .line 1390
            aload 4 /* falseLabel */
        30: .line 1391
            iconst_0
        31: .line 1386
            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
        32: .line 1392
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        33: .line 1393
            aload 1 /* currentScope */
        34: .line 1394
            aload 2 /* codeStream */
        35: .line 1395
            aload 3 /* trueLabel */
        36: .line 1396
            aload 4 /* falseLabel */
        37: .line 1397
            iload 5 /* valueRequired */
        38: .line 1392
            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
        39: .line 1399
      StackMap locals:
      StackMap stack:
            return
        40: .line 1401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 6 /* condConst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 78
        41: .line 1402
            aload 6 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 63
        42: .line 1404
            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 /* internalFalseLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel internalFalseLabel
        43: .line 1405
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        44: .line 1406
            aload 1 /* currentScope */
        45: .line 1407
            aload 2 /* codeStream */
        46: .line 1408
            aload 3 /* trueLabel */
        47: .line 1409
            aload 7 /* internalFalseLabel */
        48: .line 1410
            iconst_0
        49: .line 1405
            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
        50: .line 1411
            aload 7 /* internalFalseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        51: .line 1412
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        52: .line 1413
            aload 1 /* currentScope */
        53: .line 1414
            aload 2 /* codeStream */
        54: .line 1415
            aload 3 /* trueLabel */
        55: .line 1416
            aload 4 /* falseLabel */
        56: .line 1417
            iconst_0
        57: .line 1412
            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
        58: .line 1418
            iload 5 /* valueRequired */
            ifeq 61
        59: .line 1419
            aload 3 /* trueLabel */
            ifnull 61
        60: .line 1420
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        61: .line 1423
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel internalFalseLabel
        62: .line 1424
            goto 77
        63: .line 1426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        64: .line 1427
            aload 1 /* currentScope */
        65: .line 1428
            aload 2 /* codeStream */
        66: .line 1429
            aload 3 /* trueLabel */
        67: .line 1430
            aload 4 /* falseLabel */
        68: .line 1431
            iload 5 /* valueRequired */
        69: .line 1426
            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
        70: .line 1432
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        71: .line 1433
            aload 1 /* currentScope */
        72: .line 1434
            aload 2 /* codeStream */
        73: .line 1435
            aload 3 /* trueLabel */
        74: .line 1436
            aload 4 /* falseLabel */
        75: .line 1437
            iconst_0
        76: .line 1432
            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
        77: .line 1439
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
        78: .line 1443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        79: .line 1444
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        80: .line 1445
            iload 5 /* valueRequired */
            ifeq 88
        81: .line 1446
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ior:()V
        82: .line 1447
            aload 4 /* falseLabel */
            ifnonnull 86
        83: .line 1448
            aload 3 /* trueLabel */
            ifnull 88
        84: .line 1450
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        85: .line 1452
            goto 88
        86: .line 1454
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 88
        87: .line 1455
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        88: .line 1461
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        89: .line 1462
            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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   90     0                this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            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
            2   78     6           condConst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
           12   24     7  internalFalseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
           43   62     7  internalFalseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateOptimizedLogicalXor(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.BinaryExpression 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 1469
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 66
         1: .line 1470
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 6 /* condConst */
        start local 6 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
         2: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 34
         3: .line 1471
            aload 6 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 19
         4: .line 1473
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         5: .line 1474
            aload 1 /* currentScope */
         6: .line 1475
            aload 2 /* codeStream */
         7: .line 1476
            aload 3 /* trueLabel */
         8: .line 1477
            aload 4 /* falseLabel */
         9: .line 1478
            iconst_0
        10: .line 1473
            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
        11: .line 1479
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        12: .line 1480
            aload 1 /* currentScope */
        13: .line 1481
            aload 2 /* codeStream */
        14: .line 1482
            aload 4 /* falseLabel */
        15: .line 1483
            aload 3 /* trueLabel */
        16: .line 1484
            iload 5 /* valueRequired */
        17: .line 1479
            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
        18: .line 1485
            goto 33
        19: .line 1487
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        20: .line 1488
            aload 1 /* currentScope */
        21: .line 1489
            aload 2 /* codeStream */
        22: .line 1490
            aload 3 /* trueLabel */
        23: .line 1491
            aload 4 /* falseLabel */
        24: .line 1492
            iconst_0
        25: .line 1487
            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
        26: .line 1493
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        27: .line 1494
            aload 1 /* currentScope */
        28: .line 1495
            aload 2 /* codeStream */
        29: .line 1496
            aload 3 /* trueLabel */
        30: .line 1497
            aload 4 /* falseLabel */
        31: .line 1498
            iload 5 /* valueRequired */
        32: .line 1493
            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
        33: .line 1500
      StackMap locals:
      StackMap stack:
            return
        34: .line 1502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 6 /* condConst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 66
        35: .line 1503
            aload 6 /* condConst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 51
        36: .line 1505
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        37: .line 1506
            aload 1 /* currentScope */
        38: .line 1507
            aload 2 /* codeStream */
        39: .line 1508
            aload 4 /* falseLabel */
        40: .line 1509
            aload 3 /* trueLabel */
        41: .line 1510
            iload 5 /* valueRequired */
        42: .line 1505
            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
        43: .line 1511
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        44: .line 1512
            aload 1 /* currentScope */
        45: .line 1513
            aload 2 /* codeStream */
        46: .line 1514
            aload 3 /* trueLabel */
        47: .line 1515
            aload 4 /* falseLabel */
        48: .line 1516
            iconst_0
        49: .line 1511
            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
        50: .line 1517
            goto 65
        51: .line 1519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        52: .line 1520
            aload 1 /* currentScope */
        53: .line 1521
            aload 2 /* codeStream */
        54: .line 1522
            aload 3 /* trueLabel */
        55: .line 1523
            aload 4 /* falseLabel */
        56: .line 1524
            iload 5 /* valueRequired */
        57: .line 1519
            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
        58: .line 1525
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        59: .line 1526
            aload 1 /* currentScope */
        60: .line 1527
            aload 2 /* codeStream */
        61: .line 1528
            aload 3 /* trueLabel */
        62: .line 1529
            aload 4 /* falseLabel */
        63: .line 1530
            iconst_0
        64: .line 1525
            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
        65: .line 1532
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.jdt.internal.compiler.impl.Constant condConst
        66: .line 1536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        67: .line 1537
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        68: .line 1538
            iload 5 /* valueRequired */
            ifeq 76
        69: .line 1539
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
        70: .line 1540
            aload 4 /* falseLabel */
            ifnonnull 74
        71: .line 1541
            aload 3 /* trueLabel */
            ifnull 76
        72: .line 1543
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        73: .line 1545
            goto 76
        74: .line 1547
      StackMap locals:
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 76
        75: .line 1548
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        76: .line 1554
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        77: .line 1555
            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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   78     0           this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   78     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   78     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   78     3      trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   78     4     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   78     5  valueRequired  Z
            2   66     6      condConst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  public void generateOptimizedStringConcatenation(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // int typeID
         0: .line 1566
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 14
            if_icmpne 21
         1: .line 1567
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            bipush 11
            if_icmpne 21
         2: .line 1568
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         3: .line 1569
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;I)V
         4: .line 1570
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.implicitConversion:I
            bipush 15
            iand
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringConcatenationAppendForType:(I)V
         5: .line 1571
            goto 22
         6: .line 1572
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         7: .line 1573
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         8: .line 1574
            aload 1 /* blockScope */
         9: .line 1575
            aload 2 /* codeStream */
        10: .line 1576
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            bipush 15
            iand
        11: .line 1573
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedStringConcatenation:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
        12: .line 1577
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        13: .line 1578
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        14: .line 1579
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        15: .line 1580
            aload 1 /* blockScope */
        16: .line 1581
            aload 2 /* codeStream */
        17: .line 1582
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            bipush 15
            iand
        18: .line 1579
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedStringConcatenation:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
        19: .line 1583
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 4 // int pc
        20: .line 1585
            goto 22
        21: .line 1586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockScope */
            aload 2 /* codeStream */
            iload 3 /* typeID */
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.generateOptimizedStringConcatenation:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
        22: .line 1588
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int typeID
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   23     1  blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   23     2  codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   23     3      typeID  I
            7   20     4          pc  I
    MethodParameters:
            Name  Flags
      blockScope  
      codeStream  
      typeID      

  public void generateOptimizedStringConcatenationCreation(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // int typeID
         0: .line 1598
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 14
            if_icmpne 23
         1: .line 1599
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            bipush 15
            iand
            bipush 11
            if_icmpne 23
         2: .line 1600
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         3: .line 1601
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.newStringContatenation:()V
         4: .line 1602
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dup:()V
         5: .line 1603
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.stringValue:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ldc:(Ljava/lang/String;)V
         6: .line 1604
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringConcatenationStringConstructor:()V
         7: .line 1606
            goto 24
         8: .line 1607
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         9: .line 1608
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        10: .line 1609
            aload 1 /* blockScope */
        11: .line 1610
            aload 2 /* codeStream */
        12: .line 1611
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            bipush 15
            iand
        13: .line 1608
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedStringConcatenationCreation:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
        14: .line 1612
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        15: .line 1613
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        16: .line 1614
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        17: .line 1615
            aload 1 /* blockScope */
        18: .line 1616
            aload 2 /* codeStream */
        19: .line 1617
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            bipush 15
            iand
        20: .line 1614
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedStringConcatenation:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
        21: .line 1618
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 4 // int pc
        22: .line 1620
            goto 24
        23: .line 1621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockScope */
            aload 2 /* codeStream */
            iload 3 /* typeID */
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.generateOptimizedStringConcatenationCreation:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;I)V
        24: .line 1623
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int typeID
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   25     1  blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   25     2  codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   25     3      typeID  I
            9   22     4          pc  I
    MethodParameters:
            Name  Flags
      blockScope  
      codeStream  
      typeID      

  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.BinaryExpression this
         0: .line 1627
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;

  void nonRecursiveResolveTypeUpwards(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 1640
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* leftType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
         1: .line 1642
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         2: ifeq 4
         3: .line 1643
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
         4: .line 1645
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.BinaryExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope top int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 /* rightType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
         5: .line 1648
            aload 4 /* leftType */
            ifnull 6
            aload 5 /* rightType */
            ifnonnull 8
         6: .line 1649
      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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         7: .line 1650
            return
         8: .line 1653
      StackMap locals:
      StackMap stack:
            aload 4 /* leftType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 6 /* leftTypeID */
        start local 6 // int leftTypeID
         9: .line 1654
            aload 5 /* rightType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 7 /* rightTypeID */
        start local 7 // int rightTypeID
        10: .line 1657
            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.sourceLevel:J
            ldc 3211264
            lcmp
            iflt 11
            iconst_1
            goto 12
      StackMap locals: int int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 8 /* use15specifics */
        start local 8 // boolean use15specifics
        13: .line 1658
            iload 8 /* use15specifics */
            ifeq 18
        14: .line 1659
            aload 4 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 16
            iload 7 /* rightTypeID */
            bipush 11
            if_icmpeq 16
            iload 7 /* rightTypeID */
            bipush 12
            if_icmpeq 16
        15: .line 1660
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 4 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 6 /* leftTypeID */
        16: .line 1662
      StackMap locals: int
      StackMap stack:
            aload 5 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 18
            iload 6 /* leftTypeID */
            bipush 11
            if_icmpeq 18
            iload 6 /* leftTypeID */
            bipush 12
            if_icmpeq 18
        17: .line 1663
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 5 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 7 /* rightTypeID */
        18: .line 1666
      StackMap locals:
      StackMap stack:
            iload 6 /* leftTypeID */
            bipush 15
            if_icmpgt 20
        19: .line 1667
            iload 7 /* rightTypeID */
            bipush 15
            if_icmple 29
        20: .line 1668
      StackMap locals:
      StackMap stack:
            iload 6 /* leftTypeID */
            bipush 11
            if_icmpne 23
        21: .line 1669
            iconst_1
            istore 7 /* rightTypeID */
        22: .line 1670
            goto 29
      StackMap locals:
      StackMap stack:
        23: iload 7 /* rightTypeID */
            bipush 11
            if_icmpne 26
        24: .line 1671
            iconst_1
            istore 6 /* leftTypeID */
        25: .line 1672
            goto 29
        26: .line 1673
      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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        27: .line 1674
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 4 /* leftType */
            aload 5 /* 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
        28: .line 1675
            return
        29: .line 1678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 14
            if_icmpne 38
        30: .line 1679
            iload 6 /* leftTypeID */
            bipush 11
            if_icmpne 34
        31: .line 1680
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 4 /* leftType */
            aload 4 /* 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
        32: .line 1681
            aload 5 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isArrayType:()Z
            ifeq 34
            aload 5 /* rightType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 34
        33: .line 1682
            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.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.signalNoImplicitStringConversionForCharArrayExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        34: .line 1685
      StackMap locals:
      StackMap stack:
            iload 7 /* rightTypeID */
            bipush 11
            if_icmpne 38
        35: .line 1686
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 5 /* rightType */
            aload 5 /* 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
        36: .line 1687
            aload 4 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isArrayType:()Z
            ifeq 38
            aload 4 /* leftType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 38
        37: .line 1688
            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.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.signalNoImplicitStringConversionForCharArrayExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        38: .line 1700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            istore 9 /* operator */
        start local 9 // int operator
        39: .line 1701
            getstatic org.eclipse.jdt.internal.compiler.ast.OperatorExpression.OperatorSignatures:[[I
            iload 9 /* operator */
            aaload
            iload 6 /* leftTypeID */
            iconst_4
            ishl
            iload 7 /* rightTypeID */
            iadd
            iaload
            istore 10 /* operatorSignature */
        start local 10 // int operatorSignature
        40: .line 1703
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 1 /* scope */
            iload 10 /* 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 /* 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
        41: .line 1704
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 1 /* scope */
            iload 10 /* 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 /* 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
        42: .line 1705
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            iload 10 /* operatorSignature */
            bipush 15
            iand
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
        43: .line 1706
            iload 10 /* operatorSignature */
            bipush 15
            iand
            tableswitch { // 2 - 11
                    2: 48
                    3: 46
                    4: 60
                    5: 44
                    6: 60
                    7: 56
                    8: 50
                    9: 52
                   10: 54
                   11: 58
              default: 60
          }
        44: .line 1709
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        45: .line 1710
            goto 63
        46: .line 1712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BYTE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        47: .line 1713
            goto 63
        48: .line 1715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        49: .line 1716
            goto 63
        50: .line 1718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.DOUBLE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        51: .line 1719
            goto 63
        52: .line 1721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.FLOAT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        53: .line 1722
            goto 63
        54: .line 1724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        55: .line 1725
            goto 63
        56: .line 1727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.LONG:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        57: .line 1728
            goto 63
        58: .line 1730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangString:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        59: .line 1731
            goto 63
        60: .line 1733
      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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        61: .line 1734
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 4 /* leftType */
            aload 5 /* 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
        62: .line 1735
            return
        63: .line 1739
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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
        64: ifne 66
        65: .line 1740
            iload 3 /* rightIsCast */
            ifeq 67
        66: .line 1741
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.BinaryExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int int
      StackMap stack:
            aload 1 /* scope */
            iload 9 /* operator */
            iload 10 /* operatorSignature */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 6 /* leftTypeID */
            iload 2 /* leftIsCast */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 7 /* rightTypeID */
            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
        67: .line 1744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            iload 6 /* leftTypeID */
            iload 7 /* rightTypeID */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.computeConstant:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;II)V
        68: .line 1745
            return
        end local 10 // int operatorSignature
        end local 9 // int operator
        end local 8 // boolean use15specifics
        end local 7 // int rightTypeID
        end local 6 // int leftTypeID
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   69     0               this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   69     1              scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
           64   69     2         leftIsCast  Z
            2   69     3        rightIsCast  Z
            1   69     4           leftType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            5   69     5          rightType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            9   69     6         leftTypeID  I
           10   69     7        rightTypeID  I
           13   69     8     use15specifics  Z
           39   69     9           operator  I
           40   69    10  operatorSignature  I
    MethodParameters:
       Name  Flags
      scope  

  public void optimizedBooleanConstant(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // int leftId
        start local 2 // int operator
        start local 3 // int rightId
         0: .line 1748
            iload 2 /* operator */
            tableswitch { // 0 - 3
                    0: 3
                    1: 17
                    2: 1
                    3: 15
              default: 28
          }
         1: .line 1750
      StackMap locals:
      StackMap stack:
            iload 1 /* leftId */
            iconst_5
            if_icmpne 2
            iload 3 /* rightId */
            iconst_5
            if_icmpeq 3
         2: .line 1751
      StackMap locals:
      StackMap stack:
            return
         3: .line 1755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* cst */
        start local 4 // org.eclipse.jdt.internal.compiler.impl.Constant cst
         4: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 11
         5: .line 1756
            aload 4 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 8
         6: .line 1757
            aload 0 /* this */
            aload 4 /* cst */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         7: .line 1758
            return
         8: .line 1760
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 10
         9: .line 1761
            aload 0 /* this */
            aload 4 /* cst */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        10: .line 1764
      StackMap locals:
      StackMap stack:
            return
        11: .line 1767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 14
        12: .line 1768
            aload 4 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 14
        13: .line 1769
            aload 0 /* this */
            aload 4 /* cst */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        14: .line 1772
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        15: .line 1774
      StackMap locals:
      StackMap stack:
            iload 1 /* leftId */
            iconst_5
            if_icmpne 16
            iload 3 /* rightId */
            iconst_5
            if_icmpeq 17
        16: .line 1775
      StackMap locals:
      StackMap stack:
            return
        17: .line 1778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* cst */
        start local 4 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        18: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 25
        19: .line 1779
            aload 4 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 22
        20: .line 1780
            aload 0 /* this */
            aload 4 /* cst */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        21: .line 1781
            return
        22: .line 1783
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 24
        23: .line 1784
            aload 0 /* this */
            aload 4 /* cst */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        24: .line 1786
      StackMap locals:
      StackMap stack:
            return
        25: .line 1789
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 4 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 28
        26: .line 1790
            aload 4 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 28
        27: .line 1791
            aload 0 /* this */
            aload 4 /* cst */
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        end local 4 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        28: .line 1795
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int rightId
        end local 2 // int operator
        end local 1 // int leftId
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   29     1    leftId  I
            0   29     2  operator  I
            0   29     3   rightId  I
            4   15     4       cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
           18   28     4       cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    MethodParameters:
          Name  Flags
      leftId    
      operator  
      rightId   

  public java.lang.StringBuffer printExpressionNoParenthesis(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 1801
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 1 /* indent */
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.operatorToString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 1802
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int indent
        end local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0    2     1  indent  I
            0    2     2  output  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      indent  
      output  

  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=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.BinaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 1810
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.BinaryExpression.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 1811
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 /* leftType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
         3: .line 1813
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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.BinaryExpression.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 1814
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 /* rightType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
         6: .line 1817
            aload 4 /* leftType */
            ifnull 7
            aload 5 /* rightType */
            ifnonnull 9
         7: .line 1818
      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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         8: .line 1819
            aconst_null
            areturn
         9: .line 1822
      StackMap locals:
      StackMap stack:
            aload 4 /* leftType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 6 /* leftTypeID */
        start local 6 // int leftTypeID
        10: .line 1823
            aload 5 /* rightType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 7 /* rightTypeID */
        start local 7 // int rightTypeID
        11: .line 1826
            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.sourceLevel:J
            ldc 3211264
            lcmp
            iflt 12
            iconst_1
            goto 13
      StackMap locals: int int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 8 /* use15specifics */
        start local 8 // boolean use15specifics
        14: .line 1827
            iload 8 /* use15specifics */
            ifeq 19
        15: .line 1828
            aload 4 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 17
            iload 7 /* rightTypeID */
            bipush 11
            if_icmpeq 17
            iload 7 /* rightTypeID */
            bipush 12
            if_icmpeq 17
        16: .line 1829
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 4 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 6 /* leftTypeID */
        17: .line 1831
      StackMap locals: int
      StackMap stack:
            aload 5 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 19
            iload 6 /* leftTypeID */
            bipush 11
            if_icmpeq 19
            iload 6 /* leftTypeID */
            bipush 12
            if_icmpeq 19
        18: .line 1832
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 5 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 7 /* rightTypeID */
        19: .line 1835
      StackMap locals:
      StackMap stack:
            iload 6 /* leftTypeID */
            bipush 15
            if_icmpgt 21
        20: .line 1836
            iload 7 /* rightTypeID */
            bipush 15
            if_icmple 30
        21: .line 1837
      StackMap locals:
      StackMap stack:
            iload 6 /* leftTypeID */
            bipush 11
            if_icmpne 24
        22: .line 1838
            iconst_1
            istore 7 /* rightTypeID */
        23: .line 1839
            goto 30
      StackMap locals:
      StackMap stack:
        24: iload 7 /* rightTypeID */
            bipush 11
            if_icmpne 27
        25: .line 1840
            iconst_1
            istore 6 /* leftTypeID */
        26: .line 1841
            goto 30
        27: .line 1842
      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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        28: .line 1843
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 4 /* leftType */
            aload 5 /* 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
        29: .line 1844
            aconst_null
            areturn
        30: .line 1847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 14
            if_icmpne 39
        31: .line 1848
            iload 6 /* leftTypeID */
            bipush 11
            if_icmpne 35
        32: .line 1849
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 4 /* leftType */
            aload 4 /* 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
        33: .line 1850
            aload 5 /* rightType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isArrayType:()Z
            ifeq 35
            aload 5 /* rightType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 35
        34: .line 1851
            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.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.signalNoImplicitStringConversionForCharArrayExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        35: .line 1854
      StackMap locals:
      StackMap stack:
            iload 7 /* rightTypeID */
            bipush 11
            if_icmpne 39
        36: .line 1855
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 5 /* rightType */
            aload 5 /* 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
        37: .line 1856
            aload 4 /* leftType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isArrayType:()Z
            ifeq 39
            aload 4 /* leftType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 39
        38: .line 1857
            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.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.signalNoImplicitStringConversionForCharArrayExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        39: .line 1869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            istore 9 /* operator */
        start local 9 // int operator
        40: .line 1870
            getstatic org.eclipse.jdt.internal.compiler.ast.OperatorExpression.OperatorSignatures:[[I
            iload 9 /* operator */
            aaload
            iload 6 /* leftTypeID */
            iconst_4
            ishl
            iload 7 /* rightTypeID */
            iadd
            iaload
            istore 10 /* operatorSignature */
        start local 10 // int operatorSignature
        41: .line 1872
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 1 /* scope */
            iload 10 /* 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 /* 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
        42: .line 1873
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 1 /* scope */
            iload 10 /* 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 /* 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
        43: .line 1874
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
            iload 10 /* operatorSignature */
            bipush 15
            iand
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.bits:I
        44: .line 1875
            iload 10 /* operatorSignature */
            bipush 15
            iand
            tableswitch { // 2 - 11
                    2: 49
                    3: 47
                    4: 61
                    5: 45
                    6: 61
                    7: 57
                    8: 51
                    9: 53
                   10: 55
                   11: 59
              default: 61
          }
        45: .line 1878
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        46: .line 1879
            goto 64
        47: .line 1881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BYTE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        48: .line 1882
            goto 64
        49: .line 1884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        50: .line 1885
            goto 64
        51: .line 1887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.DOUBLE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        52: .line 1888
            goto 64
        53: .line 1890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.FLOAT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        54: .line 1891
            goto 64
        55: .line 1893
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        56: .line 1894
            goto 64
        57: .line 1896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.LONG:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        58: .line 1897
            goto 64
        59: .line 1899
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangString:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        60: .line 1900
            goto 64
        61: .line 1902
      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.BinaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        62: .line 1903
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 4 /* leftType */
            aload 5 /* 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
        63: .line 1904
            aconst_null
            areturn
        64: .line 1908
      StackMap locals:
      StackMap stack:
            iload 2 /* leftIsCast */
            ifne 65
            iload 3 /* rightIsCast */
            ifeq 66
        65: .line 1909
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            iload 9 /* operator */
            iload 10 /* operatorSignature */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 6 /* leftTypeID */
            iload 2 /* leftIsCast */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.right:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 7 /* rightTypeID */
            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
        66: .line 1912
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            iload 6 /* leftTypeID */
            iload 7 /* rightTypeID */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.BinaryExpression.computeConstant:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;II)V
        67: .line 1913
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 10 // int operatorSignature
        end local 9 // int operator
        end local 8 // boolean use15specifics
        end local 7 // int rightTypeID
        end local 6 // int leftTypeID
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding rightType
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding leftType
        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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   68     0               this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            0   68     1              scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            1   68     2         leftIsCast  Z
            4   68     3        rightIsCast  Z
            3   68     4           leftType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6   68     5          rightType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           10   68     6         leftTypeID  I
           11   68     7        rightTypeID  I
           14   68     8     use15specifics  Z
           40   68     9           operator  I
           41   68    10  operatorSignature  I
    MethodParameters:
       Name  Flags
      scope  

  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.BinaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 1918
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 3
         1: .line 1919
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 1920
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.BinaryExpression.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 1922
      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/BinaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         4: .line 1923
            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.BinaryExpression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/eclipse/jdt/internal/compiler/ast/BinaryExpression;
            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: "BinaryExpression.java"