public class org.eclipse.jdt.internal.compiler.flow.FlowContext implements org.eclipse.jdt.internal.compiler.lookup.TypeConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.flow.FlowContext
  super_class: java.lang.Object
{
  public static final org.eclipse.jdt.internal.compiler.flow.FlowContext NotContinuableContext;
    descriptor: Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  public org.eclipse.jdt.internal.compiler.flow.FlowContext parent;
    descriptor: Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.flow.FlowInfo initsOnFinally;
    descriptor: Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0001) ACC_PUBLIC

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

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

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

  private org.eclipse.jdt.internal.compiler.ast.Reference[] nullCheckedFieldReferences;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Reference;
    flags: (0x0002) ACC_PRIVATE

  private int[] timesToLiveForNullCheckInfo;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  public static final int DEFER_NULL_DIAGNOSTIC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PREEMPT_NULL_DIAGNOSTIC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int INSIDE_NEGATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int HIDE_NULL_COMPARISON_WARNING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  public static final int HIDE_NULL_COMPARISON_WARNING_MASK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 61440

  public static final int CAN_ONLY_NULL_NON_NULL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int CAN_ONLY_NULL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CAN_ONLY_NON_NULL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int MAY_NULL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int ASSIGN_TO_NONNULL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  public static final int IN_UNBOXING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int EXIT_RESOURCE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  public static final int CHECK_MASK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  public static final int IN_COMPARISON_NULL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  public static final int IN_COMPARISON_NON_NULL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  public static final int IN_ASSIGNMENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 768

  public static final int IN_INSTANCEOF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  public static final int CONTEXT_MASK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -61696

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 67
            new org.eclipse.jdt.internal.compiler.flow.FlowContext
            dup
            aconst_null
            aconst_null
            iconst_1
            invokespecial org.eclipse.jdt.internal.compiler.flow.FlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
            putstatic org.eclipse.jdt.internal.compiler.flow.FlowContext.NotContinuableContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
         1: .line 125
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.ast.ASTNode, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext parent
        start local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode associatedNode
        start local 3 // boolean inheritNullFieldChecks
         0: .line 127
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
         2: .line 85
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         3: .line 90
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
         4: .line 91
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
         5: .line 128
            aload 0 /* this */
            aload 1 /* parent */
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
         6: .line 129
            aload 0 /* this */
            aload 2 /* associatedNode */
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
         7: .line 130
            aload 1 /* parent */
            ifnull 14
         8: .line 131
            aload 1 /* parent */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            iconst_3
            iand
            ifeq 10
         9: .line 132
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            iconst_1
            ior
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
        10: .line 134
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.ast.ASTNode int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parent */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
        11: .line 135
            aload 0 /* this */
            aload 1 /* parent */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
        12: .line 136
            iload 3 /* inheritNullFieldChecks */
            ifeq 14
        13: .line 137
            aload 0 /* this */
            aload 1 /* parent */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.copyNullCheckedFieldsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)V
        14: .line 138
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean inheritNullFieldChecks
        end local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode associatedNode
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext parent
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   15     0                    this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   15     1                  parent  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   15     2          associatedNode  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            0   15     3  inheritNullFieldChecks  Z
    MethodParameters:
                        Name  Flags
      parent                  
      associatedNode          
      inheritNullFieldChecks  

  public void copyNullCheckedFieldsFrom(org.eclipse.jdt.internal.compiler.flow.FlowContext);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext other
         0: .line 142
            aload 1 /* other */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            astore 2 /* fieldReferences */
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Reference[] fieldReferences
         1: .line 143
            aload 2 /* fieldReferences */
            ifnull 4
            aload 2 /* fieldReferences */
            arraylength
            ifle 4
            aload 2 /* fieldReferences */
            iconst_0
            aaload
            ifnull 4
         2: .line 144
            aload 0 /* this */
            aload 1 /* other */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
         3: .line 145
            aload 0 /* this */
            aload 1 /* other */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
         4: .line 147
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Reference[]
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Reference[] fieldReferences
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext other
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    5     1            other  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            1    5     2  fieldReferences  [Lorg/eclipse/jdt/internal/compiler/ast/Reference;
    MethodParameters:
       Name  Flags
      other  

  public void recordNullCheckedFieldReference(org.eclipse.jdt.internal.compiler.ast.Reference, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Reference;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Reference reference
        start local 2 // int timeToLive
         0: .line 156
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            ifnonnull 4
         1: .line 158
            aload 0 /* this */
            iconst_2
            anewarray org.eclipse.jdt.internal.compiler.ast.Reference
            dup
            iconst_0
            aload 1 /* reference */
            aastore
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
         2: .line 159
            aload 0 /* this */
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 2 /* timeToLive */
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
         3: .line 160
            goto 17
         4: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            arraylength
            istore 3 /* len */
        start local 3 // int len
         5: .line 163
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 12
         7: .line 164
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            iload 4 /* i */
            aaload
            ifnonnull 11
         8: .line 165
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            iload 4 /* i */
            aload 1 /* reference */
            aastore
         9: .line 166
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            iload 4 /* i */
            iload 2 /* timeToLive */
            iastore
        10: .line 167
            return
        11: .line 163
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 7
        end local 4 // int i
        13: .line 171
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            iconst_0
            aload 0 /* this */
            iload 3 /* len */
            iconst_2
            iadd
            anewarray org.eclipse.jdt.internal.compiler.ast.Reference
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            iconst_0
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 172
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            iconst_0
            aload 0 /* this */
            iload 3 /* len */
            iconst_2
            iadd
            newarray 10
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            iconst_0
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 173
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            iload 3 /* len */
            aload 1 /* reference */
            aastore
        16: .line 174
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            iload 3 /* len */
            iload 2 /* timeToLive */
            iastore
        end local 3 // int len
        17: .line 176
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int timeToLive
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Reference reference
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   18     1   reference  Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            0   18     2  timeToLive  I
            5   17     3         len  I
            6   13     4           i  I
    MethodParameters:
            Name  Flags
      reference   
      timeToLive  

  public void extendTimeToLiveForNullCheckedField(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // int t
         0: .line 180
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            ifnull 7
         1: .line 181
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 182
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            iload 2 /* i */
            iaload
            ifle 5
         4: .line 183
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            iload 2 /* i */
            dup2
            iaload
            iload 1 /* t */
            iadd
            iastore
         5: .line 181
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 185
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int t
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    8     1     t  I
            2    7     2     i  I
    MethodParameters:
      Name  Flags
      t     

  public void expireNullCheckedFieldInfo();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            ifnull 7
         1: .line 195
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 6
         3: .line 196
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
            iload 1 /* i */
            dup2
            iaload
            iconst_1
            isub
            dup_x2
            iastore
            ifne 5
         4: .line 197
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            iload 1 /* i */
            aconst_null
            aastore
         5: .line 195
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            arraylength
            if_icmplt 3
        end local 1 // int i
         7: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2    7     1     i  I

  public boolean isNullcheckedFieldAccess(org.eclipse.jdt.internal.compiler.ast.Reference);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Reference reference
         0: .line 208
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            ifnonnull 2
         1: .line 209
            iconst_0
            ireturn
         2: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            arraylength
            istore 2 /* len */
        start local 2 // int len
         3: .line 211
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 11
         5: .line 212
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            iload 3 /* i */
            aaload
            astore 4 /* checked */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.Reference checked
         6: .line 213
            aload 4 /* checked */
            ifnonnull 8
         7: .line 214
            goto 10
         8: .line 216
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Reference
      StackMap stack:
            aload 4 /* checked */
            aload 1 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.isEquivalent:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
            ifeq 10
         9: .line 217
            iconst_1
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.ast.Reference checked
        10: .line 211
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 5
        end local 3 // int i
        12: .line 220
            iconst_0
            ireturn
        end local 2 // int len
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Reference reference
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   13     1  reference  Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            3   13     2        len  I
            4   12     3          i  I
            6   10     4    checked  Lorg/eclipse/jdt/internal/compiler/ast/Reference;
    MethodParameters:
           Name  Flags
      reference  

  public org.eclipse.jdt.internal.compiler.codegen.BranchLabel breakLabel();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 224
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public void checkExceptionHandlers(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        start local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 228
            aload 0 /* this */
            aload 1 /* raisedException */
            aload 2 /* location */
            aload 3 /* flowInfo */
            aload 4 /* scope */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.checkExceptionHandlers:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Z)V
         1: .line 229
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    2     1  raisedException  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    2     2         location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            0    2     3         flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0    2     4            scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
                 Name  Flags
      raisedException  
      location         
      flowInfo         
      scope            

  public void checkExceptionHandlers(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.lookup.BlockScope, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=20, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        start local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 5 // boolean isExceptionOnAutoClose
         0: .line 241
            aload 0 /* this */
            astore 6 /* traversedContext */
        start local 6 // org.eclipse.jdt.internal.compiler.flow.FlowContext traversedContext
         1: .line 242
            aconst_null
            astore 7 /* abruptlyExitedLoops */
        start local 7 // java.util.ArrayList abruptlyExitedLoops
         2: .line 243
            aload 4 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            ldc 3342336
            lcmp
            iflt 84
            aload 2 /* location */
            instanceof org.eclipse.jdt.internal.compiler.ast.ThrowStatement
            ifeq 84
         3: .line 244
            aload 2 /* location */
            checkcast org.eclipse.jdt.internal.compiler.ast.ThrowStatement
            getfield org.eclipse.jdt.internal.compiler.ast.ThrowStatement.exception:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 8 /* throwExpression */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.Expression throwExpression
         4: .line 245
            aload 8 /* throwExpression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            astore 9 /* throwArgBinding */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding throwArgBinding
         5: .line 246
            aload 8 /* throwExpression */
            instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference
            ifeq 84
         6: .line 247
            aload 9 /* throwArgBinding */
            instanceof org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding
            ifeq 84
            aload 9 /* throwArgBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.isEffectivelyFinal:()Z
            ifeq 84
         7: .line 248
            aload 9 /* throwArgBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding
            astore 10 /* parameter */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding parameter
         8: .line 249
            aload 0 /* this */
            aload 10 /* parameter */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding.getPreciseTypes:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* location */
            aload 3 /* flowInfo */
            aload 4 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.checkExceptionHandlers:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         9: .line 250
            return
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding parameter
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding throwArgBinding
        end local 8 // org.eclipse.jdt.internal.compiler.ast.Expression throwExpression
        10: .line 255
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList
      StackMap stack:
            aload 6 /* traversedContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.subroutine:()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
            dup
            astore 8 /* sub */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement sub
        11: ifnull 13
            aload 8 /* sub */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement.isSubRoutineEscaping:()Z
            ifeq 13
        12: .line 258
            return
        13: .line 263
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
      StackMap stack:
            aload 6 /* traversedContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
            ifeq 72
        14: .line 265
            aload 6 /* traversedContext */
            checkcast org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
        15: .line 264
            astore 9 /* exceptionContext */
        start local 9 // org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext exceptionContext
        16: .line 267
            aload 9 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            dup
            astore 10 /* caughtExceptions */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] caughtExceptions
        17: getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_EXCEPTIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpeq 61
        18: .line 268
            iconst_0
            istore 11 /* definitelyCaught */
        start local 11 // boolean definitelyCaught
        19: .line 269
            iconst_0
            istore 12 /* caughtIndex */
        start local 12 // int caughtIndex
        20: aload 10 /* caughtExceptions */
            arraylength
            istore 13 /* caughtCount */
        start local 13 // int caughtCount
        21: .line 270
            goto 57
        22: .line 272
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int int
      StackMap stack:
            aload 10 /* caughtExceptions */
            iload 12 /* caughtIndex */
            aaload
            astore 14 /* caughtException */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding caughtException
        23: .line 273
            aload 3 /* flowInfo */
            astore 15 /* exceptionFlow */
        start local 15 // org.eclipse.jdt.internal.compiler.flow.FlowInfo exceptionFlow
        24: .line 274
            aload 14 /* caughtException */
            ifnonnull 26
        25: .line 275
            iconst_m1
            goto 27
        26: .line 276
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 1 /* raisedException */
            aload 14 /* caughtException */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.compareTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
        27: .line 274
      StackMap locals:
      StackMap stack: int
            istore 16 /* state */
        start local 16 // int state
        28: .line 277
            aload 7 /* abruptlyExitedLoops */
            ifnull 37
            aload 14 /* caughtException */
            ifnull 37
            iload 16 /* state */
            ifeq 37
        29: .line 278
            iconst_0
            istore 17 /* i */
        start local 17 // int i
        30: aload 7 /* abruptlyExitedLoops */
            invokevirtual java.util.ArrayList.size:()I
            istore 18 /* abruptlyExitedLoopsCount */
        start local 18 // int abruptlyExitedLoopsCount
        31: goto 35
        32: .line 279
      StackMap locals: int int int
      StackMap stack:
            aload 7 /* abruptlyExitedLoops */
            iload 17 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            astore 19 /* loop */
        start local 19 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loop
        33: .line 280
            aload 19 /* loop */
            aload 9 /* exceptionContext */
            aload 14 /* caughtException */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordCatchContextOfEscapingException:(Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        end local 19 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loop
        34: .line 278
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 17 /* i */
            iload 18 /* abruptlyExitedLoopsCount */
            if_icmplt 32
        end local 18 // int abruptlyExitedLoopsCount
        end local 17 // int i
        36: .line 282
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 15 /* exceptionFlow */
        37: .line 284
      StackMap locals:
      StackMap stack:
            iload 16 /* state */
            tableswitch { // -1 - 1
                   -1: 38
                    0: 56
                    1: 48
              default: 56
          }
        38: .line 286
      StackMap locals:
      StackMap stack:
            aload 9 /* exceptionContext */
        39: .line 287
            aload 14 /* caughtException */
        40: .line 288
            aload 15 /* exceptionFlow */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        41: .line 289
            aload 1 /* raisedException */
        42: .line 290
            aload 1 /* raisedException */
        43: .line 291
            aload 2 /* location */
        44: .line 292
            iload 11 /* definitelyCaught */
        45: .line 286
            invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
        46: .line 294
            iconst_1
            istore 11 /* definitelyCaught */
        47: .line 295
            goto 56
        48: .line 297
      StackMap locals:
      StackMap stack:
            aload 9 /* exceptionContext */
        49: .line 298
            aload 14 /* caughtException */
        50: .line 299
            aload 15 /* exceptionFlow */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        51: .line 300
            aload 1 /* raisedException */
        52: .line 301
            aload 14 /* caughtException */
        53: .line 302
            aload 2 /* location */
        54: .line 303
            iconst_0
        55: .line 297
            invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
        end local 16 // int state
        end local 15 // org.eclipse.jdt.internal.compiler.flow.FlowInfo exceptionFlow
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding caughtException
        56: .line 271
      StackMap locals:
      StackMap stack:
            iinc 12 /* caughtIndex */ 1
        57: .line 270
      StackMap locals:
      StackMap stack:
            iload 12 /* caughtIndex */
            iload 13 /* caughtCount */
        58: .line 269
            if_icmplt 22
        end local 13 // int caughtCount
        end local 12 // int caughtIndex
        59: .line 307
            iload 11 /* definitelyCaught */
            ifeq 61
        60: .line 308
            return
        end local 11 // boolean definitelyCaught
        61: .line 311
      StackMap locals:
      StackMap stack:
            aload 9 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isMethodContext:Z
            ifeq 76
        62: .line 312
            aload 1 /* raisedException */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isUncheckedException:(Z)Z
            ifeq 64
        63: .line 313
            return
        64: .line 314
      StackMap locals:
      StackMap stack:
            aload 9 /* exceptionContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionInferenceFlowContext
            istore 11 /* shouldMergeUnhandledExceptions */
        start local 11 // boolean shouldMergeUnhandledExceptions
        65: .line 318
            aload 9 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            ifeq 69
        66: .line 319
            aload 9 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            astore 12 /* method */
        start local 12 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
        67: .line 320
            aload 12 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.isConstructor:()Z
            ifeq 69
            aload 12 /* method */
            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;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isAnonymousType:()Z
            ifeq 69
        68: .line 321
            iconst_1
            istore 11 /* shouldMergeUnhandledExceptions */
        end local 12 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
        69: .line 323
      StackMap locals: int
      StackMap stack:
            iload 11 /* shouldMergeUnhandledExceptions */
            ifeq 85
        70: .line 324
            aload 9 /* exceptionContext */
            aload 1 /* raisedException */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.mergeUnhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        71: .line 325
            return
        end local 11 // boolean shouldMergeUnhandledExceptions
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] caughtExceptions
        end local 9 // org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext exceptionContext
        72: .line 329
      StackMap locals:
      StackMap stack:
            aload 6 /* traversedContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            ifeq 76
        73: .line 330
            aload 7 /* abruptlyExitedLoops */
            ifnonnull 75
        74: .line 331
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* abruptlyExitedLoops */
        75: .line 333
      StackMap locals:
      StackMap stack:
            aload 7 /* abruptlyExitedLoops */
            aload 6 /* traversedContext */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        76: .line 336
      StackMap locals:
      StackMap stack:
            aload 6 /* traversedContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordReturnFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
        77: .line 338
            iload 5 /* isExceptionOnAutoClose */
            ifne 83
        78: .line 339
            aload 6 /* traversedContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext
            ifeq 83
        79: .line 340
            aload 6 /* traversedContext */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            astore 9 /* node */
        start local 9 // org.eclipse.jdt.internal.compiler.ast.ASTNode node
        80: .line 341
            aload 9 /* node */
            instanceof org.eclipse.jdt.internal.compiler.ast.TryStatement
            ifeq 83
        81: .line 342
            aload 9 /* node */
            checkcast org.eclipse.jdt.internal.compiler.ast.TryStatement
            astore 10 /* tryStatement */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.TryStatement tryStatement
        82: .line 343
            aload 3 /* flowInfo */
            aload 10 /* tryStatement */
            getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineInits:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        end local 10 // org.eclipse.jdt.internal.compiler.ast.TryStatement tryStatement
        end local 9 // org.eclipse.jdt.internal.compiler.ast.ASTNode node
        83: .line 347
      StackMap locals:
      StackMap stack:
            aload 6 /* traversedContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 6 /* traversedContext */
        end local 8 // org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement sub
        84: .line 253
      StackMap locals:
      StackMap stack:
            aload 6 /* traversedContext */
            ifnonnull 10
        85: .line 350
      StackMap locals:
      StackMap stack:
            iload 5 /* isExceptionOnAutoClose */
            ifeq 88
        86: .line 351
            aload 4 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 1 /* raisedException */
            aload 2 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unhandledExceptionFromAutoClose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        87: .line 352
            goto 89
        88: .line 353
      StackMap locals:
      StackMap stack:
            aload 4 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 1 /* raisedException */
            aload 2 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        89: .line 355
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.util.ArrayList abruptlyExitedLoops
        end local 6 // org.eclipse.jdt.internal.compiler.flow.FlowContext traversedContext
        end local 5 // boolean isExceptionOnAutoClose
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   90     0                            this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   90     1                 raisedException  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   90     2                        location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            0   90     3                        flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0   90     4                           scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   90     5          isExceptionOnAutoClose  Z
            1   90     6                traversedContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2   90     7             abruptlyExitedLoops  Ljava/util/ArrayList;
            4   10     8                 throwExpression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            5   10     9                 throwArgBinding  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            8   10    10                       parameter  Lorg/eclipse/jdt/internal/compiler/lookup/CatchParameterBinding;
           11   84     8                             sub  Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
           16   72     9                exceptionContext  Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
           17   72    10                caughtExceptions  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           19   61    11                definitelyCaught  Z
           20   59    12                     caughtIndex  I
           21   59    13                     caughtCount  I
           23   56    14                 caughtException  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           24   56    15                   exceptionFlow  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           28   56    16                           state  I
           30   36    17                               i  I
           31   36    18        abruptlyExitedLoopsCount  I
           33   34    19                            loop  Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
           65   72    11  shouldMergeUnhandledExceptions  Z
           67   69    12                          method  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
           80   83     9                            node  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
           82   83    10                    tryStatement  Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
    MethodParameters:
                        Name  Flags
      raisedException         
      location                
      flowInfo                
      scope                   
      isExceptionOnAutoClose  

  public void checkExceptionHandlers(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=23, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] raisedExceptions
        start local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 364
            aload 1 /* raisedExceptions */
            ifnull 3
         1: .line 365
            aload 1 /* raisedExceptions */
            arraylength
            dup
            istore 6 /* raisedCount */
        start local 6 // int raisedCount
         2: ifne 4
        end local 6 // int raisedCount
         3: .line 366
      StackMap locals:
      StackMap stack:
            return
        start local 6 // int raisedCount
         4: .line 367
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope top int
      StackMap stack:
            iload 6 /* raisedCount */
            istore 5 /* remainingCount */
        start local 5 // int remainingCount
         5: .line 372
            aload 1 /* raisedExceptions */
         6: .line 373
            iconst_0
         7: .line 374
            iload 6 /* raisedCount */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            astore 1 /* raisedExceptions */
         8: .line 375
            iconst_0
         9: .line 376
            iload 6 /* raisedCount */
        10: .line 371
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 377
            aload 0 /* this */
            astore 7 /* traversedContext */
        start local 7 // org.eclipse.jdt.internal.compiler.flow.FlowContext traversedContext
        12: .line 379
            aconst_null
            astore 8 /* abruptlyExitedLoops */
        start local 8 // java.util.ArrayList abruptlyExitedLoops
        13: .line 380
            goto 113
        14: .line 382
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList
      StackMap stack:
            aload 7 /* traversedContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.subroutine:()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
            dup
            astore 9 /* sub */
        start local 9 // org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement sub
        15: ifnull 17
            aload 9 /* sub */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement.isSubRoutineEscaping:()Z
            ifeq 17
        16: .line 385
            return
        17: .line 389
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
      StackMap stack:
            aload 7 /* traversedContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
            ifeq 100
        18: .line 391
            aload 7 /* traversedContext */
            checkcast org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
        19: .line 390
            astore 10 /* exceptionContext */
        start local 10 // org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext exceptionContext
        20: .line 393
            aload 10 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            dup
            astore 11 /* caughtExceptions */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] caughtExceptions
        21: getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_EXCEPTIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpeq 76
        22: .line 394
            aload 11 /* caughtExceptions */
            arraylength
            istore 12 /* caughtCount */
        start local 12 // int caughtCount
        23: .line 395
            iload 6 /* raisedCount */
            newarray 4
            astore 13 /* locallyCaught */
        start local 13 // boolean[] locallyCaught
        24: .line 397
            iconst_0
            istore 14 /* caughtIndex */
        start local 14 // int caughtIndex
        25: goto 69
        26: .line 398
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int boolean[] int
      StackMap stack:
            aload 11 /* caughtExceptions */
            iload 14 /* caughtIndex */
            aaload
            astore 15 /* caughtException */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding caughtException
        27: .line 399
            iconst_0
            istore 16 /* raisedIndex */
        start local 16 // int raisedIndex
        28: goto 67
        29: .line 401
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int
      StackMap stack:
            aload 1 /* raisedExceptions */
            iload 16 /* raisedIndex */
            aaload
            dup
            astore 17 /* raisedException */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        30: ifnull 66
        31: .line 402
            aload 3 /* flowInfo */
            astore 18 /* exceptionFlow */
        start local 18 // org.eclipse.jdt.internal.compiler.flow.FlowInfo exceptionFlow
        32: .line 403
            aload 15 /* caughtException */
            ifnonnull 34
        33: .line 404
            iconst_m1
            goto 35
        34: .line 405
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 17 /* raisedException */
            aload 15 /* caughtException */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.compareTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
        35: .line 403
      StackMap locals:
      StackMap stack: int
            istore 19 /* state */
        start local 19 // int state
        36: .line 406
            aload 8 /* abruptlyExitedLoops */
            ifnull 45
            aload 15 /* caughtException */
            ifnull 45
            iload 19 /* state */
            ifeq 45
        37: .line 407
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        38: aload 8 /* abruptlyExitedLoops */
            invokevirtual java.util.ArrayList.size:()I
            istore 21 /* abruptlyExitedLoopsCount */
        start local 21 // int abruptlyExitedLoopsCount
        39: goto 43
        40: .line 408
      StackMap locals: int int int
      StackMap stack:
            aload 8 /* abruptlyExitedLoops */
            iload 20 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            astore 22 /* loop */
        start local 22 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loop
        41: .line 409
            aload 22 /* loop */
            aload 10 /* exceptionContext */
            aload 15 /* caughtException */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordCatchContextOfEscapingException:(Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        end local 22 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loop
        42: .line 407
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 20 /* i */
            iload 21 /* abruptlyExitedLoopsCount */
            if_icmplt 40
        end local 21 // int abruptlyExitedLoopsCount
        end local 20 // int i
        44: .line 411
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 18 /* exceptionFlow */
        45: .line 413
      StackMap locals:
      StackMap stack:
            iload 19 /* state */
            tableswitch { // -1 - 1
                   -1: 46
                    0: 66
                    1: 58
              default: 66
          }
        46: .line 415
      StackMap locals:
      StackMap stack:
            aload 10 /* exceptionContext */
        47: .line 416
            aload 15 /* caughtException */
        48: .line 417
            aload 18 /* exceptionFlow */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        49: .line 418
            aload 17 /* raisedException */
        50: .line 419
            aload 17 /* raisedException */
        51: .line 420
            aload 2 /* location */
        52: .line 421
            aload 13 /* locallyCaught */
            iload 16 /* raisedIndex */
            baload
        53: .line 415
            invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
        54: .line 423
            aload 13 /* locallyCaught */
            iload 16 /* raisedIndex */
            baload
            ifne 66
        55: .line 424
            aload 13 /* locallyCaught */
            iload 16 /* raisedIndex */
            iconst_1
            bastore
        56: .line 426
            iinc 5 /* remainingCount */ -1
        57: .line 428
            goto 66
        58: .line 430
      StackMap locals:
      StackMap stack:
            aload 10 /* exceptionContext */
        59: .line 431
            aload 15 /* caughtException */
        60: .line 432
            aload 18 /* exceptionFlow */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        61: .line 433
            aload 17 /* raisedException */
        62: .line 434
            aload 15 /* caughtException */
        63: .line 435
            aload 2 /* location */
        64: .line 436
            iconst_0
        65: .line 430
            invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
        end local 19 // int state
        end local 18 // org.eclipse.jdt.internal.compiler.flow.FlowInfo exceptionFlow
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        66: .line 399
      StackMap locals:
      StackMap stack:
            iinc 16 /* raisedIndex */ 1
      StackMap locals:
      StackMap stack:
        67: iload 16 /* raisedIndex */
            iload 6 /* raisedCount */
            if_icmplt 29
        end local 16 // int raisedIndex
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding caughtException
        68: .line 397
            iinc 14 /* caughtIndex */ 1
      StackMap locals:
      StackMap stack:
        69: iload 14 /* caughtIndex */
            iload 12 /* caughtCount */
            if_icmplt 26
        end local 14 // int caughtIndex
        70: .line 443
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        71: goto 75
        72: .line 444
      StackMap locals:
      StackMap stack:
            aload 13 /* locallyCaught */
            iload 14 /* i */
            baload
            ifeq 74
        73: .line 445
            aload 1 /* raisedExceptions */
            iload 14 /* i */
            aconst_null
            aastore
        74: .line 443
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        75: iload 14 /* i */
            iload 6 /* raisedCount */
            if_icmplt 72
        end local 14 // int i
        end local 13 // boolean[] locallyCaught
        end local 12 // int caughtCount
        76: .line 450
      StackMap locals:
      StackMap stack:
            aload 10 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isMethodContext:Z
            ifeq 104
        77: .line 451
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        78: goto 85
        79: .line 453
      StackMap locals: int
      StackMap stack:
            aload 1 /* raisedExceptions */
            iload 12 /* i */
            aaload
            dup
            astore 13 /* raisedException */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        80: ifnull 84
        81: .line 454
            aload 13 /* raisedException */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isUncheckedException:(Z)Z
            ifeq 84
        82: .line 455
            iinc 5 /* remainingCount */ -1
        83: .line 456
            aload 1 /* raisedExceptions */
            iload 12 /* i */
            aconst_null
            aastore
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        84: .line 451
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        85: iload 12 /* i */
            iload 6 /* raisedCount */
            if_icmplt 79
        end local 12 // int i
        86: .line 460
            aload 10 /* exceptionContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionInferenceFlowContext
            istore 12 /* shouldMergeUnhandledException */
        start local 12 // boolean shouldMergeUnhandledException
        87: .line 463
            aload 10 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            ifeq 91
        88: .line 464
            aload 10 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            astore 13 /* method */
        start local 13 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
        89: .line 465
            aload 13 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.isConstructor:()Z
            ifeq 91
            aload 13 /* method */
            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;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isAnonymousType:()Z
            ifeq 91
        90: .line 466
            iconst_1
            istore 12 /* shouldMergeUnhandledException */
        end local 13 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
        91: .line 468
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int
      StackMap stack:
            iload 12 /* shouldMergeUnhandledException */
            ifeq 114
        92: .line 469
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        93: goto 98
        94: .line 471
      StackMap locals: int
      StackMap stack:
            aload 1 /* raisedExceptions */
            iload 13 /* i */
            aaload
            dup
            astore 14 /* raisedException */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        95: ifnull 97
        96: .line 472
            aload 10 /* exceptionContext */
            aload 14 /* raisedException */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.mergeUnhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding raisedException
        97: .line 469
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        98: iload 13 /* i */
            iload 6 /* raisedCount */
            if_icmplt 94
        end local 13 // int i
        99: .line 475
            return
        end local 12 // boolean shouldMergeUnhandledException
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] caughtExceptions
        end local 10 // org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext exceptionContext
       100: .line 479
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
      StackMap stack:
            aload 7 /* traversedContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            ifeq 104
       101: .line 480
            aload 8 /* abruptlyExitedLoops */
            ifnonnull 103
       102: .line 481
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 8 /* abruptlyExitedLoops */
       103: .line 483
      StackMap locals:
      StackMap stack:
            aload 8 /* abruptlyExitedLoops */
            aload 7 /* traversedContext */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       104: .line 485
      StackMap locals:
      StackMap stack:
            iload 5 /* remainingCount */
            ifne 106
       105: .line 486
            return
       106: .line 488
      StackMap locals:
      StackMap stack:
            aload 7 /* traversedContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordReturnFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
       107: .line 490
            aload 7 /* traversedContext */
            instanceof org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext
            ifeq 112
       108: .line 491
            aload 7 /* traversedContext */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            astore 10 /* node */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.ASTNode node
       109: .line 492
            aload 10 /* node */
            instanceof org.eclipse.jdt.internal.compiler.ast.TryStatement
            ifeq 112
       110: .line 493
            aload 10 /* node */
            checkcast org.eclipse.jdt.internal.compiler.ast.TryStatement
            astore 11 /* tryStatement */
        start local 11 // org.eclipse.jdt.internal.compiler.ast.TryStatement tryStatement
       111: .line 494
            aload 3 /* flowInfo */
            aload 11 /* tryStatement */
            getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineInits:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        end local 11 // org.eclipse.jdt.internal.compiler.ast.TryStatement tryStatement
        end local 10 // org.eclipse.jdt.internal.compiler.ast.ASTNode node
       112: .line 497
      StackMap locals:
      StackMap stack:
            aload 7 /* traversedContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 7 /* traversedContext */
        end local 9 // org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement sub
       113: .line 380
      StackMap locals:
      StackMap stack:
            aload 7 /* traversedContext */
            ifnonnull 14
       114: .line 500
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
       115: goto 125
       116: .line 502
      StackMap locals: int
      StackMap stack:
            aload 1 /* raisedExceptions */
            iload 9 /* i */
            aaload
            dup
            astore 10 /* exception */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding exception
       117: ifnull 124
       118: .line 504
            iconst_0
            istore 11 /* j */
        start local 11 // int j
       119: goto 122
       120: .line 505
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            aload 1 /* raisedExceptions */
            iload 11 /* j */
            aaload
            aload 10 /* exception */
            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 121
            goto 124
       121: .line 504
      StackMap locals:
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
       122: iload 11 /* j */
            iload 9 /* i */
            if_icmplt 120
        end local 11 // int j
       123: .line 507
            aload 4 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 10 /* exception */
            aload 2 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding exception
       124: .line 500
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       125: iload 9 /* i */
            iload 6 /* raisedCount */
            if_icmplt 116
        end local 9 // int i
       126: .line 510
            return
        end local 8 // java.util.ArrayList abruptlyExitedLoops
        end local 7 // org.eclipse.jdt.internal.compiler.flow.FlowContext traversedContext
        end local 6 // int raisedCount
        end local 5 // int remainingCount
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] raisedExceptions
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  127     0                           this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0  127     1               raisedExceptions  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0  127     2                       location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            0  127     3                       flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0  127     4                          scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            5  127     5                 remainingCount  I
            2    3     6                    raisedCount  I
            4  127     6                    raisedCount  I
           12  127     7               traversedContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
           13  127     8            abruptlyExitedLoops  Ljava/util/ArrayList;
           15  113     9                            sub  Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
           20  100    10               exceptionContext  Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
           21  100    11               caughtExceptions  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           23   76    12                    caughtCount  I
           24   76    13                  locallyCaught  [Z
           25   70    14                    caughtIndex  I
           27   68    15                caughtException  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           28   68    16                    raisedIndex  I
           30   66    17                raisedException  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           32   66    18                  exceptionFlow  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           36   66    19                          state  I
           38   44    20                              i  I
           39   44    21       abruptlyExitedLoopsCount  I
           41   42    22                           loop  Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
           71   76    14                              i  I
           78   86    12                              i  I
           80   84    13                raisedException  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           87  100    12  shouldMergeUnhandledException  Z
           89   91    13                         method  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
           93   99    13                              i  I
           95   97    14                raisedException  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          109  112    10                           node  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
          111  112    11                   tryStatement  Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
          115  126     9                              i  I
          117  124    10                      exception  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          119  123    11                              j  I
    MethodParameters:
                  Name  Flags
      raisedExceptions  
      location          
      flowInfo          
      scope             

  public org.eclipse.jdt.internal.compiler.codegen.BranchLabel continueLabel();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 513
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public org.eclipse.jdt.internal.compiler.flow.FlowInfo getInitsForFinalBlankInitializationCheck(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding declaringType
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 517
            aload 0 /* this */
            astore 3 /* current */
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
         1: .line 518
            aload 2 /* flowInfo */
            astore 4 /* inits */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo inits
         2: .line 520
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 3 /* current */
            instanceof org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext
            ifeq 9
         3: .line 521
            aload 3 /* current */
            checkcast org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext
            astore 5 /* initializationContext */
        start local 5 // org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext initializationContext
         4: .line 522
            aload 5 /* initializationContext */
            getfield org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            checkcast org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            aload 1 /* declaringType */
            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 6
         5: .line 523
            aload 4 /* inits */
            areturn
         6: .line 525
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext
      StackMap stack:
            aload 5 /* initializationContext */
            getfield org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext.initsBeforeContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 4 /* inits */
         7: .line 526
            aload 5 /* initializationContext */
            getfield org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 3 /* current */
        end local 5 // org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext initializationContext
         8: .line 527
            goto 18
      StackMap locals:
      StackMap stack:
         9: aload 3 /* current */
            instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
            ifeq 17
        10: .line 528
            aload 3 /* current */
            instanceof org.eclipse.jdt.internal.compiler.flow.FieldInitsFakingFlowContext
            ifeq 12
        11: .line 529
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            areturn
        12: .line 531
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            checkcast org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
            astore 5 /* exceptionContext */
        start local 5 // org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext exceptionContext
        13: .line 532
            aload 5 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            ifnonnull 14
            aload 5 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            goto 15
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
      StackMap stack:
        14: aload 5 /* exceptionContext */
            getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowContext
        15: astore 3 /* current */
        end local 5 // org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext exceptionContext
        16: .line 533
            goto 18
        17: .line 534
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 3 /* current */
        18: .line 536
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            ifnonnull 2
        19: .line 538
            new java.lang.IllegalStateException
            dup
            aload 1 /* declaringType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.debugName:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo inits
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding declaringType
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   20     0                   this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   20     1          declaringType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   20     2               flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            1   20     3                current  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2   20     4                  inits  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            4    8     5  initializationContext  Lorg/eclipse/jdt/internal/compiler/flow/InitializationFlowContext;
           13   16     5       exceptionContext  Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
    MethodParameters:
               Name  Flags
      declaringType  
      flowInfo       

  public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForBreakLabel(char[]);
    descriptor: ([C)Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // char[] labelName
         0: .line 545
            aload 0 /* this */
            astore 2 /* current */
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
         1: aconst_null
            astore 3 /* lastNonReturningSubRoutine */
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
         2: .line 546
            goto 13
         3: .line 547
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
            ifeq 5
         4: .line 548
            aload 2 /* current */
            astore 3 /* lastNonReturningSubRoutine */
         5: .line 551
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
            dup
            astore 4 /* currentLabelName */
        start local 4 // char[] currentLabelName
         6: ifnull 12
         7: .line 552
            aload 4 /* currentLabelName */
            aload 1 /* labelName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 12
         8: .line 553
            aload 2 /* current */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            checkcast org.eclipse.jdt.internal.compiler.ast.LabeledStatement
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
            bipush 64
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
         9: .line 554
            aload 3 /* lastNonReturningSubRoutine */
            ifnonnull 11
        10: .line 555
            aload 2 /* current */
            areturn
        11: .line 556
      StackMap locals: char[]
      StackMap stack:
            aload 3 /* lastNonReturningSubRoutine */
            areturn
        12: .line 558
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 2 /* current */
        end local 4 // char[] currentLabelName
        13: .line 546
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            ifnonnull 3
        14: .line 561
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
        end local 1 // char[] labelName
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   15     0                        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   15     1                   labelName  [C
            1   15     2                     current  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2   15     3  lastNonReturningSubRoutine  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            6   13     4            currentLabelName  [C
    MethodParameters:
           Name  Flags
      labelName  

  public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForContinueLabel(char[]);
    descriptor: ([C)Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // char[] labelName
         0: .line 568
            aload 0 /* this */
            astore 2 /* current */
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
         1: .line 569
            aconst_null
            astore 3 /* lastContinuable */
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastContinuable
         2: .line 570
            aconst_null
            astore 4 /* lastNonReturningSubRoutine */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
         3: .line 572
            goto 18
         4: .line 573
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
            ifeq 7
         5: .line 574
            aload 2 /* current */
            astore 4 /* lastNonReturningSubRoutine */
         6: .line 575
            goto 9
         7: .line 576
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isContinuable:()Z
            ifeq 9
         8: .line 577
            aload 2 /* current */
            astore 3 /* lastContinuable */
         9: .line 582
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
            dup
            astore 5 /* currentLabelName */
        start local 5 // char[] currentLabelName
        10: ifnull 17
            aload 5 /* currentLabelName */
            aload 1 /* labelName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 17
        11: .line 583
            aload 2 /* current */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            checkcast org.eclipse.jdt.internal.compiler.ast.LabeledStatement
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
            bipush 64
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
        12: .line 586
            aload 3 /* lastContinuable */
            ifnull 16
        13: .line 587
            aload 2 /* current */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.ASTNode.concreteStatement:()Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            aload 3 /* lastContinuable */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            if_acmpne 16
        14: .line 589
            aload 4 /* lastNonReturningSubRoutine */
            ifnonnull 15
            aload 3 /* lastContinuable */
            areturn
        15: .line 590
      StackMap locals: char[]
      StackMap stack:
            aload 4 /* lastNonReturningSubRoutine */
            areturn
        16: .line 593
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowContext.NotContinuableContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            areturn
        17: .line 595
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 2 /* current */
        end local 5 // char[] currentLabelName
        18: .line 572
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            ifnonnull 4
        19: .line 598
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastContinuable
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
        end local 1 // char[] labelName
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   20     0                        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   20     1                   labelName  [C
            1   20     2                     current  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2   20     3             lastContinuable  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            3   20     4  lastNonReturningSubRoutine  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
           10   18     5            currentLabelName  [C
    MethodParameters:
           Name  Flags
      labelName  

  public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForDefaultBreak();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 605
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
         1: aconst_null
            astore 2 /* lastNonReturningSubRoutine */
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
         2: .line 606
            goto 9
         3: .line 607
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
            ifeq 5
         4: .line 608
            aload 1 /* current */
            astore 2 /* lastNonReturningSubRoutine */
         5: .line 610
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isBreakable:()Z
            ifeq 8
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
            ifnonnull 8
         6: .line 611
            aload 2 /* lastNonReturningSubRoutine */
            ifnonnull 7
            aload 1 /* current */
            areturn
         7: .line 612
      StackMap locals:
      StackMap stack:
            aload 2 /* lastNonReturningSubRoutine */
            areturn
         8: .line 614
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 1 /* current */
         9: .line 606
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnonnull 3
        10: .line 617
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   11     0                        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            1   11     1                     current  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2   11     2  lastNonReturningSubRoutine  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForDefaultYield();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 623
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
         1: aconst_null
            astore 2 /* lastNonReturningSubRoutine */
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
         2: .line 624
            goto 9
         3: .line 625
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
            ifeq 5
         4: .line 626
            aload 1 /* current */
            astore 2 /* lastNonReturningSubRoutine */
         5: .line 628
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isBreakable:()Z
            ifeq 8
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
            ifnonnull 8
            aload 1 /* current */
            checkcast org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext
            getfield org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.isExpression:Z
            ifeq 8
         6: .line 629
            aload 2 /* lastNonReturningSubRoutine */
            ifnonnull 7
            aload 1 /* current */
            areturn
         7: .line 630
      StackMap locals:
      StackMap stack:
            aload 2 /* lastNonReturningSubRoutine */
            areturn
         8: .line 632
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 1 /* current */
         9: .line 624
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnonnull 3
        10: .line 635
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   11     0                        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            1   11     1                     current  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2   11     2  lastNonReturningSubRoutine  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForDefaultContinue();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 642
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
         1: aconst_null
            astore 2 /* lastNonReturningSubRoutine */
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
         2: .line 643
            goto 10
         3: .line 644
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
            ifeq 5
         4: .line 645
            aload 1 /* current */
            astore 2 /* lastNonReturningSubRoutine */
         5: .line 647
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isContinuable:()Z
            ifeq 9
         6: .line 648
            aload 2 /* lastNonReturningSubRoutine */
            ifnonnull 8
         7: .line 649
            aload 1 /* current */
            areturn
         8: .line 650
      StackMap locals:
      StackMap stack:
            aload 2 /* lastNonReturningSubRoutine */
            areturn
         9: .line 652
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 1 /* current */
        10: .line 643
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnonnull 3
        11: .line 655
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext lastNonReturningSubRoutine
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   12     0                        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            1   12     1                     current  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            2   12     2  lastNonReturningSubRoutine  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public org.eclipse.jdt.internal.compiler.flow.FlowContext getInitializationContext();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 662
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public org.eclipse.jdt.internal.compiler.flow.FlowContext getLocalParent();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 670
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            ifne 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            instanceof org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            ifne 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            instanceof org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            ifeq 2
         1: .line 671
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public java.lang.String individualToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 676
            ldc "Flow context"
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public org.eclipse.jdt.internal.compiler.flow.FlowInfo initsOnBreak();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 680
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo initsOnReturn();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 684
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

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

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

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

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

  public char[] labelName();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 704
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public void markFinallyNullStatus(org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        start local 2 // int nullStatus
         0: .line 713
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            ifnonnull 1
            return
         1: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
            iconst_m1
            if_icmpne 2
            return
         2: .line 715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
            ifne 5
         3: .line 717
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            aload 1 /* local */
            iload 2 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markNullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;I)V
         4: .line 718
            return
         5: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 3 /* newInfo */
        start local 3 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo newInfo
         6: .line 722
            aload 3 /* newInfo */
            aload 1 /* local */
            iload 2 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.markNullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;I)V
         7: .line 723
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            aload 3 /* newInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
         8: .line 724
            return
        end local 3 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo newInfo
        end local 2 // int nullStatus
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    9     1       local  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            0    9     2  nullStatus  I
            6    9     3     newInfo  Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
    MethodParameters:
            Name  Flags
      local       
      nullStatus  

  public void mergeFinallyNullInfo(org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 733
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            ifnonnull 1
            return
         1: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
            iconst_m1
            if_icmpne 2
            return
         2: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
            ifne 5
         3: .line 737
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            aload 1 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
         4: .line 738
            return
         5: .line 741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            aload 1 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
         6: .line 742
            return
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    7     1  flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
          Name  Flags
      flowInfo  

  public void recordAbruptExit();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 752
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
            iconst_m1
            if_icmple 4
         1: .line 753
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
         2: .line 755
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
            ifne 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            ifnull 4
         3: .line 756
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordAbruptExit:()V
         4: .line 759
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public void recordBreakFrom(org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 763
            return
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1  flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
          Name  Flags
      flowInfo  

  public void recordBreakTo(org.eclipse.jdt.internal.compiler.flow.FlowContext);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext targetContext
         0: .line 767
            return
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext targetContext
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1  targetContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    MethodParameters:
               Name  Flags
      targetContext  

  public void recordContinueFrom(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext innerFlowContext
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 771
            return
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowContext innerFlowContext
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1  innerFlowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     2          flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
                  Name  Flags
      innerFlowContext  
      flowInfo          

  public boolean recordExitAgainstResource(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable, org.eclipse.jdt.internal.compiler.ast.ASTNode);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 3 // org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable trackingVar
        start local 4 // org.eclipse.jdt.internal.compiler.ast.ASTNode reference
         0: .line 782
            iconst_0
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.ast.ASTNode reference
        end local 3 // org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable trackingVar
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1        scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    1     2     flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0    1     3  trackingVar  Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
            0    1     4    reference  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
    MethodParameters:
             Name  Flags
      scope        
      flowInfo     
      trackingVar  
      reference    

  protected void recordProvidedExpectedTypes(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        start local 3 // int nullCount
         0: .line 786
            iload 3 /* nullCount */
            ifne 3
         1: .line 787
            aload 0 /* this */
            iconst_5
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         2: .line 788
            goto 15
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 10
         4: .line 789
            iconst_5
            istore 4 /* size */
        start local 4 // int size
         5: .line 790
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iload 4 /* size */
            iconst_2
            imul
            istore 4 /* size */
      StackMap locals:
      StackMap stack:
         7: iload 4 /* size */
            iload 3 /* nullCount */
            if_icmple 6
         8: .line 791
            aload 0 /* this */
            iload 4 /* size */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        end local 4 // int size
         9: .line 792
            goto 15
        10: .line 793
      StackMap locals:
      StackMap stack:
            iload 3 /* nullCount */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            if_icmplt 15
        11: .line 794
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            istore 4 /* oldLen */
        start local 4 // int oldLen
        12: .line 795
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_0
        13: .line 796
            aload 0 /* this */
            iload 3 /* nullCount */
            iconst_2
            imul
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_0
            iload 4 /* oldLen */
        14: .line 795
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 4 // int oldLen
        15: .line 798
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 3 /* nullCount */
            iconst_2
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            iconst_0
            aload 1 /* providedType */
            aastore
            dup
            iconst_1
            aload 2 /* expectedType */
            aastore
            aastore
        16: .line 799
            return
        end local 3 // int nullCount
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   17     1  providedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   17     2  expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   17     3     nullCount  I
            5    9     4          size  I
           12   15     4        oldLen  I
    MethodParameters:
              Name  Flags
      providedType  
      expectedType  
      nullCount     

  protected boolean recordFinalAssignment(org.eclipse.jdt.internal.compiler.lookup.VariableBinding, org.eclipse.jdt.internal.compiler.ast.Reference);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.VariableBinding variable
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Reference finalReference
         0: .line 802
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Reference finalReference
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.VariableBinding variable
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1        variable  Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
            0    1     2  finalReference  Lorg/eclipse/jdt/internal/compiler/ast/Reference;
    MethodParameters:
                Name  Flags
      variable        
      finalReference  

  protected void recordNullReference(org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, int, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        start local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        start local 3 // int checkType
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo nullInfo
         0: .line 826
            return
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo nullInfo
        end local 3 // int checkType
        end local 2 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1      local  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            0    1     2   location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            0    1     3  checkType  I
            0    1     4   nullInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
           Name  Flags
      local      
      location   
      checkType  
      nullInfo   

  public void recordUnboxing(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.Expression, int, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        start local 3 // int nullStatus
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 835
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* expression */
            aload 4 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.checkUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
         1: .line 836
            return
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 3 // int nullStatus
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    2     1       scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    2     2  expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    2     3  nullStatus  I
            0    2     4    flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    MethodParameters:
            Name  Flags
      scope       
      expression  
      nullStatus  
      flowInfo    

  protected void checkUnboxing(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;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.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 839
            aload 2 /* expression */
            aload 3 /* flowInfo */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.nullStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
            istore 4 /* status */
        start local 4 // int status
         1: .line 840
            iload 4 /* status */
            iconst_2
            iand
            ifeq 4
         2: .line 841
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* expression */
            aload 2 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullUnboxing:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         3: .line 842
            return
         4: .line 843
      StackMap locals: int
      StackMap stack:
            iload 4 /* status */
            bipush 16
            iand
            ifeq 7
         5: .line 844
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* expression */
            aload 2 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.potentialNullUnboxing:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         6: .line 845
            return
         7: .line 846
      StackMap locals:
      StackMap stack:
            iload 4 /* status */
            iconst_4
            iand
            ifeq 9
         8: .line 847
            return
         9: .line 850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            ifnull 11
        10: .line 851
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            aload 1 /* scope */
            aload 2 /* expression */
            iconst_1
            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
        11: .line 853
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int status
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   12     1       scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   12     2  expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   12     3    flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            1   12     4      status  I
    MethodParameters:
            Name  Flags
      scope       
      expression  
      flowInfo    

  public void recordReturnFrom(org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo flowInfo
         0: .line 857
            return
        end local 1 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo flowInfo
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1  flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
    MethodParameters:
          Name  Flags
      flowInfo  

  public void recordSettingFinal(org.eclipse.jdt.internal.compiler.lookup.VariableBinding, org.eclipse.jdt.internal.compiler.ast.Reference, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/Reference;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.VariableBinding variable
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Reference finalReference
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 860
            aload 3 /* flowInfo */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
            iconst_1
            iand
            ifne 7
         1: .line 862
            aload 0 /* this */
            astore 4 /* context */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowContext context
         2: .line 863
            goto 6
         3: .line 864
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext
      StackMap stack:
            aload 4 /* context */
            aload 1 /* variable */
            aload 2 /* finalReference */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordFinalAssignment:(Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
            ifne 5
         4: .line 865
            goto 7
         5: .line 867
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 4 /* context */
         6: .line 863
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            ifnonnull 3
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowContext context
         7: .line 870
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Reference finalReference
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.VariableBinding variable
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    8     1        variable  Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
            0    8     2  finalReference  Lorg/eclipse/jdt/internal/compiler/ast/Reference;
            0    8     3        flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            2    7     4         context  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
    MethodParameters:
                Name  Flags
      variable        
      finalReference  
      flowInfo        

  public void recordUsingNullReference(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, int, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (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
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        start local 3 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        start local 4 // int checkType
        start local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 899
            aload 5 /* flowInfo */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
            iconst_3
            iand
            ifne 2
         1: .line 900
            aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyUnknown:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 3
         2: .line 901
      StackMap locals:
      StackMap stack:
            return
         3: .line 904
      StackMap locals:
      StackMap stack:
            iload 4 /* checkType */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            sipush 4096
            iand
            ior
            istore 4 /* checkType */
         4: .line 905
            iload 4 /* checkType */
            ldc -61441
            iand
            istore 6 /* checkTypeWithoutHideNullWarning */
        start local 6 // int checkTypeWithoutHideNullWarning
         5: .line 906
            iload 6 /* checkTypeWithoutHideNullWarning */
            lookupswitch { // 7
                    3: 49
                  256: 6
                  257: 17
                  512: 6
                  513: 17
                  769: 17
                 1025: 17
              default: 58
          }
         6: .line 909
      StackMap locals: int
      StackMap stack:
            aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 15
         7: .line 910
            iload 6 /* checkTypeWithoutHideNullWarning */
            sipush 512
            if_icmpne 12
         8: .line 911
            iload 4 /* checkType */
            sipush 4096
            iand
            ifne 10
         9: .line 912
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 3 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        10: .line 914
      StackMap locals:
      StackMap stack:
            aload 5 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        11: .line 915
            goto 14
        12: .line 916
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 3 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNonNullComparedToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        13: .line 917
            aload 5 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        14: .line 919
      StackMap locals:
      StackMap stack:
            return
        15: .line 921
      StackMap locals:
      StackMap stack:
            aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.cannotBeDefinitelyNullOrNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 17
        16: .line 922
            return
        17: .line 929
      StackMap locals:
      StackMap stack:
            aload 3 /* location */
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            astore 7 /* reference */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.Expression reference
        18: .line 930
            aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 38
        19: .line 931
            iload 6 /* checkTypeWithoutHideNullWarning */
            ldc -61696
            iand
            lookupswitch { // 4
                  256: 20
                  512: 27
                  768: 33
                 1024: 35
              default: 37
          }
        20: .line 933
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
      StackMap stack:
            iload 6 /* checkTypeWithoutHideNullWarning */
            sipush 255
            iand
            iconst_1
            if_icmpne 23
            aload 7 /* reference */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 1024
            iand
            ifeq 23
        21: .line 934
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        22: .line 935
            return
        23: .line 937
      StackMap locals:
      StackMap stack:
            iload 4 /* checkType */
            sipush 4096
            iand
            ifne 25
        24: .line 938
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        25: .line 940
      StackMap locals:
      StackMap stack:
            aload 5 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        26: .line 941
            return
        27: .line 943
      StackMap locals:
      StackMap stack:
            iload 6 /* checkTypeWithoutHideNullWarning */
            sipush 255
            iand
            iconst_1
            if_icmpne 30
            aload 7 /* reference */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 1024
            iand
            ifeq 30
        28: .line 944
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        29: .line 945
            return
        30: .line 947
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullComparedToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        31: .line 948
            aload 5 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        32: .line 949
            return
        33: .line 951
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantNullAssignment:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        34: .line 952
            return
        35: .line 954
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullInstanceof:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        36: .line 955
            return
        37: .line 957
      StackMap locals:
      StackMap stack:
            goto 58
      StackMap locals:
      StackMap stack:
        38: aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 47
        39: .line 958
            iload 6 /* checkTypeWithoutHideNullWarning */
            ldc -61696
            iand
            lookupswitch { // 2
                  256: 40
                  512: 43
              default: 46
          }
        40: .line 960
      StackMap locals:
      StackMap stack:
            iload 6 /* checkTypeWithoutHideNullWarning */
            sipush 255
            iand
            iconst_1
            if_icmpne 58
            aload 7 /* reference */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 1024
            iand
            ifeq 58
        41: .line 961
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        42: .line 962
            return
        43: .line 966
      StackMap locals:
      StackMap stack:
            iload 6 /* checkTypeWithoutHideNullWarning */
            sipush 255
            iand
            iconst_1
            if_icmpne 58
            aload 7 /* reference */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 1024
            iand
            ifeq 58
        44: .line 967
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 7 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        45: .line 968
            return
        46: .line 972
      StackMap locals:
      StackMap stack:
            goto 58
      StackMap locals:
      StackMap stack:
        47: aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.cannotBeDefinitelyNullOrNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 58
        48: .line 973
            return
        end local 7 // org.eclipse.jdt.internal.compiler.ast.Expression reference
        49: .line 977
      StackMap locals:
      StackMap stack:
            aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 52
        50: .line 978
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 3 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        51: .line 979
            return
        52: .line 981
      StackMap locals:
      StackMap stack:
            aload 5 /* flowInfo */
            aload 2 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
            ifeq 58
        53: .line 982
            aload 2 /* local */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFreeTypeVariable:()Z
            ifeq 56
        54: .line 983
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 3 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableFreeTypeVariableReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        55: .line 984
            return
        56: .line 986
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* local */
            aload 3 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        57: .line 987
            return
        58: .line 993
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            ifnull 62
        59: .line 994
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            aload 1 /* scope */
            aload 2 /* local */
            aload 3 /* location */
            iload 4 /* checkType */
        60: .line 995
            aload 5 /* flowInfo */
        61: .line 994
            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
        62: .line 997
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int checkTypeWithoutHideNullWarning
        end local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 4 // int checkType
        end local 3 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   63     0                             this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   63     1                            scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   63     2                            local  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            0   63     3                         location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            0   63     4                        checkType  I
            0   63     5                         flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            5   63     6  checkTypeWithoutHideNullWarning  I
           18   49     7                        reference  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    MethodParameters:
           Name  Flags
      scope      
      local      
      location   
      checkType  
      flowInfo   

  void removeFinalAssignmentIfAny(org.eclipse.jdt.internal.compiler.ast.Reference);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Reference;)V
    flags: (0x0000) 
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Reference reference
         0: .line 1001
            return
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Reference reference
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1  reference  Lorg/eclipse/jdt/internal/compiler/ast/Reference;
    MethodParameters:
           Name  Flags
      reference  

  public org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement subroutine();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 1004
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
         0: .line 1009
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 1010
            aload 0 /* this */
            astore 2 /* current */
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
         2: .line 1011
            iconst_0
            istore 3 /* parentsCount */
        start local 3 // int parentsCount
         3: .line 1012
            goto 5
         4: .line 1013
      StackMap locals: java.lang.StringBuffer org.eclipse.jdt.internal.compiler.flow.FlowContext int
      StackMap stack:
            iinc 3 /* parentsCount */ 1
         5: .line 1012
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            dup
            astore 2 /* current */
            ifnonnull 4
         6: .line 1015
            iload 3 /* parentsCount */
            iconst_1
            iadd
            anewarray org.eclipse.jdt.internal.compiler.flow.FlowContext
            astore 4 /* parents */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowContext[] parents
         7: .line 1016
            aload 0 /* this */
            astore 2 /* current */
         8: .line 1017
            iload 3 /* parentsCount */
            istore 5 /* index */
        start local 5 // int index
         9: .line 1018
            goto 12
        10: .line 1019
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext[] int
      StackMap stack:
            aload 4 /* parents */
            iload 5 /* index */
            iinc 5 /* index */ -1
            aload 2 /* current */
            aastore
        11: .line 1020
            aload 2 /* current */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 2 /* current */
        12: .line 1018
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            ifge 10
        13: .line 1022
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 22
        15: .line 1023
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        16: goto 19
        17: .line 1024
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            bipush 9
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 1023
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* j */
            iload 6 /* i */
            if_icmplt 17
        end local 7 // int j
        20: .line 1025
            aload 1 /* buffer */
            aload 4 /* parents */
            iload 6 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.individualToString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        21: .line 1022
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            iload 3 /* parentsCount */
            if_icmplt 15
        end local 6 // int i
        23: .line 1027
            aload 1 /* buffer */
            bipush 42
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        24: .line 1028
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        25: goto 28
        26: .line 1029
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            bipush 9
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        27: .line 1028
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* j */
            iload 3 /* parentsCount */
            iconst_1
            iadd
            if_icmplt 26
        end local 6 // int j
        29: .line 1030
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.individualToString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        30: .line 1031
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 5 // int index
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowContext[] parents
        end local 3 // int parentsCount
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext current
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            1   31     1        buffer  Ljava/lang/StringBuffer;
            2   31     2       current  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            3   31     3  parentsCount  I
            7   31     4       parents  [Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            9   31     5         index  I
           14   23     6             i  I
           16   20     7             j  I
           25   29     6             j  I

  public void recordNullityMismatch(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.flow.FlowInfo, int, org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ILorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=8
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        start local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 6 // int nullStatus
        start local 7 // org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching annotationStatus
         0: .line 1045
            aload 3 /* providedType */
            ifnonnull 2
         1: .line 1046
            return
         2: .line 1048
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            ifnull 12
         3: .line 1050
            aload 0 /* this */
            astore 8 /* currentContext */
        start local 8 // org.eclipse.jdt.internal.compiler.flow.FlowContext currentContext
         4: .line 1051
            goto 11
         5: .line 1053
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext
      StackMap stack:
            iconst_0
            istore 9 /* isInsideAssert */
        start local 9 // int isInsideAssert
         6: .line 1054
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            sipush 4096
            iand
            ifeq 8
         7: .line 1055
            sipush 4096
            istore 9 /* isInsideAssert */
         8: .line 1057
      StackMap locals: int
      StackMap stack:
            aload 8 /* currentContext */
            aload 2 /* expression */
            aload 3 /* providedType */
            aload 5 /* flowInfo */
            iload 6 /* nullStatus */
            aload 4 /* expectedType */
            sipush 128
            iload 9 /* isInsideAssert */
            ior
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.internalRecordNullityMismatch:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
            ifeq 10
         9: .line 1058
            return
        10: .line 1059
      StackMap locals:
      StackMap stack:
            aload 8 /* currentContext */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            astore 8 /* currentContext */
        end local 9 // int isInsideAssert
        11: .line 1051
      StackMap locals:
      StackMap stack:
            aload 8 /* currentContext */
            ifnonnull 5
        end local 8 // org.eclipse.jdt.internal.compiler.flow.FlowContext currentContext
        12: .line 1063
      StackMap locals:
      StackMap stack:
            aload 7 /* annotationStatus */
            ifnull 14
        13: .line 1064
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* expression */
            aload 3 /* providedType */
            aload 4 /* expectedType */
            aload 7 /* annotationStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullityMismatchingTypeAnnotation:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;)V
            goto 17
        14: .line 1066
      StackMap locals:
      StackMap stack:
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* expression */
            aload 3 /* providedType */
            aload 4 /* expectedType */
            iload 6 /* nullStatus */
        15: .line 1067
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNonNullAnnotationName:()[[C
        16: .line 1066
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullityMismatch:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I[[C)V
        17: .line 1068
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching annotationStatus
        end local 6 // int nullStatus
        end local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   18     1      currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   18     2        expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   18     3      providedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   18     4      expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   18     5          flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0   18     6        nullStatus  I
            0   18     7  annotationStatus  Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
            4   12     8    currentContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            6   11     9    isInsideAssert  I
    MethodParameters:
                  Name  Flags
      currentScope      
      expression        
      providedType      
      expectedType      
      flowInfo          
      nullStatus        
      annotationStatus  

  protected boolean internalRecordNullityMismatch(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.flow.FlowInfo, int, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // int nullStatus
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        start local 6 // int checkType
         0: .line 1071
            iconst_0
            ireturn
        end local 6 // int checkType
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 4 // int nullStatus
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 0 // org.eclipse.jdt.internal.compiler.flow.FlowContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    1     1    expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    1     2  providedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    1     3      flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0    1     4    nullStatus  I
            0    1     5  expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    1     6     checkType  I
    MethodParameters:
              Name  Flags
      expression    
      providedType  
      flowInfo      
      nullStatus    
      expectedType  
      checkType     
}
SourceFile: "FlowContext.java"