public class org.eclipse.jdt.internal.compiler.ast.UnaryExpression 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.UnaryExpression
  super_class: org.eclipse.jdt.internal.compiler.ast.OperatorExpression
{
  public org.eclipse.jdt.internal.compiler.ast.Expression expression;
    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, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        start local 2 // int operator
         0: .line 31
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.<init>:()V
         1: .line 32
            aload 0 /* this */
            aload 1 /* expression */
            putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         2: .line 33
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            iload 2 /* operator */
            bipush 6
            ishl
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
         3: .line 34
            return
        end local 2 // int operator
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
            0    4     1  expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    4     2    operator  I
    MethodParameters:
            Name  Flags
      expression  
      operator    

  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=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression 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 41
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 11
            if_icmpne 8
         1: .line 42
            aload 2 /* flowContext */
            dup
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            iconst_4
            ixor
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
         2: .line 43
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         3: .line 44
            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;
         4: .line 45
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.asNegatedCondition:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
         5: .line 43
            astore 3 /* flowInfo */
         6: .line 46
            aload 2 /* flowContext */
            dup
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            iconst_4
            ixor
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
         7: .line 47
            goto 11
         8: .line 48
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         9: .line 49
            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;
        10: .line 48
            astore 3 /* flowInfo */
        11: .line 51
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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
        12: .line 52
            aload 3 /* flowInfo */
            areturn
        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.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
            0   13     1  currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   13     2   flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   13     3      flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      

  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.UnaryExpression this
         0: .line 58
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            ifnonnull 2
         1: .line 59
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            goto 3
         2: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         3: .line 58
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;

  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.UnaryExpression 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 76
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         1: .line 78
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.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 80
            iload 3 /* valueRequired */
            ifeq 4
         3: .line 81
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;I)V
         4: .line 83
      StackMap locals: int
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
         5: .line 84
            return
         6: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            tableswitch { // 11 - 14
                   11: 7
                   12: 27
                   13: 38
                   14: 60
              default: 61
          }
         7: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            tableswitch { // 5 - 5
                    5: 8
              default: 26
          }
         8: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         9: .line 93
            aload 1 /* currentScope */
        10: .line 94
            aload 2 /* codeStream */
        11: .line 95
            aconst_null
        12: .line 96
            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
        13: .line 97
            iload 3 /* valueRequired */
        14: .line 92
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
        15: .line 98
            iload 3 /* valueRequired */
            ifeq 25
        16: .line 99
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_0:()V
        17: .line 100
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.forwardReferenceCount:()I
            ifle 61
        18: .line 101
            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 /* endifLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endifLabel
        19: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        20: .line 102
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.decrStackSize:(I)V
        21: .line 103
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        22: .line 104
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_1:()V
        23: .line 105
            aload 6 /* endifLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel endifLabel
        24: .line 107
            goto 61
        25: .line 108
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 5 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        end local 5 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        26: .line 112
      StackMap locals:
      StackMap stack:
            goto 61
        27: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            tableswitch { // 7 - 10
                    7: 33
                    8: 37
                    9: 37
                   10: 28
              default: 37
          }
        28: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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 118
            iload 3 /* valueRequired */
            ifeq 61
        30: .line 119
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iconst_m1:()V
        31: .line 120
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ixor:()V
        32: .line 122
            goto 61
        33: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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 125
            iload 3 /* valueRequired */
            ifeq 61
        35: .line 126
            aload 2 /* codeStream */
            ldc -1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ldc2_w:(J)V
        36: .line 127
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lxor:()V
        37: .line 130
      StackMap locals:
      StackMap stack:
            goto 61
        38: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 49
        39: .line 134
            iload 3 /* valueRequired */
            ifeq 61
        40: .line 135
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            tableswitch { // 7 - 10
                    7: 45
                    8: 47
                    9: 43
                   10: 41
              default: 48
          }
        41: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            iconst_m1
            imul
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(I)V
        42: .line 138
            goto 61
        43: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            ldc -1.0
            fmul
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(F)V
        44: .line 141
            goto 61
        45: .line 143
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            ldc -1
            lmul
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(J)V
        46: .line 144
            goto 61
        47: .line 146
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            ldc -1.0
            dmul
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateInlinedValue:(D)V
        48: .line 149
      StackMap locals:
      StackMap stack:
            goto 61
        49: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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 151
            iload 3 /* valueRequired */
            ifeq 61
        51: .line 152
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            tableswitch { // 7 - 10
                    7: 56
                    8: 58
                    9: 54
                   10: 52
              default: 59
          }
        52: .line 154
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ineg:()V
        53: .line 155
            goto 61
        54: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.fneg:()V
        55: .line 158
            goto 61
        56: .line 160
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lneg:()V
        57: .line 161
            goto 61
        58: .line 163
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dneg:()V
        59: .line 167
      StackMap locals:
      StackMap stack:
            goto 61
        60: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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 171
      StackMap locals:
      StackMap stack:
            iload 3 /* valueRequired */
            ifeq 63
        62: .line 172
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        63: .line 174
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        64: .line 175
            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.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   65     0           this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
            0   65     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   65     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   65     3  valueRequired  Z
            1   65     4             pc  I
           13   26     5     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
           19   24     6     endifLabel  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.UnaryExpression 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 189
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.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.UnaryExpression.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 190
            aload 0 /* this */
         2: .line 191
            aload 1 /* currentScope */
         3: .line 192
            aload 2 /* codeStream */
         4: .line 193
            aload 3 /* trueLabel */
         5: .line 194
            aload 4 /* falseLabel */
         6: .line 195
            iload 5 /* valueRequired */
         7: .line 190
            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 196
            return
         9: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 11
            if_icmpne 18
        10: .line 199
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        11: .line 200
            aload 1 /* currentScope */
        12: .line 201
            aload 2 /* codeStream */
        13: .line 202
            aload 4 /* falseLabel */
        14: .line 203
            aload 3 /* trueLabel */
        15: .line 204
            iload 5 /* valueRequired */
        16: .line 199
            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
        17: .line 205
            goto 25
        18: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        19: .line 207
            aload 1 /* currentScope */
        20: .line 208
            aload 2 /* codeStream */
        21: .line 209
            aload 3 /* trueLabel */
        22: .line 210
            aload 4 /* falseLabel */
        23: .line 211
            iload 5 /* valueRequired */
        24: .line 206
            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
        25: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean valueRequired
        end local 4 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel falseLabel
        end local 3 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel trueLabel
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
            0   26     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   26     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   26     3      trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   26     4     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   26     5  valueRequired  Z
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      trueLabel      
      falseLabel     
      valueRequired  

  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.UnaryExpression this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 218
            aload 2 /* output */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.UnaryExpression.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 219
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
            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=5, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 225
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
            dup
            istore 2 /* expressionIsCast */
        start local 2 // boolean expressionIsCast
         1: ifeq 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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 226
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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 3 /* expressionType */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
         3: .line 227
            aload 3 /* expressionType */
            ifnonnull 6
         4: .line 228
            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.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         5: .line 229
            aconst_null
            areturn
         6: .line 231
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 3 /* expressionType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            istore 4 /* expressionTypeID */
        start local 4 // int expressionTypeID
         7: .line 233
            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 8
            iconst_1
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* use15specifics */
        start local 5 // boolean use15specifics
        10: .line 234
            iload 5 /* use15specifics */
            ifeq 13
        11: .line 235
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 13
        12: .line 236
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 3 /* expressionType */
            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 4 /* expressionTypeID */
        13: .line 239
      StackMap locals: int
      StackMap stack:
            iload 4 /* expressionTypeID */
            bipush 15
            if_icmple 17
        14: .line 240
            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.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        15: .line 241
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidOperator:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        16: .line 242
            aconst_null
            areturn
        17: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            tableswitch { // 11 - 12
                   11: 18
                   12: 20
              default: 22
          }
        18: .line 248
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* tableId */
        start local 6 // int tableId
        19: .line 249
            goto 23
        end local 6 // int tableId
        20: .line 251
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 6 /* tableId */
        start local 6 // int tableId
        21: .line 252
            goto 23
        end local 6 // int tableId
        22: .line 254
      StackMap locals:
      StackMap stack:
            bipush 13
            istore 6 /* tableId */
        start local 6 // int tableId
        23: .line 261
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.ast.UnaryExpression.OperatorSignatures:[[I
            iload 6 /* tableId */
            aaload
            iload 4 /* expressionTypeID */
            iconst_4
            ishl
            iload 4 /* expressionTypeID */
            iadd
            iaload
            istore 7 /* operatorSignature */
        start local 7 // int operatorSignature
        24: .line 262
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 1 /* scope */
            iload 7 /* 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 3 /* expressionType */
            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
        25: .line 263
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            iload 7 /* operatorSignature */
            bipush 15
            iand
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
        26: .line 264
            iload 7 /* operatorSignature */
            bipush 15
            iand
            tableswitch { // 2 - 10
                    2: 31
                    3: 29
                    4: 41
                    5: 27
                    6: 41
                    7: 39
                    8: 33
                    9: 35
                   10: 37
              default: 41
          }
        27: .line 266
      StackMap locals: 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.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        28: .line 267
            goto 45
        29: .line 269
      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.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        30: .line 270
            goto 45
        31: .line 272
      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.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        32: .line 273
            goto 45
        33: .line 275
      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.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        34: .line 276
            goto 45
        35: .line 278
      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.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        36: .line 279
            goto 45
        37: .line 281
      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.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        38: .line 282
            goto 45
        39: .line 284
      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.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        40: .line 285
            goto 45
        41: .line 287
      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.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        42: .line 288
            iload 4 /* expressionTypeID */
            ifeq 44
        43: .line 289
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidOperator:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        44: .line 290
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        45: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression: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 53
        46: .line 294
            aload 0 /* this */
        47: .line 296
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        48: .line 297
            iload 4 /* expressionTypeID */
        49: .line 298
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
        50: .line 295
            invokestatic org.eclipse.jdt.internal.compiler.impl.Constant.computeConstantOperation:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;II)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        51: .line 294
            putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        52: .line 299
            goto 60
        53: .line 300
      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.UnaryExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        54: .line 301
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.bits:I
            sipush 4032
            iand
            bipush 6
            ishr
            bipush 11
            if_icmpne 60
        55: .line 302
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            astore 8 /* cst */
        start local 8 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        56: .line 303
            aload 8 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 60
        57: .line 304
            aload 0 /* this */
            aload 8 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 58
            iconst_0
            goto 59
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.UnaryExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.UnaryExpression
        58: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.UnaryExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.UnaryExpression int
        59: invokestatic org.eclipse.jdt.internal.compiler.impl.BooleanConstant.fromValue:(Z)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            putfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.optimizedBooleanConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        end local 8 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        60: .line 307
      StackMap locals:
      StackMap stack:
            iload 2 /* expressionIsCast */
            ifeq 62
        61: .line 309
            aload 1 /* scope */
            iload 6 /* tableId */
            iload 7 /* operatorSignature */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 4 /* expressionTypeID */
            invokestatic org.eclipse.jdt.internal.compiler.ast.CastExpression.checkNeedForArgumentCast:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;IILorg/eclipse/jdt/internal/compiler/ast/Expression;I)V
        62: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 7 // int operatorSignature
        end local 6 // int tableId
        end local 5 // boolean use15specifics
        end local 4 // int expressionTypeID
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        end local 2 // boolean expressionIsCast
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   63     0               this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
            0   63     1              scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            1   63     2   expressionIsCast  Z
            3   63     3     expressionType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   63     4   expressionTypeID  I
           10   63     5     use15specifics  Z
           19   20     6            tableId  I
           21   22     6            tableId  I
           23   63     6            tableId  I
           24   63     7  operatorSignature  I
           56   60     8                cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    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.UnaryExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
         0: .line 319
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 2
         1: .line 320
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.UnaryExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* visitor */
            aload 2 /* blockScope */
            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 322
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         3: .line 323
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.UnaryExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/ast/UnaryExpression;
            0    4     1     visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0    4     2  blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
            Name  Flags
      visitor     
      blockScope  
}
SourceFile: "UnaryExpression.java"