public abstract class org.eclipse.jdt.internal.compiler.ast.Expression extends org.eclipse.jdt.internal.compiler.ast.Statement
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jdt.internal.compiler.ast.Expression
  super_class: org.eclipse.jdt.internal.compiler.ast.Statement
{
  public org.eclipse.jdt.internal.compiler.impl.Constant constant;
    descriptor: Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    flags: (0x0001) ACC_PUBLIC

  public int statementEnd;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int implicitConversion;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolvedType;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC

  public static org.eclipse.jdt.internal.compiler.ast.Expression[] NO_EXPRESSIONS;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 82
            iconst_0
            anewarray org.eclipse.jdt.internal.compiler.ast.Expression
            putstatic org.eclipse.jdt.internal.compiler.ast.Expression.NO_EXPRESSIONS:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static final boolean isConstantValueRepresentable(org.eclipse.jdt.internal.compiler.impl.Constant, int, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/impl/Constant;II)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.impl.Constant constant
        start local 1 // int constantTypeID
        start local 2 // int targetTypeID
         0: .line 88
            iload 2 /* targetTypeID */
            iload 1 /* constantTypeID */
            if_icmpne 2
         1: .line 89
            iconst_1
            ireturn
         2: .line 90
      StackMap locals:
      StackMap stack:
            iload 2 /* targetTypeID */
            tableswitch { // 2 - 10
                    2: 3
                    3: 48
                    4: 63
                    5: 108
                    6: 108
                    7: 93
                    8: 33
                    9: 18
                   10: 78
              default: 108
          }
         3: .line 92
      StackMap locals:
      StackMap stack:
            iload 1 /* constantTypeID */
            tableswitch { // 2 - 10
                    2: 4
                    3: 13
                    4: 11
                    5: 17
                    6: 17
                    7: 15
                    8: 5
                    9: 7
                   10: 9
              default: 17
          }
         4: .line 94
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            i2d
            dcmpl
            ifne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            i2f
            fcmpl
            ifne 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            if_icmpne 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        11: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            if_icmpne 12
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        13: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            if_icmpne 14
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        14: iconst_0
            ireturn
        15: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            i2l
            lcmp
            ifne 16
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_0
            ireturn
        17: .line 108
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        18: .line 112
      StackMap locals:
      StackMap stack:
            iload 1 /* constantTypeID */
            tableswitch { // 2 - 10
                    2: 19
                    3: 28
                    4: 26
                    5: 32
                    6: 32
                    7: 30
                    8: 21
                    9: 23
                   10: 24
              default: 32
          }
        19: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            i2f
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            fcmpl
            ifne 20
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        20: iconst_0
            ireturn
        21: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            f2d
            dcmpl
            ifne 22
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        22: iconst_0
            ireturn
        23: .line 118
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        24: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            i2f
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            fcmpl
            ifne 25
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        25: iconst_0
            ireturn
        26: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            i2f
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            fcmpl
            ifne 27
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        27: iconst_0
            ireturn
        28: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            i2f
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            fcmpl
            ifne 29
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        29: iconst_0
            ireturn
        30: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            l2f
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            fcmpl
            ifne 31
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        31: iconst_0
            ireturn
        32: .line 128
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        33: .line 132
      StackMap locals:
      StackMap stack:
            iload 1 /* constantTypeID */
            tableswitch { // 2 - 10
                    2: 34
                    3: 43
                    4: 41
                    5: 47
                    6: 47
                    7: 45
                    8: 36
                    9: 37
                   10: 39
              default: 47
          }
        34: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            i2d
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            dcmpl
            ifne 35
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        35: iconst_0
            ireturn
        36: .line 136
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        37: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            f2d
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            dcmpl
            ifne 38
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        38: iconst_0
            ireturn
        39: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            i2d
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            dcmpl
            ifne 40
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        40: iconst_0
            ireturn
        41: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            i2d
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            dcmpl
            ifne 42
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        42: iconst_0
            ireturn
        43: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            i2d
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            dcmpl
            ifne 44
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        44: iconst_0
            ireturn
        45: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            l2d
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            dcmpl
            ifne 46
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        46: iconst_0
            ireturn
        47: .line 148
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        48: .line 152
      StackMap locals:
      StackMap stack:
            iload 1 /* constantTypeID */
            tableswitch { // 2 - 10
                    2: 49
                    3: 59
                    4: 57
                    5: 62
                    6: 62
                    7: 60
                    8: 51
                    9: 53
                   10: 55
              default: 62
          }
        49: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            if_icmpne 50
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        50: iconst_0
            ireturn
        51: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            i2d
            dcmpl
            ifne 52
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        52: iconst_0
            ireturn
        53: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            i2f
            fcmpl
            ifne 54
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        54: iconst_0
            ireturn
        55: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            if_icmpne 56
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        56: iconst_0
            ireturn
        57: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            if_icmpne 58
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        58: iconst_0
            ireturn
        59: .line 164
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        60: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            i2l
            lcmp
            ifne 61
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        61: iconst_0
            ireturn
        62: .line 168
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        63: .line 172
      StackMap locals:
      StackMap stack:
            iload 1 /* constantTypeID */
            tableswitch { // 2 - 10
                    2: 64
                    3: 73
                    4: 72
                    5: 77
                    6: 77
                    7: 75
                    8: 66
                    9: 68
                   10: 70
              default: 77
          }
        64: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            if_icmpne 65
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        65: iconst_0
            ireturn
        66: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            i2d
            dcmpl
            ifne 67
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        67: iconst_0
            ireturn
        68: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            i2f
            fcmpl
            ifne 69
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        69: iconst_0
            ireturn
        70: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            if_icmpne 71
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        71: iconst_0
            ireturn
        72: .line 182
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        73: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            if_icmpne 74
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        74: iconst_0
            ireturn
        75: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            i2l
            lcmp
            ifne 76
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        76: iconst_0
            ireturn
        77: .line 188
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        78: .line 192
      StackMap locals:
      StackMap stack:
            iload 1 /* constantTypeID */
            tableswitch { // 2 - 10
                    2: 79
                    3: 88
                    4: 86
                    5: 92
                    6: 92
                    7: 90
                    8: 81
                    9: 83
                   10: 85
              default: 92
          }
        79: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            if_icmpne 80
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        80: iconst_0
            ireturn
        81: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            i2d
            dcmpl
            ifne 82
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        82: iconst_0
            ireturn
        83: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            i2f
            fcmpl
            ifne 84
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        84: iconst_0
            ireturn
        85: .line 200
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        86: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            if_icmpne 87
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        87: iconst_0
            ireturn
        88: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            if_icmpne 89
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        89: iconst_0
            ireturn
        90: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            i2l
            lcmp
            ifne 91
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        91: iconst_0
            ireturn
        92: .line 208
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        93: .line 212
      StackMap locals:
      StackMap stack:
            iload 1 /* constantTypeID */
            tableswitch { // 2 - 10
                    2: 94
                    3: 104
                    4: 102
                    5: 107
                    6: 107
                    7: 106
                    8: 96
                    9: 98
                   10: 100
              default: 107
          }
        94: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            i2l
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            lcmp
            ifne 95
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        95: iconst_0
            ireturn
        96: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            l2d
            dcmpl
            ifne 97
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        97: iconst_0
            ireturn
        98: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            l2f
            fcmpl
            ifne 99
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        99: iconst_0
            ireturn
       100: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            i2l
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            lcmp
            ifne 101
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
       101: iconst_0
            ireturn
       102: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            i2l
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            lcmp
            ifne 103
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
       103: iconst_0
            ireturn
       104: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            i2l
            aload 0 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            lcmp
            ifne 105
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
       105: iconst_0
            ireturn
       106: .line 226
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
       107: .line 228
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       108: .line 232
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int targetTypeID
        end local 1 // int constantTypeID
        end local 0 // org.eclipse.jdt.internal.compiler.impl.Constant constant
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  109     0        constant  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            0  109     1  constantTypeID  I
            0  109     2    targetTypeID  I
    MethodParameters:
                Name  Flags
      constant        
      constantTypeID  
      targetTypeID    

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 237
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Statement.<init>:()V
         1: .line 72
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.statementEnd:I
         2: .line 237
            return
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/ast/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=1, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression 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 242
            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.Expression this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    1     2   flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     3      flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      

  public org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Z)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression 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
        start local 4 // boolean valueRequired
         0: .line 256
            aload 0 /* this */
            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;
            areturn
        end local 4 // boolean valueRequired
        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.Expression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    1     2    flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     3       flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0    1     4  valueRequired  Z
    MethodParameters:
               Name  Flags
      currentScope   
      flowContext    
      flowInfo       
      valueRequired  

  public final boolean checkCastTypesCompatibility(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.Expression);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        start local 4 // org.eclipse.jdt.internal.compiler.ast.Expression expression
         0: .line 270
            aload 2 /* castType */
            ifnull 1
            aload 3 /* expressionType */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
         2: .line 274
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            ldc 3211264
            lcmp
            iflt 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* use15specifics */
        start local 5 // boolean use15specifics
         5: .line 275
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            ldc 3342336
            lcmp
            iflt 6
            iconst_1
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* use17specifics */
        start local 6 // boolean use17specifics
         8: .line 276
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 32
         9: .line 277
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 24
        10: .line 278
            aload 3 /* expressionType */
            aload 2 /* castType */
            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 15
        11: .line 279
            aload 4 /* expression */
            ifnull 13
        12: .line 280
            aload 0 /* this */
            aload 4 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        13: .line 282
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        14: .line 283
            iconst_1
            ireturn
        15: .line 285
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* necessary */
        start local 7 // boolean necessary
        16: .line 286
            aload 3 /* expressionType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 18
        17: .line 287
            aload 2 /* castType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            aload 3 /* expressionType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            invokestatic org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding.isNarrowing:(II)Z
            dup
            istore 7 /* necessary */
            ifeq 31
        18: .line 288
      StackMap locals: int
      StackMap stack:
            aload 4 /* expression */
            ifnull 22
        19: .line 289
            aload 4 /* expression */
            aload 2 /* castType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_4
            ishl
            aload 3 /* expressionType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iadd
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
        20: .line 290
            aload 4 /* 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 22
        21: .line 291
            aload 0 /* this */
            aload 4 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            aload 4 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.castTo:(I)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
        22: .line 294
      StackMap locals:
      StackMap stack:
            iload 7 /* necessary */
            ifne 23
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        23: .line 295
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // boolean necessary
        24: .line 298
      StackMap locals:
      StackMap stack:
            iload 6 /* use17specifics */
            ifeq 27
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 27
            aload 3 /* expressionType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 27
        25: .line 299
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBoxedPrimitiveType:()Z
            ifne 27
            aload 0 /* this */
            aload 1 /* scope */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.boxing:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 3 /* expressionType */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifeq 27
        26: .line 302
            iconst_1
            ireturn
        27: .line 303
      StackMap locals:
      StackMap stack:
            iload 5 /* use15specifics */
            ifeq 31
        28: .line 304
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.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;
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 31
        29: .line 305
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        30: .line 306
            iconst_1
            ireturn
        31: .line 308
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        32: .line 309
      StackMap locals:
      StackMap stack:
            iload 5 /* use15specifics */
            ifeq 37
        33: .line 310
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 37
        34: .line 311
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.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;
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 37
        35: .line 312
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        36: .line 313
            iconst_1
            ireturn
        37: .line 316
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isIntersectionType18:()Z
            ifeq 47
        38: .line 317
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getIntersectingTypes:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 7 /* intersectingTypes */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] intersectingTypes
        39: .line 318
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        40: aload 7 /* intersectingTypes */
            arraylength
            istore 9 /* length */
        start local 9 // int length
        41: goto 45
        42: .line 319
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 7 /* intersectingTypes */
            iload 8 /* i */
            aaload
            aload 3 /* expressionType */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifne 44
        43: .line 320
            iconst_0
            ireturn
        44: .line 318
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 8 /* i */
            iload 9 /* length */
            if_icmplt 42
        end local 9 // int length
        end local 8 // int i
        46: .line 322
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] intersectingTypes
        47: .line 325
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 6
                   68: 52
                  132: 48
                  516: 99
                 4100: 80
                 8196: 99
                32772: 105
              default: 114
          }
        48: .line 328
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpne 51
        49: .line 329
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        50: .line 330
            iconst_1
            ireturn
        51: .line 332
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        52: .line 335
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            aload 3 /* expressionType */
            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 55
        53: .line 336
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        54: .line 337
            iconst_1
            ireturn
        55: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 2
                   68: 56
                 4100: 64
              default: 74
          }
        56: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* castElementType */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castElementType
        57: .line 343
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 8 /* exprElementType */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding exprElementType
        58: .line 344
            aload 8 /* exprElementType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 59
            aload 7 /* castElementType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 63
        59: .line 345
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 7 /* castElementType */
            aload 8 /* exprElementType */
            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 62
        60: .line 346
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
        61: .line 347
            iconst_1
            ireturn
        62: .line 349
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        63: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 7 /* castElementType */
            aload 8 /* exprElementType */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ireturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding exprElementType
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castElementType
        64: .line 356
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 9 /* match */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        65: .line 357
            aload 9 /* match */
            ifnonnull 67
        66: .line 358
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            pop
        67: .line 360
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int top top org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.allUpperBounds:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 72
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int top top org.eclipse.jdt.internal.compiler.lookup.TypeBinding top int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
        68: aload 13
            iload 11
            aaload
            astore 10 /* bound */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        69: .line 361
            aload 0 /* this */
            aload 1 /* scope */
            aload 10 /* bound */
            aload 3 /* expressionType */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifne 71
        70: .line 362
            iconst_0
            ireturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        71: .line 360
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        72: iload 11
            iload 12
            if_icmplt 68
        73: .line 364
            iconst_1
            ireturn
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        74: .line 368
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int
      StackMap stack:
            aload 2 /* castType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            lookupswitch { // 3
                    1: 77
                   36: 75
                   37: 75
              default: 79
          }
        75: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
        76: .line 372
            iconst_1
            ireturn
        77: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        78: .line 375
            iconst_1
            ireturn
        79: .line 377
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        80: .line 382
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        81: .line 383
            aload 7 /* match */
            ifnonnull 96
        82: .line 385
            aload 2 /* castType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            ifeq 90
        83: .line 387
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.allUpperBounds:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 88
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
        84: aload 11
            iload 9
            aaload
            astore 8 /* bound */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        85: .line 388
            aload 0 /* this */
            aload 1 /* scope */
            aload 8 /* bound */
            aload 3 /* expressionType */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifne 87
        86: .line 389
            iconst_0
            ireturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        87: .line 387
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        88: iload 9
            iload 10
            if_icmplt 84
        89: .line 391
            goto 96
        90: .line 392
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.allUpperBounds:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 95
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
        91: aload 11
            iload 9
            aaload
            astore 8 /* bound */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        92: .line 393
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 8 /* bound */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifne 94
        93: .line 394
            iconst_0
            ireturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        94: .line 392
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        95: iload 9
            iload 10
            if_icmplt 91
        96: .line 399
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 7 /* match */
            aload 7 /* match */
            ifnonnull 97
            iconst_1
            goto 98
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        97: iconst_0
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
        98: invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        99: .line 403
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       100: .line 404
            aload 7 /* match */
            ifnull 102
       101: .line 405
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 7 /* match */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       102: .line 407
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 8 /* bound */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
       103: .line 408
            aload 8 /* bound */
            ifnonnull 104
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.getJavaLangObject:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 8 /* bound */
       104: .line 410
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 8 /* bound */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ireturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       105: .line 412
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getIntersectingTypes:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 9 /* intersectingTypes */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] intersectingTypes
       106: .line 413
            iconst_0
            istore 10 /* i */
        start local 10 // int i
       107: aload 9 /* intersectingTypes */
            arraylength
            istore 11 /* length */
        start local 11 // int length
       108: goto 112
       109: .line 414
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int top top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 9 /* intersectingTypes */
            iload 10 /* i */
            aaload
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifeq 111
       110: .line 415
            iconst_1
            ireturn
       111: .line 413
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
       112: iload 10 /* i */
            iload 11 /* length */
            if_icmplt 109
        end local 11 // int length
        end local 10 // int i
       113: .line 417
            iconst_0
            ireturn
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] intersectingTypes
       114: .line 419
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int
      StackMap stack:
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifeq 180
       115: .line 420
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 2
                   68: 116
                 4100: 120
              default: 130
          }
       116: .line 423
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            tableswitch { // 36 - 37
                   36: 117
                   37: 117
              default: 119
          }
       117: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
       118: .line 427
            iconst_1
            ireturn
       119: .line 429
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       120: .line 434
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       121: .line 435
            aload 7 /* match */
            ifnonnull 123
       122: .line 436
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            pop
       123: .line 439
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.allUpperBounds:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 128
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top top int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
       124: aload 13
            iload 11
            aaload
            astore 10 /* upperBound */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding upperBound
       125: .line 440
            aload 0 /* this */
            aload 1 /* scope */
            aload 10 /* upperBound */
            aload 3 /* expressionType */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifne 127
       126: .line 441
            iconst_0
            ireturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding upperBound
       127: .line 439
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
       128: iload 11
            iload 12
            if_icmplt 124
       129: .line 443
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       130: .line 446
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifeq 163
       131: .line 448
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 10 /* interfaceType */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding interfaceType
       132: .line 449
            aload 10 /* interfaceType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       133: .line 450
            aload 7 /* match */
            ifnull 135
       134: .line 451
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 10 /* interfaceType */
            aload 7 /* match */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       135: .line 453
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
       136: .line 454
            aload 2 /* castType */
            aload 10 /* interfaceType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
       137: .line 455
            aload 7 /* match */
            ifnull 139
       138: .line 456
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 10 /* interfaceType */
            aload 7 /* match */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       139: .line 458
      StackMap locals:
      StackMap stack:
            iload 5 /* use15specifics */
            ifeq 146
       140: .line 459
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            pop
       141: .line 461
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3342336
            lcmp
            ifge 144
       142: .line 462
            aload 10 /* interfaceType */
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasIncompatibleSuperType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 162
       143: .line 463
            iconst_0
            ireturn
       144: .line 465
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifne 162
            aload 10 /* interfaceType */
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasIncompatibleSuperType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 162
       145: .line 466
            iconst_0
            ireturn
       146: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.getAllOriginalInheritedMethods:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 11 /* castTypeMethods */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] castTypeMethods
       147: .line 474
            aload 0 /* this */
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.getAllOriginalInheritedMethods:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 12 /* expressionTypeMethods */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] expressionTypeMethods
       148: .line 475
            aload 12 /* expressionTypeMethods */
            arraylength
            istore 13 /* exprMethodsLength */
        start local 13 // int exprMethodsLength
       149: .line 476
            iconst_0
            istore 14 /* i */
        start local 14 // int i
       150: aload 11 /* castTypeMethods */
            arraylength
            istore 15 /* castMethodsLength */
        start local 15 // int castMethodsLength
       151: goto 161
       152: .line 477
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int int int
      StackMap stack:
            iconst_0
            istore 16 /* j */
        start local 16 // int j
       153: goto 159
       154: .line 478
      StackMap locals: int
      StackMap stack:
            aload 11 /* castTypeMethods */
            iload 14 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 12 /* expressionTypeMethods */
            iload 16 /* j */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 158
       155: .line 479
            aload 11 /* castTypeMethods */
            iload 14 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            aload 12 /* expressionTypeMethods */
            iload 16 /* j */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 158
       156: .line 480
            aload 11 /* castTypeMethods */
            iload 14 /* i */
            aaload
            aload 12 /* expressionTypeMethods */
            iload 16 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.areParametersEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 158
       157: .line 481
            iconst_0
            ireturn
       158: .line 477
      StackMap locals:
      StackMap stack:
            iinc 16 /* j */ 1
      StackMap locals:
      StackMap stack:
       159: iload 16 /* j */
            iload 13 /* exprMethodsLength */
            if_icmplt 154
        end local 16 // int j
       160: .line 476
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
       161: iload 14 /* i */
            iload 15 /* castMethodsLength */
            if_icmplt 152
        end local 15 // int castMethodsLength
        end local 14 // int i
        end local 13 // int exprMethodsLength
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] expressionTypeMethods
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] castTypeMethods
       162: .line 487
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            iconst_1
            ireturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding interfaceType
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       163: .line 490
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int
      StackMap stack:
            aload 2 /* castType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 166
       164: .line 491
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
       165: .line 492
            iconst_1
            ireturn
       166: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
       167: .line 496
            aload 2 /* castType */
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       168: .line 497
            aload 7 /* match */
            ifnull 170
       169: .line 498
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 7 /* match */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       170: .line 500
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isFinal:()Z
            ifeq 172
       171: .line 502
            iconst_0
            ireturn
       172: .line 504
      StackMap locals:
      StackMap stack:
            iload 5 /* use15specifics */
            ifeq 179
       173: .line 505
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            pop
       174: .line 507
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3342336
            lcmp
            ifge 177
       175: .line 508
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasIncompatibleSuperType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 179
       176: .line 509
            iconst_0
            ireturn
       177: .line 511
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifne 179
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasIncompatibleSuperType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 179
       178: .line 512
            iconst_0
            ireturn
       179: .line 515
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       180: .line 519
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 2
                   68: 181
                 4100: 186
              default: 196
          }
       181: .line 522
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 185
       182: .line 523
            iload 5 /* use15specifics */
            ifeq 183
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 3 /* expressionType */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            pop
       183: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
       184: .line 525
            iconst_1
            ireturn
       185: .line 527
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       186: .line 531
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       187: .line 532
            aload 7 /* match */
            ifnonnull 189
       188: .line 533
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            pop
       189: .line 536
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.allUpperBounds:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 194
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top top int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
       190: aload 13
            iload 11
            aaload
            astore 10 /* upperBound */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding upperBound
       191: .line 537
            aload 0 /* this */
            aload 1 /* scope */
            aload 10 /* upperBound */
            aload 3 /* expressionType */
            aload 4 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifne 193
       192: .line 538
            iconst_0
            ireturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding upperBound
       193: .line 536
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
       194: iload 11
            iload 12
            if_icmplt 190
       195: .line 540
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       196: .line 543
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifeq 215
       197: .line 545
            aload 3 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 10 /* refExprType */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding refExprType
       198: .line 546
            aload 10 /* refExprType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       199: .line 547
            aload 7 /* match */
            ifnull 201
       200: .line 548
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 7 /* match */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       201: .line 551
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 10 /* refExprType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isFinal:()Z
            ifeq 203
       202: .line 552
            iconst_0
            ireturn
       203: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
       204: .line 555
            aload 2 /* castType */
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
       205: .line 556
            aload 7 /* match */
            ifnull 207
       206: .line 557
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 7 /* match */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       207: .line 559
      StackMap locals:
      StackMap stack:
            iload 5 /* use15specifics */
            ifeq 214
       208: .line 560
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            pop
       209: .line 562
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3342336
            lcmp
            ifge 212
       210: .line 563
            aload 10 /* refExprType */
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasIncompatibleSuperType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 214
       211: .line 564
            iconst_0
            ireturn
       212: .line 566
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifne 214
            aload 10 /* refExprType */
            aload 2 /* castType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasIncompatibleSuperType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 214
       213: .line 567
            iconst_0
            ireturn
       214: .line 570
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding refExprType
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       215: .line 573
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression int int
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       216: .line 574
            aload 7 /* match */
            ifnull 219
       217: .line 575
            aload 4 /* expression */
            ifnull 218
            aload 2 /* castType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpne 218
            aload 0 /* this */
            aload 4 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
       218: .line 576
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 7 /* match */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       219: .line 578
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* match */
       220: .line 579
            aload 7 /* match */
            ifnull 223
       221: .line 580
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsNeedCheckCast:()V
       222: .line 581
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            aload 3 /* expressionType */
            aload 7 /* match */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkUnsafeCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ireturn
       223: .line 583
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        end local 6 // boolean use17specifics
        end local 5 // boolean use15specifics
        end local 4 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  224     0                   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0  224     1                  scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0  224     2               castType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0  224     3         expressionType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0  224     4             expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            5  224     5         use15specifics  Z
            8  224     6         use17specifics  Z
           16   24     7              necessary  Z
           39   47     7      intersectingTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           40   46     8                      i  I
           41   46     9                 length  I
           57   64     7        castElementType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           58   64     8        exprElementType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           65   74     9                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           69   71    10                  bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           81   99     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          100  105     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          121  130     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          133  163     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          168  180     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          187  196     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          199  215     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          216  224     7                  match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           85   87     8                  bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           92   94     8                  bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          103  105     8                  bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          106  114     9      intersectingTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
          107  113    10                      i  I
          108  113    11                 length  I
          125  127    10             upperBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          132  163    10          interfaceType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
          147  162    11        castTypeMethods  [Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
          148  162    12  expressionTypeMethods  [Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
          149  162    13      exprMethodsLength  I
          150  162    14                      i  I
          151  162    15      castMethodsLength  I
          153  160    16                      j  I
          191  193    10             upperBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          198  215    10            refExprType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
                Name  Flags
      scope           
      castType        
      expressionType  
      expression      

  public boolean checkNPE(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // int ttlForFieldCheck
         0: .line 607
            iconst_0
            istore 5 /* isNullable */
        start local 5 // boolean isNullable
         1: .line 608
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 6
         2: .line 610
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 72057594037927936
            land
            lconst_0
            lcmp
            ifeq 4
         3: .line 611
            iconst_1
            ireturn
         4: .line 612
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 36028797018963968
            land
            lconst_0
            lcmp
            ifeq 6
         5: .line 613
            iconst_1
            istore 5 /* isNullable */
         6: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            astore 6 /* local */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
         7: .line 617
            aload 6 /* local */
            ifnull 18
         8: .line 618
            aload 6 /* local */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 2
            land
            lconst_0
            lcmp
            ifne 18
         9: .line 620
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            ldc 131072
            iand
            ifne 15
        10: .line 621
            aload 2 /* flowContext */
            aload 1 /* scope */
            aload 6 /* local */
            aload 0 /* this */
        11: .line 622
            iconst_3
            aload 3 /* flowInfo */
        12: .line 621
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUsingNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        13: .line 624
            aload 3 /* flowInfo */
            aload 6 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifne 15
        14: .line 625
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordAbruptExit:()V
        15: .line 628
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
      StackMap stack:
            aload 3 /* flowInfo */
            aload 6 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        16: .line 630
            aload 2 /* flowContext */
            aload 6 /* local */
            iconst_4
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.markFinallyNullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;I)V
        17: .line 631
            iconst_1
            ireturn
        18: .line 632
      StackMap locals:
      StackMap stack:
            iload 5 /* isNullable */
            ifeq 21
        19: .line 634
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.dereferencingNullableExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        20: .line 635
            iconst_1
            ireturn
        21: .line 637
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        end local 5 // boolean isNullable
        end local 4 // int ttlForFieldCheck
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   22     1             scope  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;
            0   22     4  ttlForFieldCheck  I
            1   22     5        isNullable  Z
            7   22     6             local  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
    MethodParameters:
                  Name  Flags
      scope             
      flowContext       
      flowInfo          
      ttlForFieldCheck  

  public boolean checkNPE(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;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 640
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iconst_0
            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;I)Z
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1        scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    1     2  flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     3     flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
             Name  Flags
      scope        
      flowContext  
      flowInfo     

  protected void checkNPEbyUnboxing(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;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 646
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 1024
            iand
            ifeq 5
         1: .line 647
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            ldc 131072
            iand
            ifne 5
         2: .line 648
            aload 0 /* this */
            aload 3 /* flowInfo */
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.nullStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
            dup
            istore 4 /* status */
        start local 4 // int status
         3: iconst_4
            if_icmpeq 5
         4: .line 650
            aload 2 /* flowContext */
            aload 1 /* scope */
            aload 0 /* this */
            iload 4 /* status */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        end local 4 // int status
         5: .line 652
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    6     1        scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    6     2  flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    6     3     flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            3    5     4       status  I
    MethodParameters:
             Name  Flags
      scope        
      flowContext  
      flowInfo     

  public boolean checkUnsafeCast(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        start local 5 // boolean isNarrowing
         0: .line 655
            aload 4 /* match */
            aload 2 /* castType */
            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 3
         1: .line 656
            iload 5 /* isNarrowing */
            ifne 2
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         2: .line 657
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 659
      StackMap locals:
      StackMap stack:
            aload 4 /* match */
            ifnull 8
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isReifiable:()Z
            ifeq 4
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isReifiable:()Z
            ifne 8
         4: .line 660
      StackMap locals:
      StackMap stack:
            iload 5 /* isNarrowing */
            ifeq 6
         5: .line 661
            aload 4 /* match */
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProvablyDistinct:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 8
            goto 7
         6: .line 662
      StackMap locals:
      StackMap stack:
            aload 2 /* castType */
            aload 4 /* match */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProvablyDistinct:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 8
         7: .line 663
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 666
      StackMap locals:
      StackMap stack:
            iload 5 /* isNarrowing */
            ifne 9
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.tagAsUnnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         9: .line 667
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // boolean isNarrowing
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   10     1           scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   10     2        castType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   10     3  expressionType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   10     4           match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   10     5     isNarrowing  Z
    MethodParameters:
                Name  Flags
      scope           
      castType        
      expressionType  
      match           
      isNarrowing     

  public void computeConversion(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding runtimeType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding compileTimeType
         0: .line 675
            aload 2 /* runtimeType */
            ifnull 1
            aload 3 /* compileTimeType */
            ifnonnull 2
         1: .line 676
      StackMap locals:
      StackMap stack:
            return
         2: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            ifeq 3
            return
         3: .line 682
      StackMap locals:
      StackMap stack:
            aload 2 /* runtimeType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpeq 10
            aload 2 /* runtimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 10
         4: .line 683
            aload 3 /* compileTimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 22
         5: .line 684
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 3 /* compileTimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* unboxedType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding unboxedType
         6: .line 685
            aload 0 /* this */
            sipush 1024
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
         7: .line 686
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 3 /* compileTimeType */
            aload 2 /* runtimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.autoboxing:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         8: .line 687
            aload 4 /* unboxedType */
            astore 3 /* compileTimeType */
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding unboxedType
         9: .line 689
            goto 22
      StackMap locals:
      StackMap stack:
        10: aload 3 /* compileTimeType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpeq 19
            aload 3 /* compileTimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 19
        11: .line 690
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 2 /* runtimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* boxedType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding boxedType
        12: .line 691
            aload 4 /* boxedType */
            aload 2 /* runtimeType */
            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 14
        13: .line 692
            aload 3 /* compileTimeType */
            astore 4 /* boxedType */
        14: .line 693
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 4 /* boxedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 33
            if_icmple 16
        15: .line 694
            aload 3 /* compileTimeType */
            astore 4 /* boxedType */
        16: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 512
            aload 4 /* boxedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_4
            ishl
            aload 3 /* compileTimeType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iadd
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
        17: .line 697
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 3 /* compileTimeType */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 4 /* boxedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.autoboxing:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        18: .line 698
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding boxedType
        19: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 22
            aload 0 /* this */
            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 11
            if_icmpeq 22
        20: .line 700
            aload 0 /* this */
            sipush 512
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
        21: .line 701
            return
        22: .line 704
      StackMap locals:
      StackMap stack:
            aload 3 /* compileTimeType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            dup
            istore 4 /* compileTimeTypeID */
        start local 4 // int compileTimeTypeID
        23: sipush 128
            if_icmplt 28
        24: .line 705
            aload 3 /* compileTimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpne 25
            bipush 11
            goto 26
      StackMap locals: int
      StackMap stack:
        25: iconst_1
      StackMap locals:
      StackMap stack: int
        26: istore 4 /* compileTimeTypeID */
        27: .line 706
            goto 30
      StackMap locals:
      StackMap stack:
        28: aload 2 /* runtimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 30
            aload 3 /* compileTimeType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 30
            aload 3 /* compileTimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBoxedPrimitiveType:()Z
            ifne 30
        29: .line 707
            iconst_1
            istore 4 /* compileTimeTypeID */
        30: .line 710
      StackMap locals:
      StackMap stack:
            aload 2 /* runtimeType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            dup
            istore 5 /* runtimeTypeID */
        start local 5 // int runtimeTypeID
        31: tableswitch { // 2 - 11
                    2: 32
                    3: 32
                    4: 32
                    5: 37
                    6: 38
                    7: 37
                    8: 37
                    9: 37
                   10: 37
                   11: 37
              default: 38
          }
        32: .line 714
      StackMap locals: int
      StackMap stack:
            iload 4 /* compileTimeTypeID */
            iconst_1
            if_icmpne 35
        33: .line 715
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            iload 5 /* runtimeTypeID */
            iconst_4
            ishl
            iload 4 /* compileTimeTypeID */
            iadd
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
        34: .line 716
            goto 38
        35: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 160
            iload 4 /* compileTimeTypeID */
            iadd
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
        36: .line 719
            goto 38
        37: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            iload 5 /* runtimeTypeID */
            iconst_4
            ishl
            iload 4 /* compileTimeTypeID */
            iadd
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
        38: .line 733
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int runtimeTypeID
        end local 4 // int compileTimeTypeID
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding compileTimeType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding runtimeType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   39     1              scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   39     2        runtimeType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   39     3    compileTimeType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6    9     4        unboxedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           12   19     4          boxedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           23   39     4  compileTimeTypeID  I
           31   39     5      runtimeTypeID  I
    MethodParameters:
                 Name  Flags
      scope            
      runtimeType      
      compileTimeType  

  public static int computeNullStatus(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int status
        start local 1 // int combinedStatus
         0: .line 736
            iload 1 /* combinedStatus */
            bipush 18
            iand
            ifeq 2
         1: .line 737
            iload 0 /* status */
            bipush 16
            ior
            istore 0 /* status */
         2: .line 738
      StackMap locals:
      StackMap stack:
            iload 1 /* combinedStatus */
            bipush 36
            iand
            ifeq 4
         3: .line 739
            iload 0 /* status */
            bipush 32
            ior
            istore 0 /* status */
         4: .line 740
      StackMap locals:
      StackMap stack:
            iload 1 /* combinedStatus */
            bipush 9
            iand
            ifeq 6
         5: .line 741
            iload 0 /* status */
            bipush 8
            ior
            istore 0 /* status */
         6: .line 742
      StackMap locals:
      StackMap stack:
            iload 0 /* status */
            ireturn
        end local 1 // int combinedStatus
        end local 0 // int status
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0          status  I
            0    7     1  combinedStatus  I
    MethodParameters:
                Name  Flags
      status          
      combinedStatus  

  public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
         0: .line 753
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            ldc -2147483648
            iand
            ifne 2
         1: .line 754
            return
         2: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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
         3: .line 757
            return
        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.Expression this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    4     1  currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    4     2    codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
    MethodParameters:
              Name  Flags
      currentScope  
      codeStream    

  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=3, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression 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 767
            aload 0 /* this */
            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 5
         1: .line 769
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         2: .line 770
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;I)V
         3: .line 771
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            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
         4: .line 772
            goto 6
         5: .line 774
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.problem.ShouldNotImplement
            dup
            getstatic org.eclipse.jdt.internal.compiler.util.Messages.ast_missingCode:Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.compiler.problem.ShouldNotImplement.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 776
      StackMap locals:
      StackMap stack:
            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.Expression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    7     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    7     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0    7     3  valueRequired  Z
            2    4     4             pc  I
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public void generateOptimizedBoolean(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression 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 790
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            astore 6 /* cst */
        start local 6 // org.eclipse.jdt.internal.compiler.impl.Constant cst
         1: .line 791
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 5 /* valueRequired */
            ifeq 2
            aload 6 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream
         2: iconst_0
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int
         3: invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
         4: .line 792
            aload 6 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 18
            aload 6 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
            iconst_5
            if_icmpne 18
         5: .line 793
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 7 /* pc */
        start local 7 // int pc
         6: .line 794
            aload 6 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 12
         7: .line 796
            iload 5 /* valueRequired */
            ifeq 16
         8: .line 797
            aload 4 /* falseLabel */
            ifnonnull 16
         9: .line 799
            aload 3 /* trueLabel */
            ifnull 16
        10: .line 800
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        11: .line 804
            goto 16
        12: .line 805
      StackMap locals: int
      StackMap stack:
            iload 5 /* valueRequired */
            ifeq 16
        13: .line 806
            aload 4 /* falseLabel */
            ifnull 16
        14: .line 808
            aload 3 /* trueLabel */
            ifnonnull 16
        15: .line 809
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        16: .line 814
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 7 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        17: .line 815
            return
        end local 7 // int pc
        18: .line 818
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 7 /* position */
        start local 7 // int position
        19: .line 819
            iload 5 /* valueRequired */
            ifeq 26
        20: .line 820
            aload 4 /* falseLabel */
            ifnonnull 24
        21: .line 821
            aload 3 /* trueLabel */
            ifnull 26
        22: .line 823
            aload 2 /* codeStream */
            aload 3 /* trueLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        23: .line 825
            goto 26
        24: .line 826
      StackMap locals: int
      StackMap stack:
            aload 3 /* trueLabel */
            ifnonnull 26
        25: .line 828
            aload 2 /* codeStream */
            aload 4 /* falseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        26: .line 834
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 7 /* position */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        27: .line 835
            return
        end local 7 // int position
        end local 6 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        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.Expression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   28     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   28     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   28     3      trueLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   28     4     falseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            0   28     5  valueRequired  Z
            1   28     6            cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            6   18     7             pc  I
           19   28     7       position  I
    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=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression 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 843
            iload 3 /* typeID */
            bipush 11
            if_icmpne 2
            aload 0 /* this */
            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 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.stringValue:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 844
            return
         2: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockScope */
            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
         3: .line 847
            aload 2 /* codeStream */
            iload 3 /* typeID */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringConcatenationAppendForType:(I)V
         4: .line 848
            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.Expression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    5     1  blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    5     2  codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0    5     3      typeID  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=4, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression 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 855
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.newStringContatenation:()V
         1: .line 856
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dup:()V
         2: .line 857
            iload 3 /* typeID */
            lookupswitch { // 4
                    0: 3
                    1: 3
                   11: 7
                   12: 7
              default: 17
          }
         3: .line 862
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringConcatenationDefaultConstructor:()V
         4: .line 863
            aload 0 /* this */
            aload 1 /* blockScope */
            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
         5: .line 864
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringConcatenationAppendForType:(I)V
         6: .line 865
            return
         7: .line 868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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
         8: .line 869
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.stringValue:()Ljava/lang/String;
            astore 4 /* stringValue */
        start local 4 // java.lang.String stringValue
         9: .line 870
            aload 4 /* stringValue */
            invokevirtual java.lang.String.length:()I
            ifne 12
        10: .line 871
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringConcatenationDefaultConstructor:()V
        11: .line 872
            return
        12: .line 874
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* codeStream */
            aload 4 /* stringValue */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ldc:(Ljava/lang/String;)V
        end local 4 // java.lang.String stringValue
        13: .line 875
            goto 19
        14: .line 877
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockScope */
            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
        15: .line 878
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringValueOf:(I)V
        16: .line 880
            goto 19
        17: .line 882
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockScope */
            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
        18: .line 883
            aload 2 /* codeStream */
            iload 3 /* typeID */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringValueOf:(I)V
        19: .line 885
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringConcatenationStringConstructor:()V
        20: .line 886
            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.Expression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   21     1   blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   21     2   codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   21     3       typeID  I
            9   13     4  stringValue  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      blockScope  
      codeStream  
      typeID      

  private org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] getAllOriginalInheritedMethods(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
         0: .line 889
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* collector */
        start local 2 // java.util.ArrayList collector
         1: .line 890
            aload 0 /* this */
            aload 1 /* binding */
            aload 2 /* collector */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.getAllInheritedMethods0:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/ArrayList;)V
         2: .line 891
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 2 /* collector */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* len */
        start local 4 // int len
         4: goto 7
         5: .line 892
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 2 /* collector */
            iload 3 /* i */
            aload 2 /* collector */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 891
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* len */
            if_icmplt 5
        end local 4 // int len
        end local 3 // int i
         8: .line 894
            aload 2 /* collector */
            aload 2 /* collector */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding[]
            areturn
        end local 2 // java.util.ArrayList collector
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    9     1    binding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            1    9     2  collector  Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;>;
            3    8     3          i  I
            4    8     4        len  I
    MethodParameters:
         Name  Flags
      binding  

  private void getAllInheritedMethods0(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding, java.util.ArrayList<org.eclipse.jdt.internal.compiler.lookup.MethodBinding>);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
        start local 2 // java.util.ArrayList collector
         0: .line 898
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isInterface:()Z
            ifne 1
            return
         1: .line 899
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.methods:()[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 3 /* methodBindings */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] methodBindings
         2: .line 900
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 3 /* methodBindings */
            arraylength
            istore 5 /* max */
        start local 5 // int max
         4: goto 7
         5: .line 901
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int int
      StackMap stack:
            aload 2 /* collector */
            aload 3 /* methodBindings */
            iload 4 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 900
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 5 /* max */
            if_icmplt 5
        end local 5 // int max
        end local 4 // int i
         8: .line 903
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.superInterfaces:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 4 /* superInterfaces */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] superInterfaces
         9: .line 904
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: aload 4 /* superInterfaces */
            arraylength
            istore 6 /* max */
        start local 6 // int max
        11: goto 14
        12: .line 905
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding java.util.ArrayList org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* superInterfaces */
            iload 5 /* i */
            aaload
            aload 2 /* collector */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.getAllInheritedMethods0:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/ArrayList;)V
        13: .line 904
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            iload 6 /* max */
            if_icmplt 12
        end local 6 // int max
        end local 5 // int i
        15: .line 907
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] superInterfaces
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] methodBindings
        end local 2 // java.util.ArrayList collector
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   16     1          binding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            0   16     2        collector  Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;>;
            2   16     3   methodBindings  [Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            3    8     4                i  I
            4    8     5              max  I
            9   16     4  superInterfaces  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           10   15     5                i  I
           11   15     6              max  I
    Signature: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;>;)V
    MethodParameters:
           Name  Flags
      binding    
      collector  

  public static org.eclipse.jdt.internal.compiler.lookup.Binding getDirectBinding(org.eclipse.jdt.internal.compiler.ast.Expression);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression someExpression
         0: .line 910
            aload 0 /* someExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            ldc 536870912
            iand
            ifeq 2
         1: .line 911
            aconst_null
            areturn
         2: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* someExpression */
            instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference
            ifeq 4
         3: .line 914
            aload 0 /* someExpression */
            checkcast org.eclipse.jdt.internal.compiler.ast.SingleNameReference
            getfield org.eclipse.jdt.internal.compiler.ast.SingleNameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            areturn
         4: .line 915
      StackMap locals:
      StackMap stack:
            aload 0 /* someExpression */
            instanceof org.eclipse.jdt.internal.compiler.ast.FieldReference
            ifeq 8
         5: .line 916
            aload 0 /* someExpression */
            checkcast org.eclipse.jdt.internal.compiler.ast.FieldReference
            astore 1 /* fieldRef */
        start local 1 // org.eclipse.jdt.internal.compiler.ast.FieldReference fieldRef
         6: .line 917
            aload 1 /* fieldRef */
            getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isThis:()Z
            ifeq 21
            aload 1 /* fieldRef */
            getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.QualifiedThisReference
            ifne 21
         7: .line 918
            aload 1 /* fieldRef */
            getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.FieldReference fieldRef
         8: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* someExpression */
            instanceof org.eclipse.jdt.internal.compiler.ast.Assignment
            ifeq 14
         9: .line 921
            aload 0 /* someExpression */
            checkcast org.eclipse.jdt.internal.compiler.ast.Assignment
            getfield org.eclipse.jdt.internal.compiler.ast.Assignment.lhs:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 1 /* lhs */
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression lhs
        10: .line 922
            aload 1 /* lhs */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            sipush 8192
            iand
            ifeq 12
        11: .line 924
            aload 0 /* someExpression */
            checkcast org.eclipse.jdt.internal.compiler.ast.Assignment
            getfield org.eclipse.jdt.internal.compiler.ast.Assignment.lhs:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.getDirectBinding:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            areturn
        12: .line 925
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
      StackMap stack:
            aload 0 /* someExpression */
            instanceof org.eclipse.jdt.internal.compiler.ast.PrefixExpression
            ifeq 21
        13: .line 927
            aload 0 /* someExpression */
            checkcast org.eclipse.jdt.internal.compiler.ast.Assignment
            getfield org.eclipse.jdt.internal.compiler.ast.Assignment.lhs:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.getDirectBinding:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression lhs
        14: .line 929
      StackMap locals:
      StackMap stack:
            aload 0 /* someExpression */
            instanceof org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference
            ifeq 19
        15: .line 930
            aload 0 /* someExpression */
            checkcast org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference
            astore 1 /* qualifiedNameReference */
        start local 1 // org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference qualifiedNameReference
        16: .line 931
            aload 1 /* qualifiedNameReference */
            getfield org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.indexOfFirstFieldBinding:I
            iconst_1
            if_icmpeq 21
        17: .line 932
            aload 1 /* qualifiedNameReference */
            getfield org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.otherBindings:[Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            ifnonnull 21
        18: .line 934
            aload 1 /* qualifiedNameReference */
            getfield org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference qualifiedNameReference
        19: .line 936
      StackMap locals:
      StackMap stack:
            aload 0 /* someExpression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isThis:()Z
            ifeq 21
        20: .line 937
            aload 0 /* someExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        21: .line 942
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression someExpression
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   22     0          someExpression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            6    8     1                fieldRef  Lorg/eclipse/jdt/internal/compiler/ast/FieldReference;
           10   14     1                     lhs  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           16   19     1  qualifiedNameReference  Lorg/eclipse/jdt/internal/compiler/ast/QualifiedNameReference;
    MethodParameters:
                Name  Flags
      someExpression  

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

  public boolean isConstantValueOfTypeAssignableToType(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding constantType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
         0: .line 955
            aload 0 /* this */
            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_acmpne 2
         1: .line 956
            iconst_0
            ireturn
         2: .line 957
      StackMap locals:
      StackMap stack:
            aload 1 /* constantType */
            aload 2 /* targetType */
            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 4
         3: .line 958
            iconst_1
            ireturn
         4: .line 960
      StackMap locals:
      StackMap stack:
            bipush 10
            aload 1 /* constantType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            invokestatic org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding.isWidening:(II)Z
            ifeq 7
         5: .line 961
            aload 2 /* targetType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 10
            invokestatic org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding.isNarrowing:(II)Z
            ifeq 7
         6: .line 963
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            aload 1 /* constantType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            aload 2 /* targetType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.isConstantValueRepresentable:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;II)Z
            ireturn
         7: .line 965
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding constantType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    8     1  constantType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    8     2    targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
              Name  Flags
      constantType  
      targetType    

  public boolean isTypeReference();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 969
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding localVariableBinding();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 977
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public void markAsNonNull();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 986
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            ldc 131072
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
         1: .line 987
            return
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public int nullStatus(org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.flow.FlowContext);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
         0: .line 991
            iconst_4
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1     flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0    1     2  flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    MethodParameters:
             Name  Flags
      flowInfo     
      flowContext  

  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.Expression this
         0: .line 1002
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public boolean isPertinentToApplicability(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 1006
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    1     2      method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    MethodParameters:
            Name  Flags
      targetType  
      method      

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding postConversionType(org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1015
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* convertedType */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding convertedType
         1: .line 1016
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            istore 3 /* runtimeType */
        start local 3 // int runtimeType
         2: .line 1017
            iload 3 /* runtimeType */
            tableswitch { // 2 - 10
                    2: 9
                    3: 5
                    4: 7
                    5: 3
                    6: 18
                    7: 15
                    8: 17
                    9: 13
                   10: 11
              default: 18
          }
         3: .line 1019
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
         4: .line 1020
            goto 18
         5: .line 1022
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BYTE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
         6: .line 1023
            goto 18
         7: .line 1025
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.SHORT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
         8: .line 1026
            goto 18
         9: .line 1028
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        10: .line 1029
            goto 18
        11: .line 1031
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        12: .line 1032
            goto 18
        13: .line 1034
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.FLOAT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        14: .line 1035
            goto 18
        15: .line 1037
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.LONG:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        16: .line 1038
            goto 18
        17: .line 1040
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.DOUBLE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        18: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 512
            iand
            ifeq 20
        19: .line 1045
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 2 /* convertedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* convertedType */
        20: .line 1047
      StackMap locals:
      StackMap stack:
            aload 2 /* convertedType */
            areturn
        end local 3 // int runtimeType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding convertedType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   21     1          scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            1   21     2  convertedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2   21     3    runtimeType  I
    MethodParameters:
       Name  Flags
      scope  

  public java.lang.StringBuffer print(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.Expression this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 1052
            iload 1 /* indent */
            aload 2 /* output */
            invokestatic org.eclipse.jdt.internal.compiler.ast.Expression.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         1: .line 1053
            aload 0 /* this */
            iload 1 /* indent */
            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.Expression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    2     1  indent  I
            0    2     2  output  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      indent  
      output  

  public abstract java.lang.StringBuffer printExpression(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      indent  
      output  

  public java.lang.StringBuffer printStatement(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.Expression this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 1060
            aload 0 /* this */
            iload 1 /* indent */
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            ldc ";"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)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.Expression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  indent  I
            0    1     2  output  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      indent  
      output  

  public void resolve(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 1066
            aload 0 /* this */
            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;
            pop
         1: .line 1067
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    2     1  scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
       Name  Flags
      scope  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolveExpressionType(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=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 1071
            aload 0 /* this */
            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;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
       Name  Flags
      scope  

  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=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 1083
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
       Name  Flags
      scope  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolveType(org.eclipse.jdt.internal.compiler.lookup.ClassScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ClassScope scope
         0: .line 1095
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ClassScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  scope  Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;
    MethodParameters:
       Name  Flags
      scope  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolveTypeExpecting(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
         0: .line 1099
            aload 0 /* this */
            aload 2 /* expectedType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.setExpectedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         1: .line 1100
            aload 0 /* this */
            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
         2: .line 1101
            aload 3 /* expressionType */
            ifnonnull 3
            aconst_null
            areturn
         3: .line 1102
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* expectedType */
            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 4
            aload 3 /* expressionType */
            areturn
         4: .line 1104
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            aload 2 /* expectedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 10
         5: .line 1105
            aload 1 /* scope */
            aload 3 /* expressionType */
            aload 2 /* expectedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.isBoxingCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 8
         6: .line 1106
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* expectedType */
            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
         7: .line 1107
            goto 10
         8: .line 1108
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 3 /* expressionType */
            aload 2 /* expectedType */
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.typeMismatchError:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
         9: .line 1109
            aconst_null
            areturn
        10: .line 1112
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   11     1           scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   11     2    expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2   11     3  expressionType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
              Name  Flags
      scope         
      expectedType  

  public org.eclipse.jdt.internal.compiler.ast.Expression resolveExpressionExpecting(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
         0: .line 1116
            aload 0 /* this */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    1     2       scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    1     3     context  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    MethodParameters:
            Name  Flags
      targetType  
      scope       
      context     

  public boolean forcedToBeRaw(org.eclipse.jdt.internal.compiler.impl.ReferenceContext);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.impl.ReferenceContext referenceContext
         0: .line 1125
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.NameReference
            ifeq 19
         1: .line 1126
            aload 0 /* this */
            checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
            getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            astore 2 /* receiverBinding */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Binding receiverBinding
         2: .line 1127
            aload 2 /* receiverBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Binding.isParameter:()Z
            ifeq 4
            aload 2 /* receiverBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.tagBits:J
            ldc 512
            land
            lconst_0
            lcmp
            ifeq 4
         3: .line 1128
            iconst_1
            ireturn
         4: .line 1129
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Binding
      StackMap stack:
            aload 2 /* receiverBinding */
            instanceof org.eclipse.jdt.internal.compiler.lookup.FieldBinding
            ifeq 52
         5: .line 1130
            aload 2 /* receiverBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.FieldBinding
            astore 3 /* field */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
         6: .line 1131
            aload 3 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifeq 52
         7: .line 1132
            aload 1 /* referenceContext */
            instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            ifeq 15
         8: .line 1133
            aload 1 /* referenceContext */
            checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            astore 4 /* methodDecl */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDecl
         9: .line 1134
            aload 4 /* methodDecl */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            ifnull 11
        10: .line 1135
            aload 4 /* methodDecl */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            goto 12
        11: .line 1136
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.FieldBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
      StackMap stack:
            aload 4 /* methodDecl */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.scope:Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.enclosingReceiverType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
        12: .line 1134
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 5 /* declaringClass */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
        13: .line 1137
            aload 3 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 5 /* declaringClass */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 52
        14: .line 1138
            iconst_1
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
        end local 4 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDecl
        15: .line 1140
      StackMap locals:
      StackMap stack:
            aload 1 /* referenceContext */
            instanceof org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            ifeq 52
        16: .line 1141
            aload 1 /* referenceContext */
            checkcast org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            astore 4 /* type */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration type
        17: .line 1142
            aload 3 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 4 /* type */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 52
        18: .line 1143
            iconst_1
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration type
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Binding receiverBinding
        19: .line 1148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.MessageSend
            ifeq 25
        20: .line 1149
            aload 0 /* this */
            checkcast org.eclipse.jdt.internal.compiler.ast.MessageSend
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getFileName:()[C
        21: .line 1150
            aload 1 /* referenceContext */
            invokeinterface org.eclipse.jdt.internal.compiler.impl.ReferenceContext.compilationResult:()Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            invokevirtual org.eclipse.jdt.internal.compiler.CompilationResult.getFileName:()[C
        22: .line 1149
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
        23: .line 1150
            ifne 52
        24: .line 1151
            iconst_1
            ireturn
        25: .line 1153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.FieldReference
            ifeq 41
        26: .line 1154
            aload 0 /* this */
            checkcast org.eclipse.jdt.internal.compiler.ast.FieldReference
            getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            astore 2 /* field */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        27: .line 1155
            aload 2 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getFileName:()[C
        28: .line 1156
            aload 1 /* referenceContext */
            invokeinterface org.eclipse.jdt.internal.compiler.impl.ReferenceContext.compilationResult:()Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            invokevirtual org.eclipse.jdt.internal.compiler.CompilationResult.getFileName:()[C
        29: .line 1155
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
        30: .line 1156
            ifne 32
        31: .line 1157
            iconst_1
            ireturn
        32: .line 1159
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.FieldBinding
      StackMap stack:
            aload 2 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifeq 52
        33: .line 1160
            aload 1 /* referenceContext */
            instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            ifeq 37
        34: .line 1161
            aload 1 /* referenceContext */
            checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            astore 3 /* methodDecl */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDecl
        35: .line 1162
            aload 2 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 3 /* methodDecl */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 52
        36: .line 1163
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDecl
        37: .line 1165
      StackMap locals:
      StackMap stack:
            aload 1 /* referenceContext */
            instanceof org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            ifeq 52
        38: .line 1166
            aload 1 /* referenceContext */
            checkcast org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            astore 3 /* type */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration type
        39: .line 1167
            aload 2 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 3 /* type */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 52
        40: .line 1168
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration type
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        41: .line 1172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            ifeq 45
        42: .line 1173
            aload 0 /* this */
            checkcast org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            astore 2 /* ternary */
        start local 2 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression ternary
        43: .line 1174
            aload 2 /* ternary */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfTrue:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* referenceContext */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.forcedToBeRaw:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;)Z
            ifne 44
            aload 2 /* ternary */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfFalse:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* referenceContext */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.forcedToBeRaw:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;)Z
            ifeq 52
        44: .line 1175
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression ternary
        45: .line 1177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            ifeq 52
        46: .line 1178
            aload 0 /* this */
            checkcast org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            astore 2 /* se */
        start local 2 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        47: .line 1179
            aload 2 /* se */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchExpression.resultExpressions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 51
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.impl.ReferenceContext org.eclipse.jdt.internal.compiler.ast.SwitchExpression top java.util.Iterator
      StackMap stack:
        48: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            astore 3 /* e */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.Expression e
        49: .line 1180
            aload 3 /* e */
            aload 1 /* referenceContext */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.forcedToBeRaw:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;)Z
            ifeq 51
        50: .line 1181
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.ast.Expression e
        51: .line 1179
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        end local 2 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        52: .line 1184
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.impl.ReferenceContext
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.impl.ReferenceContext referenceContext
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   53     0              this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   53     1  referenceContext  Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
            2   19     2   receiverBinding  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            6   19     3             field  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            9   15     4        methodDecl  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
           13   15     5    declaringClass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           17   19     4              type  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
           27   41     2             field  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
           35   37     3        methodDecl  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
           39   41     3              type  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
           43   45     2           ternary  Lorg/eclipse/jdt/internal/compiler/ast/ConditionalExpression;
           47   52     2                se  Lorg/eclipse/jdt/internal/compiler/ast/SwitchExpression;
           49   51     3                 e  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    MethodParameters:
                  Name  Flags
      referenceContext  

  public java.lang.Object reusableJSRTarget();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1193
            aload 0 /* this */
            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 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 512
            iand
            ifne 2
         1: .line 1194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            areturn
         2: .line 1196
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public void setExpectedType(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
         0: .line 1209
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
              Name  Flags
      expectedType  

  public void setExpressionContext(org.eclipse.jdt.internal.compiler.ast.ExpressionContext);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.ExpressionContext context
         0: .line 1213
            return
        end local 1 // org.eclipse.jdt.internal.compiler.ast.ExpressionContext context
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  context  Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
    MethodParameters:
         Name  Flags
      context  

  public boolean isCompatibleWith(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1216
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* left */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    2     1   left  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    2     2  scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    MethodParameters:
       Name  Flags
      left   
      scope  

  public boolean isBoxingCompatibleWith(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1220
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 1
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* left */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isBoxingCompatible:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    2     1   left  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    2     2  scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    MethodParameters:
       Name  Flags
      left   
      scope  

  public boolean sIsMoreSpecific(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1224
            aload 1 /* s */
            aload 2 /* t */
            aload 3 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1      s  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    1     2      t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    1     3  scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    MethodParameters:
       Name  Flags
      s      
      t      
      scope  

  public boolean isExactMethodReference();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1228
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public boolean isPolyExpression();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1237
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    Exceptions:
      throws java.lang.UnsupportedOperationException

  public boolean isPolyExpression(org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 1241
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    MethodParameters:
        Name  Flags
      method  

  public void tagAsNeedCheckCast();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1247
            return
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public void tagAsUnnecessaryCast(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
         0: .line 1257
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1     scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    1     2  castType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
          Name  Flags
      scope     
      castType  

  public org.eclipse.jdt.internal.compiler.ast.Expression toTypeReference();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1267
            aload 0 /* this */
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  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=0, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 1278
            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.Expression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0    1     2    scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
         Name  Flags
      visitor  
      scope    

  public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.ClassScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ClassScope scope
         0: .line 1287
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ClassScope scope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0    1     2    scope  Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;
    MethodParameters:
         Name  Flags
      visitor  
      scope    

  public boolean statementExpression();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1290
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public boolean isTrulyExpression();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1294
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public org.eclipse.jdt.internal.compiler.lookup.VariableBinding nullAnnotatedVariableBinding(boolean);
    descriptor: (Z)Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // boolean supportTypeAnnotations
         0: .line 1305
            aconst_null
            areturn
        end local 1 // boolean supportTypeAnnotations
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  supportTypeAnnotations  Z
    MethodParameters:
                        Name  Flags
      supportTypeAnnotations  

  public boolean isFunctionalType();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1309
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public org.eclipse.jdt.internal.compiler.ast.Expression[] getPolyExpressions();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1314
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:()Z
            ifeq 1
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.ast.Expression
            dup
            iconst_0
            aload 0 /* this */
            aastore
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.eclipse.jdt.internal.compiler.ast.Expression.NO_EXPRESSIONS:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.Expression[]
         2: areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;

  public boolean isPotentiallyCompatibleWith(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1318
            aload 0 /* this */
            aload 1 /* targetType */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     1  targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    1     2       scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    MethodParameters:
            Name  Flags
      targetType  
      scope       

  protected org.eclipse.jdt.internal.compiler.impl.Constant optimizedNullComparisonConstant();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
         0: .line 1322
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
}
SourceFile: "Expression.java"