class com.sun.tools.javac.comp.Flow$FlowAnalyzer extends com.sun.tools.javac.comp.Flow$BaseAnalyzer<com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Flow$FlowAnalyzer
  super_class: com.sun.tools.javac.comp.Flow$BaseAnalyzer
{
  java.util.HashMap<com.sun.tools.javac.code.Symbol, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> preciseRethrowTypes;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 
    Signature: Ljava/util/HashMap<Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  com.sun.tools.javac.tree.JCTree$JCClassDecl classDef;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
    flags: (0x0000) 

  com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> thrown;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> caught;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  final com.sun.tools.javac.comp.Flow this$0;
    descriptor: Lcom/sun/tools/javac/comp/Flow;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.comp.Flow);
    descriptor: (Lcom/sun/tools/javac/comp/Flow;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
         0: .line 773
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.Flow$BaseAnalyzer.<init>:()V
            return
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
    MethodParameters:
        Name  Flags
      this$0  final

  void markDead();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
         0: .line 806
            return
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;

  void errorUncaught();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
         0: .line 813
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            astore 1 /* exit */
        start local 1 // com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit exit
         1: .line 814
            goto 20
         2: .line 816
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            ifnull 8
         3: .line 817
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.pos:I
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            getfield com.sun.tools.javac.tree.JCTree.pos:I
            if_icmpne 8
         4: .line 818
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
         5: .line 819
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.thrown:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.UnreportedExceptionDefaultConstructor:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
         6: .line 818
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
         7: .line 820
            goto 19
      StackMap locals:
      StackMap stack:
         8: aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            getstatic com.sun.tools.javac.tree.JCTree$Tag.VARDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifeq 16
         9: .line 821
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$VarSymbol.isResourceVariable:()Z
            ifeq 16
        10: .line 822
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
        11: .line 823
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.thrown:Lcom/sun/tools/javac/code/Type;
        12: .line 824
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
        13: .line 823
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.UnreportedExceptionImplicitClose:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
        14: .line 822
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        15: .line 825
            goto 19
        16: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
        17: .line 827
            aload 1 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.thrown:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.UnreportedExceptionNeedToCatchOrThrow:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
        18: .line 826
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        19: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            astore 1 /* exit */
        20: .line 814
      StackMap locals:
      StackMap stack:
            aload 1 /* exit */
            ifnonnull 2
        end local 1 // com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit exit
        21: .line 830
            return
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            1   21     1  exit  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;

  void markThrown(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree tree
        start local 2 // com.sun.tools.javac.code.Type exc
         0: .line 836
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 2 /* exc */
            invokevirtual com.sun.tools.javac.comp.Check.isUnchecked:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;)Z
            ifne 4
         1: .line 837
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 2 /* exc */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.isHandled:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Z
            ifne 3
         2: .line 838
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            new com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            dup
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* exc */
            invokespecial com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.<init>:(Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         3: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 2 /* exc */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.incl:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
         4: .line 842
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Type exc
        end local 1 // com.sun.tools.javac.tree.JCTree tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    5     1  tree  Lcom/sun/tools/javac/tree/JCTree;
            0    5     2   exc  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      tree  
      exc   

  public void visitClassDef(com.sun.tools.javac.tree.JCTree$JCClassDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
         0: .line 851
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            ifnonnull 1
            return
         1: .line 853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            astore 2 /* classDefPrev */
        start local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl classDefPrev
         2: .line 854
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            astore 3 /* thrownPrev */
        start local 3 // com.sun.tools.javac.util.List thrownPrev
         3: .line 855
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            astore 4 /* caughtPrev */
        start local 4 // com.sun.tools.javac.util.List caughtPrev
         4: .line 856
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 5 /* pendingExitsPrev */
        start local 5 // com.sun.tools.javac.util.ListBuffer pendingExitsPrev
         5: .line 857
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
            astore 6 /* lintPrev */
        start local 6 // com.sun.tools.javac.code.Lint lintPrev
         6: .line 858
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.name:Lcom/sun/tools/javac/util/Name;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
            if_acmpne 7
            iconst_1
            goto 8
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Lint
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7 /* anonymousClass */
        start local 7 // boolean anonymousClass
         9: .line 859
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        10: .line 860
            iload 7 /* anonymousClass */
            ifne 12
        11: .line 861
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        12: .line 863
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
        13: .line 864
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        14: .line 865
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.code.Lint.augment:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Lint;
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
        15: .line 869
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
        start local 8 // com.sun.tools.javac.util.List l
        16: goto 22
        17: .line 870
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            getstatic com.sun.tools.javac.tree.JCTree$Tag.METHODDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifne 21
        18: .line 871
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokestatic com.sun.tools.javac.tree.TreeInfo.flags:(Lcom/sun/tools/javac/tree/JCTree;)J
            ldc 8
            land
            lconst_0
            lcmp
            ifeq 21
        19: .line 872
            aload 0 /* this */
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        20: .line 873
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.errorUncaught:()V
        21: .line 869
      StackMap locals:
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
      StackMap locals:
      StackMap stack:
        22: aload 8 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 17
        end local 8 // com.sun.tools.javac.util.List l
        23: .line 879
            iload 7 /* anonymousClass */
            ifne 37
        24: .line 880
            iconst_1
            istore 8 /* firstConstructor */
        start local 8 // boolean firstConstructor
        25: .line 881
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
            astore 9 /* l */
        start local 9 // com.sun.tools.javac.util.List l
        26: goto 36
        27: .line 882
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Lint int int com.sun.tools.javac.util.List
      StackMap stack:
            aload 9 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokestatic com.sun.tools.javac.tree.TreeInfo.isInitialConstructor:(Lcom/sun/tools/javac/tree/JCTree;)Z
            ifeq 35
        28: .line 884
            aload 9 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCMethodDecl
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
        29: .line 883
            astore 10 /* mthrown */
        start local 10 // com.sun.tools.javac.util.List mthrown
        30: .line 885
            iload 8 /* firstConstructor */
            ifeq 34
        31: .line 886
            aload 0 /* this */
            aload 10 /* mthrown */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        32: .line 887
            iconst_0
            istore 8 /* firstConstructor */
        33: .line 888
            goto 35
        34: .line 889
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 10 /* mthrown */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        end local 10 // com.sun.tools.javac.util.List mthrown
        35: .line 881
      StackMap locals:
      StackMap stack:
            aload 9 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 9 /* l */
      StackMap locals:
      StackMap stack:
        36: aload 9 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 27
        end local 9 // com.sun.tools.javac.util.List l
        end local 8 // boolean firstConstructor
        37: .line 896
      StackMap locals:
      StackMap stack:
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
        start local 8 // com.sun.tools.javac.util.List l
        38: goto 44
        39: .line 897
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            getstatic com.sun.tools.javac.tree.JCTree$Tag.METHODDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifne 43
        40: .line 898
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokestatic com.sun.tools.javac.tree.TreeInfo.flags:(Lcom/sun/tools/javac/tree/JCTree;)J
            ldc 8
            land
            lconst_0
            lcmp
            ifne 43
        41: .line 899
            aload 0 /* this */
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        42: .line 900
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.errorUncaught:()V
        43: .line 896
      StackMap locals:
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
      StackMap locals:
      StackMap stack:
        44: aload 8 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 39
        end local 8 // com.sun.tools.javac.util.List l
        45: .line 910
            iload 7 /* anonymousClass */
            ifeq 56
        46: .line 911
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
        start local 8 // com.sun.tools.javac.util.List l
        47: goto 54
        48: .line 912
      StackMap locals:
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokestatic com.sun.tools.javac.tree.TreeInfo.isConstructor:(Lcom/sun/tools/javac/tree/JCTree;)Z
            ifeq 53
        49: .line 913
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCMethodDecl
            astore 9 /* mdef */
        start local 9 // com.sun.tools.javac.tree.JCTree$JCMethodDecl mdef
        50: .line 914
            aload 0 /* this */
            aload 9 /* mdef */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        51: .line 915
            aload 9 /* mdef */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Types:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.thrown:Lcom/sun/tools/javac/util/List;
        52: .line 916
            aload 9 /* mdef */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            aload 9 /* mdef */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.code.Types.createMethodTypeWithThrown:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
        end local 9 // com.sun.tools.javac.tree.JCTree$JCMethodDecl mdef
        53: .line 911
      StackMap locals:
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
      StackMap locals:
      StackMap stack:
        54: aload 8 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 48
        end local 8 // com.sun.tools.javac.util.List l
        55: .line 919
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            aload 3 /* thrownPrev */
            invokevirtual com.sun.tools.javac.comp.Check.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 3 /* thrownPrev */
        56: .line 923
      StackMap locals:
      StackMap stack:
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
        start local 8 // com.sun.tools.javac.util.List l
        57: goto 64
        58: .line 924
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            iload 7 /* anonymousClass */
            ifeq 60
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokestatic com.sun.tools.javac.tree.TreeInfo.isConstructor:(Lcom/sun/tools/javac/tree/JCTree;)Z
            ifeq 60
        59: .line 925
            goto 63
        60: .line 926
      StackMap locals:
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            getstatic com.sun.tools.javac.tree.JCTree$Tag.METHODDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifeq 63
        61: .line 927
            aload 0 /* this */
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        62: .line 928
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.errorUncaught:()V
        63: .line 923
      StackMap locals:
      StackMap stack:
            aload 8 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 8 /* l */
      StackMap locals:
      StackMap stack:
        64: aload 8 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 58
        end local 8 // com.sun.tools.javac.util.List l
        65: .line 932
            aload 0 /* this */
            aload 3 /* thrownPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        66: .line 933
            goto 73
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Lint int
      StackMap stack: java.lang.Throwable
        67: astore 11
        68: .line 934
            aload 0 /* this */
            aload 5 /* pendingExitsPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        69: .line 935
            aload 0 /* this */
            aload 4 /* caughtPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        70: .line 936
            aload 0 /* this */
            aload 2 /* classDefPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
        71: .line 937
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 6 /* lintPrev */
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
        72: .line 938
            aload 11
            athrow
        73: .line 934
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* pendingExitsPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        74: .line 935
            aload 0 /* this */
            aload 4 /* caughtPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        75: .line 936
            aload 0 /* this */
            aload 2 /* classDefPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
        76: .line 937
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 6 /* lintPrev */
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
        77: .line 939
            return
        end local 7 // boolean anonymousClass
        end local 6 // com.sun.tools.javac.code.Lint lintPrev
        end local 5 // com.sun.tools.javac.util.ListBuffer pendingExitsPrev
        end local 4 // com.sun.tools.javac.util.List caughtPrev
        end local 3 // com.sun.tools.javac.util.List thrownPrev
        end local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl classDefPrev
        end local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   78     0              this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   78     1              tree  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            2   78     2      classDefPrev  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            3   78     3        thrownPrev  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            4   78     4        caughtPrev  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            5   78     5  pendingExitsPrev  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
            6   78     6          lintPrev  Lcom/sun/tools/javac/code/Lint;
            9   78     7    anonymousClass  Z
           16   23     8                 l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
           25   37     8  firstConstructor  Z
           26   37     9                 l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
           30   35    10           mthrown  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           38   45     8                 l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
           47   55     8                 l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
           50   53     9              mdef  Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
           57   65     8                 l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
      Exception table:
        from    to  target  type
          15    67      67  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitMethodDef(com.sun.tools.javac.tree.JCTree$JCMethodDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMethodDecl tree
         0: .line 942
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
            ifnonnull 1
            return
         1: .line 944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            astore 2 /* caughtPrev */
        start local 2 // com.sun.tools.javac.util.List caughtPrev
         2: .line 945
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            astore 3 /* mthrown */
        start local 3 // com.sun.tools.javac.util.List mthrown
         3: .line 946
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
            astore 4 /* lintPrev */
        start local 4 // com.sun.tools.javac.code.Lint lintPrev
         4: .line 948
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            invokevirtual com.sun.tools.javac.code.Lint.augment:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Lint;
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
         5: .line 950
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.isEmpty:()Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         6: .line 953
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.params:Lcom/sun/tools/javac/util/List;
            astore 5 /* l */
        start local 5 // com.sun.tools.javac.util.List l
         7: goto 11
         8: .line 954
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCMethodDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Lint com.sun.tools.javac.util.List
      StackMap stack:
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
            astore 6 /* def */
        start local 6 // com.sun.tools.javac.tree.JCTree$JCVariableDecl def
         9: .line 955
            aload 0 /* this */
            aload 6 /* def */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        end local 6 // com.sun.tools.javac.tree.JCTree$JCVariableDecl def
        10: .line 953
            aload 5 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* l */
      StackMap locals:
      StackMap stack:
        11: aload 5 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 8
        end local 5 // com.sun.tools.javac.util.List l
        12: .line 957
            aload 1 /* tree */
            invokestatic com.sun.tools.javac.tree.TreeInfo.isInitialConstructor:(Lcom/sun/tools/javac/tree/JCTree;)Z
            ifeq 14
        13: .line 958
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            aload 3 /* mthrown */
            invokevirtual com.sun.tools.javac.comp.Check.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            goto 16
        14: .line 959
      StackMap locals:
      StackMap stack:
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.flags:()J
            ldc 1048584
            land
            ldc 1048576
            lcmp
            ifeq 16
        15: .line 960
            aload 0 /* this */
            aload 3 /* mthrown */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        16: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        17: .line 966
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 5 /* exits */
        start local 5 // com.sun.tools.javac.util.List exits
        18: .line 967
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        19: .line 968
            goto 26
        20: .line 969
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 5 /* exits */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            astore 6 /* exit */
        start local 6 // com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit exit
        21: .line 970
            aload 5 /* exits */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* exits */
        22: .line 971
            aload 6 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.thrown:Lcom/sun/tools/javac/code/Type;
            ifnonnull 25
        23: .line 972
            aload 6 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            getstatic com.sun.tools.javac.tree.JCTree$Tag.RETURN:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        24: .line 973
            goto 26
        25: .line 975
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            aload 6 /* exit */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 6 // com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit exit
        26: .line 968
      StackMap locals:
      StackMap stack:
            aload 5 /* exits */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 20
        end local 5 // com.sun.tools.javac.util.List exits
        27: .line 978
            goto 32
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCMethodDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Lint
      StackMap stack: java.lang.Throwable
        28: astore 7
        29: .line 979
            aload 0 /* this */
            aload 2 /* caughtPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        30: .line 980
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 4 /* lintPrev */
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
        31: .line 981
            aload 7
            athrow
        32: .line 979
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* caughtPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        33: .line 980
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 4 /* lintPrev */
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
        34: .line 982
            return
        end local 4 // com.sun.tools.javac.code.Lint lintPrev
        end local 3 // com.sun.tools.javac.util.List mthrown
        end local 2 // com.sun.tools.javac.util.List caughtPrev
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMethodDecl tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   35     1        tree  Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
            2   35     2  caughtPrev  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3   35     3     mthrown  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            4   35     4    lintPrev  Lcom/sun/tools/javac/code/Lint;
            7   12     5           l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;>;
            9   10     6         def  Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
           18   27     5       exits  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
           21   26     6        exit  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;
      Exception table:
        from    to  target  type
           6    28      28  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitVarDef(com.sun.tools.javac.tree.JCTree$JCVariableDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl tree
         0: .line 985
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.init:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            ifnull 9
         1: .line 986
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
            astore 2 /* lintPrev */
        start local 2 // com.sun.tools.javac.code.Lint lintPrev
         2: .line 987
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            invokevirtual com.sun.tools.javac.code.Lint.augment:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Lint;
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
         3: .line 989
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.init:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         4: .line 990
            goto 8
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCVariableDecl com.sun.tools.javac.code.Lint
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 991
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 2 /* lintPrev */
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
         7: .line 992
            aload 3
            athrow
         8: .line 991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 2 /* lintPrev */
            putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
        end local 2 // com.sun.tools.javac.code.Lint lintPrev
         9: .line 994
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   10     1      tree  Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            2    9     2  lintPrev  Lcom/sun/tools/javac/code/Lint;
      Exception table:
        from    to  target  type
           3     5       5  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitBlock(com.sun.tools.javac.tree.JCTree$JCBlock);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBlock;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCBlock tree
         0: .line 997
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
         1: .line 998
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCBlock tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    2     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCBlock;
    MethodParameters:
      Name  Flags
      tree  

  public void visitDoLoop(com.sun.tools.javac.tree.JCTree$JCDoWhileLoop);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCDoWhileLoop tree
         0: .line 1001
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 2 /* prevPendingExits */
        start local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
         1: .line 1002
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         2: .line 1003
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCDoWhileLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         3: .line 1004
            aload 0 /* this */
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Z
            pop
         4: .line 1005
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCDoWhileLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         5: .line 1006
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* prevPendingExits */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Z
            pop
         6: .line 1007
            return
        end local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        end local 1 // com.sun.tools.javac.tree.JCTree$JCDoWhileLoop tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    7     1              tree  Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;
            1    7     2  prevPendingExits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
    MethodParameters:
      Name  Flags
      tree  

  public void visitWhileLoop(com.sun.tools.javac.tree.JCTree$JCWhileLoop);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCWhileLoop tree
         0: .line 1010
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 2 /* prevPendingExits */
        start local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
         1: .line 1011
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         2: .line 1012
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCWhileLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         3: .line 1013
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCWhileLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         4: .line 1014
            aload 0 /* this */
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Z
            pop
         5: .line 1015
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* prevPendingExits */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Z
            pop
         6: .line 1016
            return
        end local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        end local 1 // com.sun.tools.javac.tree.JCTree$JCWhileLoop tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    7     1              tree  Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;
            1    7     2  prevPendingExits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
    MethodParameters:
      Name  Flags
      tree  

  public void visitForLoop(com.sun.tools.javac.tree.JCTree$JCForLoop);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCForLoop;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCForLoop tree
         0: .line 1019
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 2 /* prevPendingExits */
        start local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
         1: .line 1020
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCForLoop.init:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
         2: .line 1021
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         3: .line 1022
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCForLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            ifnull 5
         4: .line 1023
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCForLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         5: .line 1025
      StackMap locals: com.sun.tools.javac.util.ListBuffer
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCForLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         6: .line 1026
            aload 0 /* this */
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Z
            pop
         7: .line 1027
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCForLoop.step:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
         8: .line 1028
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* prevPendingExits */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Z
            pop
         9: .line 1029
            return
        end local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        end local 1 // com.sun.tools.javac.tree.JCTree$JCForLoop tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   10     1              tree  Lcom/sun/tools/javac/tree/JCTree$JCForLoop;
            1   10     2  prevPendingExits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
    MethodParameters:
      Name  Flags
      tree  

  public void visitForeachLoop(com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCEnhancedForLoop;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop tree
         0: .line 1032
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop.var:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitVarDef:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
         1: .line 1033
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 2 /* prevPendingExits */
        start local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
         2: .line 1034
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         3: .line 1035
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         4: .line 1036
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         5: .line 1037
            aload 0 /* this */
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Z
            pop
         6: .line 1038
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* prevPendingExits */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Z
            pop
         7: .line 1039
            return
        end local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        end local 1 // com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    8     1              tree  Lcom/sun/tools/javac/tree/JCTree$JCEnhancedForLoop;
            2    8     2  prevPendingExits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
    MethodParameters:
      Name  Flags
      tree  

  public void visitLabelled(com.sun.tools.javac.tree.JCTree$JCLabeledStatement);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLabeledStatement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCLabeledStatement tree
         0: .line 1042
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 2 /* prevPendingExits */
        start local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
         1: .line 1043
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         2: .line 1044
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCLabeledStatement.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         3: .line 1045
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* prevPendingExits */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Z
            pop
         4: .line 1046
            return
        end local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        end local 1 // com.sun.tools.javac.tree.JCTree$JCLabeledStatement tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    5     1              tree  Lcom/sun/tools/javac/tree/JCTree$JCLabeledStatement;
            1    5     2  prevPendingExits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
    MethodParameters:
      Name  Flags
      tree  

  public void visitSwitch(com.sun.tools.javac.tree.JCTree$JCSwitch);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCSwitch;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCSwitch tree
         0: .line 1049
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 2 /* prevPendingExits */
        start local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
         1: .line 1050
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         2: .line 1051
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCSwitch.selector:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         3: .line 1052
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCSwitch.cases:Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
        start local 3 // com.sun.tools.javac.util.List l
         4: goto 10
         5: .line 1053
      StackMap locals: com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
      StackMap stack:
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCase
            astore 4 /* c */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCCase c
         6: .line 1054
            aload 4 /* c */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.pat:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            ifnull 8
         7: .line 1055
            aload 0 /* this */
            aload 4 /* c */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.pat:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         8: .line 1057
      StackMap locals: com.sun.tools.javac.tree.JCTree$JCCase
      StackMap stack:
            aload 0 /* this */
            aload 4 /* c */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.stats:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
        end local 4 // com.sun.tools.javac.tree.JCTree$JCCase c
         9: .line 1052
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
      StackMap locals:
      StackMap stack:
        10: aload 3 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 5
        end local 3 // com.sun.tools.javac.util.List l
        11: .line 1059
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* prevPendingExits */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Z
            pop
        12: .line 1060
            return
        end local 2 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        end local 1 // com.sun.tools.javac.tree.JCTree$JCSwitch tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   13     1              tree  Lcom/sun/tools/javac/tree/JCTree$JCSwitch;
            1   13     2  prevPendingExits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
            4   11     3                 l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCase;>;
            6    9     4                 c  Lcom/sun/tools/javac/tree/JCTree$JCCase;
    MethodParameters:
      Name  Flags
      tree  

  public void visitTry(com.sun.tools.javac.tree.JCTree$JCTry);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCTry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=15, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCTry tree
         0: .line 1063
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            astore 2 /* caughtPrev */
        start local 2 // com.sun.tools.javac.util.List caughtPrev
         1: .line 1064
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            astore 3 /* thrownPrev */
        start local 3 // com.sun.tools.javac.util.List thrownPrev
         2: .line 1065
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
         3: .line 1066
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.catchers:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
        start local 4 // com.sun.tools.javac.util.List l
         4: goto 14
         5: .line 1067
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            invokestatic com.sun.tools.javac.tree.TreeInfo.isMultiCatch:(Lcom/sun/tools/javac/tree/JCTree$JCCatch;)Z
            ifeq 7
         6: .line 1068
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            getfield com.sun.tools.javac.tree.JCTree$JCCatch.param:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCTypeUnion
            getfield com.sun.tools.javac.tree.JCTree$JCTypeUnion.alternatives:Lcom/sun/tools/javac/util/List;
            goto 8
         7: .line 1069
      StackMap locals:
      StackMap stack:
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            getfield com.sun.tools.javac.tree.JCTree$JCCatch.param:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
         8: .line 1067
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
            astore 5 /* subClauses */
        start local 5 // com.sun.tools.javac.util.List subClauses
         9: .line 1070
            aload 5 /* subClauses */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            astore 6 /* ct */
        start local 6 // com.sun.tools.javac.tree.JCTree$JCExpression ct
        11: .line 1071
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 6 /* ct */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.incl:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        end local 6 // com.sun.tools.javac.tree.JCTree$JCExpression ct
        12: .line 1070
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 5 // com.sun.tools.javac.util.List subClauses
        13: .line 1066
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
        14: aload 4 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 5
        end local 4 // com.sun.tools.javac.util.List l
        15: .line 1075
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 4 /* prevPendingExits */
        start local 4 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        16: .line 1076
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        17: .line 1077
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.resources:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 27
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
        18: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            astore 5 /* resource */
        start local 5 // com.sun.tools.javac.tree.JCTree resource
        19: .line 1078
            aload 5 /* resource */
            instanceof com.sun.tools.javac.tree.JCTree$JCVariableDecl
            ifeq 23
        20: .line 1079
            aload 5 /* resource */
            checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
            astore 7 /* vdecl */
        start local 7 // com.sun.tools.javac.tree.JCTree$JCVariableDecl vdecl
        21: .line 1080
            aload 0 /* this */
            aload 7 /* vdecl */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitVarDef:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
        end local 7 // com.sun.tools.javac.tree.JCTree$JCVariableDecl vdecl
        22: .line 1081
            goto 27
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree java.util.Iterator
      StackMap stack:
        23: aload 5 /* resource */
            instanceof com.sun.tools.javac.tree.JCTree$JCExpression
            ifeq 26
        24: .line 1082
            aload 0 /* this */
            aload 5 /* resource */
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        25: .line 1083
            goto 27
        26: .line 1084
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            aload 1 /* tree */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // com.sun.tools.javac.tree.JCTree resource
        27: .line 1077
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        28: .line 1087
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.resources:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 51
      StackMap locals:
      StackMap stack:
        29: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
            astore 5 /* resource */
        start local 5 // com.sun.tools.javac.tree.JCTree resource
        30: .line 1088
            aload 5 /* resource */
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
            ifeq 32
        31: .line 1089
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            aload 5 /* resource */
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            aload 5 /* resource */
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            goto 33
        32: .line 1090
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree java.util.Iterator
      StackMap stack:
            aload 5 /* resource */
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
        33: .line 1088
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
            astore 7 /* closeableSupertypes */
        start local 7 // com.sun.tools.javac.util.List closeableSupertypes
        34: .line 1091
            aload 7 /* closeableSupertypes */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 50
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree java.util.Iterator com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        35: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 8 /* sup */
        start local 8 // com.sun.tools.javac.code.Type sup
        36: .line 1092
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            aload 8 /* sup */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.autoCloseableType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Types.asSuper:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            ifnull 50
        37: .line 1093
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.rs:Lcom/sun/tools/javac/comp/Resolve;
            aload 1 /* tree */
        38: .line 1094
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.attrEnv:Lcom/sun/tools/javac/comp/Env;
        39: .line 1095
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            aload 8 /* sup */
            iconst_0
            invokevirtual com.sun.tools.javac.code.Types.skipTypeVars:(Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Type;
        40: .line 1096
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.close:Lcom/sun/tools/javac/util/Name;
        41: .line 1097
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
        42: .line 1098
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
        43: .line 1093
            invokevirtual com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Symbol;
            astore 10 /* closeMethod */
        start local 10 // com.sun.tools.javac.code.Symbol closeMethod
        44: .line 1099
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            aload 5 /* resource */
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            aload 10 /* closeMethod */
            invokevirtual com.sun.tools.javac.code.Types.memberType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Type;
            astore 11 /* mt */
        start local 11 // com.sun.tools.javac.code.Type mt
        45: .line 1100
            aload 10 /* closeMethod */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 50
        46: .line 1101
            aload 11 /* mt */
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 49
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree java.util.Iterator com.sun.tools.javac.util.List com.sun.tools.javac.code.Type java.util.Iterator com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
        47: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 12 /* t */
        start local 12 // com.sun.tools.javac.code.Type t
        48: .line 1102
            aload 0 /* this */
            aload 5 /* resource */
            aload 12 /* t */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.markThrown:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
        end local 12 // com.sun.tools.javac.code.Type t
        49: .line 1101
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        end local 11 // com.sun.tools.javac.code.Type mt
        end local 10 // com.sun.tools.javac.code.Symbol closeMethod
        end local 8 // com.sun.tools.javac.code.Type sup
        50: .line 1091
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree java.util.Iterator com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        end local 7 // com.sun.tools.javac.util.List closeableSupertypes
        end local 5 // com.sun.tools.javac.tree.JCTree resource
        51: .line 1087
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        52: .line 1108
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        53: .line 1109
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.allowImprovedCatchAnalysis:Z
            ifeq 55
        54: .line 1110
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.runtimeExceptionType:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errorType:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            goto 56
        55: .line 1111
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        56: .line 1109
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
            astore 5 /* thrownInTry */
        start local 5 // com.sun.tools.javac.util.List thrownInTry
        57: .line 1112
            aload 0 /* this */
            aload 3 /* thrownPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        58: .line 1113
            aload 0 /* this */
            aload 2 /* caughtPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        59: .line 1115
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 6 /* caughtInTry */
        start local 6 // com.sun.tools.javac.util.List caughtInTry
        60: .line 1116
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.catchers:Lcom/sun/tools/javac/util/List;
            astore 7 /* l */
        start local 7 // com.sun.tools.javac.util.List l
        61: goto 84
        62: .line 1117
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 7 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            getfield com.sun.tools.javac.tree.JCTree$JCCatch.param:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            astore 8 /* param */
        start local 8 // com.sun.tools.javac.tree.JCTree$JCVariableDecl param
        63: .line 1118
            aload 7 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            invokestatic com.sun.tools.javac.tree.TreeInfo.isMultiCatch:(Lcom/sun/tools/javac/tree/JCTree$JCCatch;)Z
            ifeq 65
        64: .line 1119
            aload 7 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            getfield com.sun.tools.javac.tree.JCTree$JCCatch.param:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCTypeUnion
            getfield com.sun.tools.javac.tree.JCTree$JCTypeUnion.alternatives:Lcom/sun/tools/javac/util/List;
            goto 66
        65: .line 1120
      StackMap locals: com.sun.tools.javac.tree.JCTree$JCVariableDecl
      StackMap stack:
            aload 7 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            getfield com.sun.tools.javac.tree.JCTree$JCCatch.param:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
        66: .line 1118
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
            astore 9 /* subClauses */
        start local 9 // com.sun.tools.javac.util.List subClauses
        67: .line 1121
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 10 /* ctypes */
        start local 10 // com.sun.tools.javac.util.List ctypes
        68: .line 1122
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 5 /* thrownInTry */
            aload 6 /* caughtInTry */
            invokevirtual com.sun.tools.javac.comp.Check.diff:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 11 /* rethrownTypes */
        start local 11 // com.sun.tools.javac.util.List rethrownTypes
        69: .line 1123
            aload 9 /* subClauses */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 78
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCVariableDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
        70: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            astore 12 /* ct */
        start local 12 // com.sun.tools.javac.tree.JCTree$JCExpression ct
        71: .line 1124
            aload 12 /* ct */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            astore 14 /* exc */
        start local 14 // com.sun.tools.javac.code.Type exc
        72: .line 1125
            aload 14 /* exc */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unknownType:Lcom/sun/tools/javac/code/Type;
            if_acmpeq 78
        73: .line 1126
            aload 10 /* ctypes */
            aload 14 /* exc */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 10 /* ctypes */
        74: .line 1127
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            aload 14 /* exc */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 76
        75: .line 1128
            goto 78
        76: .line 1129
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCVariableDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCExpression java.util.Iterator com.sun.tools.javac.code.Type
      StackMap stack:
            aload 0 /* this */
            aload 7 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCatch.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 14 /* exc */
            aload 5 /* thrownInTry */
            aload 6 /* caughtInTry */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.checkCaughtType:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)V
        77: .line 1130
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 14 /* exc */
            aload 6 /* caughtInTry */
            invokevirtual com.sun.tools.javac.comp.Check.incl:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 6 /* caughtInTry */
        end local 14 // com.sun.tools.javac.code.Type exc
        end local 12 // com.sun.tools.javac.tree.JCTree$JCExpression ct
        78: .line 1123
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCVariableDecl com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 70
        79: .line 1133
            aload 0 /* this */
            aload 8 /* param */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        80: .line 1134
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.preciseRethrowTypes:Ljava/util/HashMap;
            aload 8 /* param */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 10 /* ctypes */
            aload 11 /* rethrownTypes */
            invokevirtual com.sun.tools.javac.comp.Check.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        81: .line 1135
            aload 0 /* this */
            aload 7 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCatch
            getfield com.sun.tools.javac.tree.JCTree$JCCatch.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        82: .line 1136
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.preciseRethrowTypes:Ljava/util/HashMap;
            aload 8 /* param */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // com.sun.tools.javac.util.List rethrownTypes
        end local 10 // com.sun.tools.javac.util.List ctypes
        end local 9 // com.sun.tools.javac.util.List subClauses
        end local 8 // com.sun.tools.javac.tree.JCTree$JCVariableDecl param
        83: .line 1116
            aload 7 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 7 /* l */
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
        84: aload 7 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 62
        end local 7 // com.sun.tools.javac.util.List l
        85: .line 1138
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.finalizer:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
            ifnull 100
        86: .line 1139
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            astore 7 /* savedThrown */
        start local 7 // com.sun.tools.javac.util.List savedThrown
        87: .line 1140
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        88: .line 1141
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 8 /* exits */
        start local 8 // com.sun.tools.javac.util.ListBuffer exits
        89: .line 1142
            aload 0 /* this */
            aload 4 /* prevPendingExits */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        90: .line 1143
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.finalizer:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        91: .line 1144
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCTry.finallyCanCompleteNormally:Z
            ifne 94
        92: .line 1146
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            aload 3 /* thrownPrev */
            invokevirtual com.sun.tools.javac.comp.Check.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        93: .line 1147
            goto 106
        94: .line 1148
      StackMap locals: com.sun.tools.javac.util.ListBuffer
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 5 /* thrownInTry */
            aload 6 /* caughtInTry */
            invokevirtual com.sun.tools.javac.comp.Check.diff:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        95: .line 1149
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            aload 7 /* savedThrown */
            invokevirtual com.sun.tools.javac.comp.Check.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        96: .line 1152
            goto 98
        97: .line 1153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            aload 8 /* exits */
            invokevirtual com.sun.tools.javac.util.ListBuffer.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        98: .line 1152
      StackMap locals:
      StackMap stack:
            aload 8 /* exits */
            invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
            ifne 97
        end local 8 // com.sun.tools.javac.util.ListBuffer exits
        end local 7 // com.sun.tools.javac.util.List savedThrown
        99: .line 1156
            goto 106
       100: .line 1157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 5 /* thrownInTry */
            aload 6 /* caughtInTry */
            invokevirtual com.sun.tools.javac.comp.Check.diff:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.union:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
       101: .line 1158
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 7 /* exits */
        start local 7 // com.sun.tools.javac.util.ListBuffer exits
       102: .line 1159
            aload 0 /* this */
            aload 4 /* prevPendingExits */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
       103: .line 1160
            goto 105
      StackMap locals: com.sun.tools.javac.util.ListBuffer
      StackMap stack:
       104: aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            aload 7 /* exits */
            invokevirtual com.sun.tools.javac.util.ListBuffer.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
      StackMap locals:
      StackMap stack:
       105: aload 7 /* exits */
            invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
            ifne 104
        end local 7 // com.sun.tools.javac.util.ListBuffer exits
       106: .line 1162
      StackMap locals:
      StackMap stack:
            return
        end local 6 // com.sun.tools.javac.util.List caughtInTry
        end local 5 // com.sun.tools.javac.util.List thrownInTry
        end local 4 // com.sun.tools.javac.util.ListBuffer prevPendingExits
        end local 3 // com.sun.tools.javac.util.List thrownPrev
        end local 2 // com.sun.tools.javac.util.List caughtPrev
        end local 1 // com.sun.tools.javac.tree.JCTree$JCTry tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  107     0                 this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0  107     1                 tree  Lcom/sun/tools/javac/tree/JCTree$JCTry;
            1  107     2           caughtPrev  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2  107     3           thrownPrev  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            4   15     4                    l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCatch;>;
            9   13     5           subClauses  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
           11   12     6                   ct  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
           16  107     4     prevPendingExits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
           19   27     5             resource  Lcom/sun/tools/javac/tree/JCTree;
           21   22     7                vdecl  Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
           30   51     5             resource  Lcom/sun/tools/javac/tree/JCTree;
           34   51     7  closeableSupertypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           36   50     8                  sup  Lcom/sun/tools/javac/code/Type;
           44   50    10          closeMethod  Lcom/sun/tools/javac/code/Symbol;
           45   50    11                   mt  Lcom/sun/tools/javac/code/Type;
           48   49    12                    t  Lcom/sun/tools/javac/code/Type;
           57  107     5          thrownInTry  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           60  107     6          caughtInTry  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           61   85     7                    l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCatch;>;
           63   83     8                param  Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
           67   83     9           subClauses  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
           68   83    10               ctypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           69   83    11        rethrownTypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           71   78    12                   ct  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
           72   78    14                  exc  Lcom/sun/tools/javac/code/Type;
           87   99     7          savedThrown  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           89   99     8                exits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
          102  106     7                exits  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
    MethodParameters:
      Name  Flags
      tree  

  public void visitIf(com.sun.tools.javac.tree.JCTree$JCIf);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCIf;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCIf tree
         0: .line 1166
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCIf.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         1: .line 1167
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCIf.thenpart:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         2: .line 1168
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCIf.elsepart:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            ifnull 4
         3: .line 1169
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCIf.elsepart:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         4: .line 1171
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCIf tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    5     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCIf;
    MethodParameters:
      Name  Flags
      tree  

  void checkCaughtType(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.code.Type exc
        start local 3 // com.sun.tools.javac.util.List thrownInTry
        start local 4 // com.sun.tools.javac.util.List caughtInTry
         0: .line 1174
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 2 /* exc */
            aload 4 /* caughtInTry */
            invokevirtual com.sun.tools.javac.comp.Check.subset:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Z
            ifeq 3
         1: .line 1175
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* pos */
            aload 2 /* exc */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ExceptAlreadyCaught:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
         2: .line 1176
            goto 17
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 1 /* pos */
            aload 2 /* exc */
            invokevirtual com.sun.tools.javac.comp.Check.isUnchecked:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;)Z
            ifne 8
         4: .line 1177
            aload 0 /* this */
            aload 2 /* exc */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.isExceptionOrThrowable:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 8
         5: .line 1178
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 2 /* exc */
            aload 3 /* thrownInTry */
            invokevirtual com.sun.tools.javac.comp.Check.intersects:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Z
            ifne 8
         6: .line 1179
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* pos */
            aload 2 /* exc */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ExceptNeverThrownInTry:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
         7: .line 1180
            goto 17
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.allowImprovedCatchAnalysis:Z
            ifeq 17
         9: .line 1181
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 2 /* exc */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            aload 3 /* thrownInTry */
            invokevirtual com.sun.tools.javac.comp.Check.intersect:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 5 /* catchableThrownTypes */
        start local 5 // com.sun.tools.javac.util.List catchableThrownTypes
        10: .line 1186
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 5 /* catchableThrownTypes */
            aload 4 /* caughtInTry */
            invokevirtual com.sun.tools.javac.comp.Check.diff:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 17
        11: .line 1187
            aload 0 /* this */
            aload 2 /* exc */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.isExceptionOrThrowable:(Lcom/sun/tools/javac/code/Type;)Z
            ifne 17
        12: .line 1188
            aload 5 /* catchableThrownTypes */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            iconst_1
            if_icmpne 14
        13: .line 1189
            aload 5 /* catchableThrownTypes */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.UnreachableCatch:(Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
            goto 15
        14: .line 1190
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 5 /* catchableThrownTypes */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.UnreachableCatch1:(Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
        15: .line 1188
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.JCDiagnostic$Warning
            astore 6 /* key */
        start local 6 // com.sun.tools.javac.util.JCDiagnostic$Warning key
        16: .line 1191
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* pos */
            aload 6 /* key */
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
        end local 6 // com.sun.tools.javac.util.JCDiagnostic$Warning key
        end local 5 // com.sun.tools.javac.util.List catchableThrownTypes
        17: .line 1194
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.sun.tools.javac.util.List caughtInTry
        end local 3 // com.sun.tools.javac.util.List thrownInTry
        end local 2 // com.sun.tools.javac.code.Type exc
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   18     1                   pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0   18     2                   exc  Lcom/sun/tools/javac/code/Type;
            0   18     3           thrownInTry  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   18     4           caughtInTry  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           10   17     5  catchableThrownTypes  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           16   17     6                   key  Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
    Signature: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)V
    MethodParameters:
             Name  Flags
      pos          
      exc          
      thrownInTry  
      caughtInTry  

  private boolean isExceptionOrThrowable(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.code.Type exc
         0: .line 1197
            aload 1 /* exc */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.throwableType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpeq 3
         1: .line 1198
            aload 1 /* exc */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.exceptionType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpeq 3
         2: .line 1197
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // com.sun.tools.javac.code.Type exc
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    4     1   exc  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      exc   

  public void visitBreak(com.sun.tools.javac.tree.JCTree$JCBreak);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBreak;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCBreak tree
         0: .line 1202
            aload 0 /* this */
            new com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            dup
            aload 0 /* this */
            aload 1 /* tree */
            aconst_null
            invokespecial com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.<init>:(Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.recordExit:(Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
         1: .line 1203
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCBreak tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    2     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCBreak;
    MethodParameters:
      Name  Flags
      tree  

  public void visitContinue(com.sun.tools.javac.tree.JCTree$JCContinue);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCContinue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCContinue tree
         0: .line 1206
            aload 0 /* this */
            new com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            dup
            aload 0 /* this */
            aload 1 /* tree */
            aconst_null
            invokespecial com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.<init>:(Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.recordExit:(Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
         1: .line 1207
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCContinue tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    2     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCContinue;
    MethodParameters:
      Name  Flags
      tree  

  public void visitReturn(com.sun.tools.javac.tree.JCTree$JCReturn);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCReturn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCReturn tree
         0: .line 1210
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         1: .line 1211
            aload 0 /* this */
            new com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            dup
            aload 0 /* this */
            aload 1 /* tree */
            aconst_null
            invokespecial com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.<init>:(Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.recordExit:(Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
         2: .line 1212
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCReturn tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    3     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCReturn;
    MethodParameters:
      Name  Flags
      tree  

  public void visitThrow(com.sun.tools.javac.tree.JCTree$JCThrow);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCThrow;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCThrow tree
         0: .line 1215
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCThrow.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         1: .line 1216
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCThrow.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.tree.TreeInfo.symbol:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/code/Symbol;
            astore 2 /* sym */
        start local 2 // com.sun.tools.javac.code.Symbol sym
         2: .line 1217
            aload 2 /* sym */
            ifnull 12
         3: .line 1218
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.VAR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 12
         4: .line 1219
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 2199023255568
            land
            lconst_0
            lcmp
            ifeq 12
         5: .line 1220
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.preciseRethrowTypes:Ljava/util/HashMap;
            aload 2 /* sym */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 12
         6: .line 1221
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.allowImprovedRethrowAnalysis:Z
            ifeq 12
         7: .line 1222
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.preciseRethrowTypes:Ljava/util/HashMap;
            aload 2 /* sym */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCThrow com.sun.tools.javac.code.Symbol top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            astore 3 /* t */
        start local 3 // com.sun.tools.javac.code.Type t
         9: .line 1223
            aload 0 /* this */
            aload 1 /* tree */
            aload 3 /* t */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.markThrown:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
        end local 3 // com.sun.tools.javac.code.Type t
        10: .line 1222
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 1225
            goto 13
        12: .line 1227
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCThrow com.sun.tools.javac.code.Symbol
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCThrow.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.markThrown:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
        13: .line 1229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.markDead:()V
        14: .line 1230
            return
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.tree.JCTree$JCThrow tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   15     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCThrow;
            2   15     2   sym  Lcom/sun/tools/javac/code/Symbol;
            9   10     3     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      tree  

  public void visitApply(com.sun.tools.javac.tree.JCTree$JCMethodInvocation);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation tree
         0: .line 1233
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.meth:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         1: .line 1234
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
         2: .line 1235
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.meth:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            astore 2 /* l */
        start local 2 // com.sun.tools.javac.util.List l
         3: goto 6
         4: .line 1236
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.markThrown:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
         5: .line 1235
            aload 2 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* l */
      StackMap locals:
      StackMap stack:
         6: aload 2 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 4
        end local 2 // com.sun.tools.javac.util.List l
         7: .line 1237
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    8     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
            3    7     2     l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    MethodParameters:
      Name  Flags
      tree  

  public void visitNewClass(com.sun.tools.javac.tree.JCTree$JCNewClass);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCNewClass tree
         0: .line 1240
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCNewClass.encl:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         1: .line 1241
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCNewClass.args:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
         2: .line 1243
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCNewClass.constructorType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            astore 2 /* l */
        start local 2 // com.sun.tools.javac.util.List l
         3: .line 1244
            goto 6
         4: .line 1246
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.markThrown:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
         5: .line 1245
            aload 2 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* l */
         6: .line 1244
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 4
        end local 2 // com.sun.tools.javac.util.List l
         7: .line 1248
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            astore 2 /* caughtPrev */
        start local 2 // com.sun.tools.javac.util.List caughtPrev
         8: .line 1258
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCNewClass.def:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            ifnull 14
         9: .line 1259
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCNewClass.constructor:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
        start local 3 // com.sun.tools.javac.util.List l
        10: .line 1260
            goto 13
        11: .line 1262
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.chk:Lcom/sun/tools/javac/comp/Check;
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Check.incl:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        12: .line 1261
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
        13: .line 1260
      StackMap locals:
      StackMap stack:
            aload 3 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 11
        end local 3 // com.sun.tools.javac.util.List l
        14: .line 1264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCNewClass.def:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        15: .line 1265
            goto 19
        16: .line 1266
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        17: .line 1267
            aload 0 /* this */
            aload 2 /* caughtPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        18: .line 1268
            aload 4
            athrow
        19: .line 1267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* caughtPrev */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        20: .line 1269
            return
        end local 2 // com.sun.tools.javac.util.List caughtPrev
        end local 1 // com.sun.tools.javac.tree.JCTree$JCNewClass tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   21     1        tree  Lcom/sun/tools/javac/tree/JCTree$JCNewClass;
            3    7     2           l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            8   21     2  caughtPrev  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           10   14     3           l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
      Exception table:
        from    to  target  type
           8    16      16  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitLambda(com.sun.tools.javac.tree.JCTree$JCLambda);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
         0: .line 1273
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
            ifnull 3
         1: .line 1274
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifeq 3
         2: .line 1275
            return
         3: .line 1277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            astore 2 /* prevCaught */
        start local 2 // com.sun.tools.javac.util.List prevCaught
         4: .line 1278
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
            astore 3 /* prevThrown */
        start local 3 // com.sun.tools.javac.util.List prevThrown
         5: .line 1279
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            astore 4 /* prevPending */
        start local 4 // com.sun.tools.javac.util.ListBuffer prevPending
         6: .line 1281
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         7: .line 1282
            aload 0 /* this */
            aload 1 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            getfield com.sun.tools.javac.comp.Flow.types:Lcom/sun/tools/javac/code/Types;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCLambda.getDescriptorType:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
         8: .line 1283
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
         9: .line 1284
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
        10: .line 1285
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 5 /* exits */
        start local 5 // com.sun.tools.javac.util.List exits
        11: .line 1286
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        12: .line 1287
            goto 19
        13: .line 1288
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCLambda com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
      StackMap stack:
            aload 5 /* exits */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
            astore 6 /* exit */
        start local 6 // com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit exit
        14: .line 1289
            aload 5 /* exits */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* exits */
        15: .line 1290
            aload 6 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.thrown:Lcom/sun/tools/javac/code/Type;
            ifnonnull 18
        16: .line 1291
            aload 6 /* exit */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
            getstatic com.sun.tools.javac.tree.JCTree$Tag.RETURN:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        17: .line 1292
            goto 19
        18: .line 1294
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
            aload 6 /* exit */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 6 // com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit exit
        19: .line 1287
      StackMap locals:
      StackMap stack:
            aload 5 /* exits */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 13
        20: .line 1298
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.errorUncaught:()V
        end local 5 // com.sun.tools.javac.util.List exits
        21: .line 1299
            goto 27
      StackMap locals: com.sun.tools.javac.comp.Flow$FlowAnalyzer com.sun.tools.javac.tree.JCTree$JCLambda com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer
      StackMap stack: java.lang.Throwable
        22: astore 7
        23: .line 1300
            aload 0 /* this */
            aload 4 /* prevPending */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        24: .line 1301
            aload 0 /* this */
            aload 2 /* prevCaught */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        25: .line 1302
            aload 0 /* this */
            aload 3 /* prevThrown */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        26: .line 1303
            aload 7
            athrow
        27: .line 1300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* prevPending */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        28: .line 1301
            aload 0 /* this */
            aload 2 /* prevCaught */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
        29: .line 1302
            aload 0 /* this */
            aload 3 /* prevThrown */
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        30: .line 1304
            return
        end local 4 // com.sun.tools.javac.util.ListBuffer prevPending
        end local 3 // com.sun.tools.javac.util.List prevThrown
        end local 2 // com.sun.tools.javac.util.List prevCaught
        end local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0         this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   31     1         tree  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
            4   31     2   prevCaught  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            5   31     3   prevThrown  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            6   31     4  prevPending  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
           11   21     5        exits  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
           14   19     6         exit  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;
      Exception table:
        from    to  target  type
           6    22      22  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitModuleDef(com.sun.tools.javac.tree.JCTree$JCModuleDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCModuleDecl tree
         0: .line 1308
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCModuleDecl tree
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    1     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
    MethodParameters:
      Name  Flags
      tree  

  public void analyzeTree(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.TreeMaker);
    descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/TreeMaker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.comp.Env env
        start local 2 // com.sun.tools.javac.tree.TreeMaker make
         0: .line 1317
            aload 0 /* this */
            aload 1 /* env */
            aload 1 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 2 /* make */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.analyzeTree:(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)V
         1: .line 1318
            return
        end local 2 // com.sun.tools.javac.tree.TreeMaker make
        end local 1 // com.sun.tools.javac.comp.Env env
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0    2     1   env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0    2     2  make  Lcom/sun/tools/javac/tree/TreeMaker;
    Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/TreeMaker;)V
    MethodParameters:
      Name  Flags
      env   
      make  

  public void analyzeTree(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.tree.TreeMaker);
    descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
        start local 1 // com.sun.tools.javac.comp.Env env
        start local 2 // com.sun.tools.javac.tree.JCTree tree
        start local 3 // com.sun.tools.javac.tree.TreeMaker make
         0: .line 1321
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 1 /* env */
            putfield com.sun.tools.javac.comp.Flow.attrEnv:Lcom/sun/tools/javac/comp/Env;
         1: .line 1322
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aload 3 /* make */
            putfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
         2: .line 1323
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
         3: .line 1324
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.preciseRethrowTypes:Ljava/util/HashMap;
         4: .line 1325
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
         5: .line 1326
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
         6: .line 1327
            aload 0 /* this */
            aload 2 /* tree */
            invokevirtual com.sun.tools.javac.comp.Flow$FlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         7: .line 1328
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 4
         9: .line 1329
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        10: .line 1330
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aconst_null
            putfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
        11: .line 1331
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        12: .line 1332
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
        13: .line 1333
            aload 4
            athrow
        14: .line 1329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
        15: .line 1330
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
            aconst_null
            putfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
        16: .line 1331
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
        17: .line 1332
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Flow$FlowAnalyzer.classDef:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
        18: .line 1334
            return
        end local 3 // com.sun.tools.javac.tree.TreeMaker make
        end local 2 // com.sun.tools.javac.tree.JCTree tree
        end local 1 // com.sun.tools.javac.comp.Env env
        end local 0 // com.sun.tools.javac.comp.Flow$FlowAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer;
            0   19     1   env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0   19     2  tree  Lcom/sun/tools/javac/tree/JCTree;
            0   19     3  make  Lcom/sun/tools/javac/tree/TreeMaker;
      Exception table:
        from    to  target  type
           0     8       8  any
    Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)V
    MethodParameters:
      Name  Flags
      env   
      tree  
      make  
}
Signature: Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer<Lcom/sun/tools/javac/comp/Flow$FlowAnalyzer$FlowPendingExit;>;
SourceFile: "Flow.java"
NestHost: com.sun.tools.javac.comp.Flow
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  abstract BaseAnalyzer = com.sun.tools.javac.comp.Flow$BaseAnalyzer of com.sun.tools.javac.comp.Flow
  PendingExit = com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit of com.sun.tools.javac.comp.Flow$BaseAnalyzer
  FlowAnalyzer = com.sun.tools.javac.comp.Flow$FlowAnalyzer of com.sun.tools.javac.comp.Flow
  FlowPendingExit = com.sun.tools.javac.comp.Flow$FlowAnalyzer$FlowPendingExit of com.sun.tools.javac.comp.Flow$FlowAnalyzer
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
  public JCBlock = com.sun.tools.javac.tree.JCTree$JCBlock of com.sun.tools.javac.tree.JCTree
  public JCBreak = com.sun.tools.javac.tree.JCTree$JCBreak of com.sun.tools.javac.tree.JCTree
  public JCCase = com.sun.tools.javac.tree.JCTree$JCCase of com.sun.tools.javac.tree.JCTree
  public JCCatch = com.sun.tools.javac.tree.JCTree$JCCatch of com.sun.tools.javac.tree.JCTree
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public JCContinue = com.sun.tools.javac.tree.JCTree$JCContinue of com.sun.tools.javac.tree.JCTree
  public JCDoWhileLoop = com.sun.tools.javac.tree.JCTree$JCDoWhileLoop of com.sun.tools.javac.tree.JCTree
  public JCEnhancedForLoop = com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop of com.sun.tools.javac.tree.JCTree
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCForLoop = com.sun.tools.javac.tree.JCTree$JCForLoop of com.sun.tools.javac.tree.JCTree
  public JCIf = com.sun.tools.javac.tree.JCTree$JCIf of com.sun.tools.javac.tree.JCTree
  public JCLabeledStatement = com.sun.tools.javac.tree.JCTree$JCLabeledStatement of com.sun.tools.javac.tree.JCTree
  public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
  public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
  public JCMethodInvocation = com.sun.tools.javac.tree.JCTree$JCMethodInvocation of com.sun.tools.javac.tree.JCTree
  public JCModuleDecl = com.sun.tools.javac.tree.JCTree$JCModuleDecl of com.sun.tools.javac.tree.JCTree
  public JCNewClass = com.sun.tools.javac.tree.JCTree$JCNewClass of com.sun.tools.javac.tree.JCTree
  public JCReturn = com.sun.tools.javac.tree.JCTree$JCReturn of com.sun.tools.javac.tree.JCTree
  public JCSwitch = com.sun.tools.javac.tree.JCTree$JCSwitch of com.sun.tools.javac.tree.JCTree
  public JCThrow = com.sun.tools.javac.tree.JCTree$JCThrow of com.sun.tools.javac.tree.JCTree
  public JCTry = com.sun.tools.javac.tree.JCTree$JCTry of com.sun.tools.javac.tree.JCTree
  public JCTypeUnion = com.sun.tools.javac.tree.JCTree$JCTypeUnion of com.sun.tools.javac.tree.JCTree
  public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
  public JCWhileLoop = com.sun.tools.javac.tree.JCTree$JCWhileLoop of com.sun.tools.javac.tree.JCTree
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
  public final Warning = com.sun.tools.javac.util.JCDiagnostic$Warning of com.sun.tools.javac.util.JCDiagnostic