public class sun.tools.tree.FinallyStatement extends sun.tools.tree.Statement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.tree.FinallyStatement
  super_class: sun.tools.tree.Statement
{
  sun.tools.tree.Statement body;
    descriptor: Lsun/tools/tree/Statement;
    flags: (0x0000) 

  sun.tools.tree.Statement finalbody;
    descriptor: Lsun/tools/tree/Statement;
    flags: (0x0000) 

  boolean finallyCanFinish;
    descriptor: Z
    flags: (0x0000) 

  boolean needReturnSlot;
    descriptor: Z
    flags: (0x0000) 

  sun.tools.tree.Statement init;
    descriptor: Lsun/tools/tree/Statement;
    flags: (0x0000) 

  sun.tools.tree.LocalMember tryTemp;
    descriptor: Lsun/tools/tree/LocalMember;
    flags: (0x0000) 

  public void <init>(long, sun.tools.tree.Statement, sun.tools.tree.Statement);
    descriptor: (JLsun/tools/tree/Statement;Lsun/tools/tree/Statement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.tools.tree.FinallyStatement this
        start local 1 // long where
        start local 3 // sun.tools.tree.Statement body
        start local 4 // sun.tools.tree.Statement finalbody
         0: .line 55
            aload 0 /* this */
            bipush 103
            lload 1 /* where */
            invokespecial sun.tools.tree.Statement.<init>:(IJ)V
         1: .line 56
            aload 0 /* this */
            aload 3 /* body */
            putfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
         2: .line 57
            aload 0 /* this */
            aload 4 /* finalbody */
            putfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
         3: .line 58
            return
        end local 4 // sun.tools.tree.Statement finalbody
        end local 3 // sun.tools.tree.Statement body
        end local 1 // long where
        end local 0 // sun.tools.tree.FinallyStatement this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/tools/tree/FinallyStatement;
            0    4     1      where  J
            0    4     3       body  Lsun/tools/tree/Statement;
            0    4     4  finalbody  Lsun/tools/tree/Statement;
    MethodParameters:
           Name  Flags
      where      
      body       
      finalbody  

  sun.tools.tree.Vset check(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // sun.tools.tree.FinallyStatement this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // sun.tools.tree.Vset vset
        start local 4 // java.util.Hashtable exp
         0: .line 72
            aload 0 /* this */
            aload 1 /* env */
            aload 3 /* vset */
            invokevirtual sun.tools.tree.FinallyStatement.reach:(Lsun/tools/java/Environment;Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
            astore 3 /* vset */
         1: .line 73
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            astore 5 /* newexp */
        start local 5 // java.util.Hashtable newexp
         2: .line 168
            new sun.tools.tree.CheckContext
            dup
            aload 2 /* ctx */
            aload 0 /* this */
            invokespecial sun.tools.tree.CheckContext.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Statement;)V
            astore 6 /* newctx1 */
        start local 6 // sun.tools.tree.CheckContext newctx1
         3: .line 169
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 6 /* newctx1 */
            aload 3 /* vset */
            invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
            aload 5 /* newexp */
            invokevirtual sun.tools.tree.Statement.check:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
         4: .line 170
            aload 6 /* newctx1 */
            getfield sun.tools.tree.CheckContext.vsBreak:Lsun/tools/tree/Vset;
            invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
         5: .line 169
            astore 7 /* vset1 */
        start local 7 // sun.tools.tree.Vset vset1
         6: .line 172
            new sun.tools.tree.CheckContext
            dup
            aload 2 /* ctx */
            aload 0 /* this */
            invokespecial sun.tools.tree.CheckContext.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Statement;)V
            astore 8 /* newctx2 */
        start local 8 // sun.tools.tree.CheckContext newctx2
         7: .line 174
            aload 8 /* newctx2 */
            aconst_null
            putfield sun.tools.tree.CheckContext.vsContinue:Lsun/tools/tree/Vset;
         8: .line 175
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 8 /* newctx2 */
            aload 3 /* vset */
            aload 4 /* exp */
            invokevirtual sun.tools.tree.Statement.check:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
            astore 9 /* vset2 */
        start local 9 // sun.tools.tree.Vset vset2
         9: .line 176
            aload 0 /* this */
            aload 9 /* vset2 */
            invokevirtual sun.tools.tree.Vset.isDeadEnd:()Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: sun.tools.tree.FinallyStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.CheckContext sun.tools.tree.Vset
      StackMap stack: sun.tools.tree.FinallyStatement
        10: iconst_1
      StackMap locals: sun.tools.tree.FinallyStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.tree.Vset java.util.Hashtable java.util.Hashtable sun.tools.tree.CheckContext sun.tools.tree.Vset sun.tools.tree.CheckContext sun.tools.tree.Vset
      StackMap stack: sun.tools.tree.FinallyStatement int
        11: putfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
        12: .line 177
            aload 9 /* vset2 */
            aload 8 /* newctx2 */
            getfield sun.tools.tree.CheckContext.vsBreak:Lsun/tools/tree/Vset;
            invokevirtual sun.tools.tree.Vset.join:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
            astore 9 /* vset2 */
        13: .line 183
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
            ifeq 19
        14: .line 185
            aload 5 /* newexp */
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 10 /* e */
        start local 10 // java.util.Enumeration e
        15: goto 18
        16: .line 186
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            astore 11 /* def */
        start local 11 // java.lang.Object def
        17: .line 187
            aload 4 /* exp */
            aload 11 /* def */
            aload 5 /* newexp */
            aload 11 /* def */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // java.lang.Object def
        18: .line 185
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 16
        end local 10 // java.util.Enumeration e
        19: .line 190
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            aload 7 /* vset1 */
            aload 9 /* vset2 */
            invokevirtual sun.tools.tree.Vset.addDAandJoinDU:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
            invokevirtual sun.tools.tree.Context.removeAdditionalVars:(Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
            areturn
        end local 9 // sun.tools.tree.Vset vset2
        end local 8 // sun.tools.tree.CheckContext newctx2
        end local 7 // sun.tools.tree.Vset vset1
        end local 6 // sun.tools.tree.CheckContext newctx1
        end local 5 // java.util.Hashtable newexp
        end local 4 // java.util.Hashtable exp
        end local 3 // sun.tools.tree.Vset vset
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.FinallyStatement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lsun/tools/tree/FinallyStatement;
            0   20     1      env  Lsun/tools/java/Environment;
            0   20     2      ctx  Lsun/tools/tree/Context;
            0   20     3     vset  Lsun/tools/tree/Vset;
            0   20     4      exp  Ljava/util/Hashtable;
            2   20     5   newexp  Ljava/util/Hashtable;
            3   20     6  newctx1  Lsun/tools/tree/CheckContext;
            6   20     7    vset1  Lsun/tools/tree/Vset;
            7   20     8  newctx2  Lsun/tools/tree/CheckContext;
            9   20     9    vset2  Lsun/tools/tree/Vset;
           15   19    10        e  Ljava/util/Enumeration;
           17   18    11      def  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      vset  
      exp   

  public sun.tools.tree.Statement inline(sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.tools.tree.FinallyStatement this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
         0: .line 197
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.tryTemp:Lsun/tools/tree/LocalMember;
            ifnull 3
         1: .line 198
            new sun.tools.tree.Context
            dup
            aload 2 /* ctx */
            aload 0 /* this */
            invokespecial sun.tools.tree.Context.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Node;)V
            astore 2 /* ctx */
         2: .line 199
            aload 2 /* ctx */
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.tryTemp:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.Context.declare:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)I
            pop
         3: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            ifnull 5
         4: .line 202
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.Statement.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
            putfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
         5: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            ifnull 7
         6: .line 205
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.Statement.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
            putfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
         7: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            ifnull 9
         8: .line 208
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 2 /* ctx */
            invokevirtual sun.tools.tree.Statement.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Statement;
            putfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
         9: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            ifnonnull 11
        10: .line 211
            aload 0 /* this */
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            invokevirtual sun.tools.tree.FinallyStatement.eliminate:(Lsun/tools/java/Environment;Lsun/tools/tree/Statement;)Lsun/tools/tree/Statement;
            areturn
        11: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            ifnonnull 13
        12: .line 214
            aload 0 /* this */
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            invokevirtual sun.tools.tree.FinallyStatement.eliminate:(Lsun/tools/java/Environment;Lsun/tools/tree/Statement;)Lsun/tools/tree/Statement;
            areturn
        13: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.FinallyStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/tools/tree/FinallyStatement;
            0   14     1   env  Lsun/tools/java/Environment;
            0   14     2   ctx  Lsun/tools/tree/Context;
    MethodParameters:
      Name  Flags
      env   
      ctx   

  public sun.tools.tree.Statement copyInline(sun.tools.tree.Context, boolean);
    descriptor: (Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.tools.tree.FinallyStatement this
        start local 1 // sun.tools.tree.Context ctx
        start local 2 // boolean valNeeded
         0: .line 223
            aload 0 /* this */
            invokevirtual sun.tools.tree.FinallyStatement.clone:()Ljava/lang/Object;
            checkcast sun.tools.tree.FinallyStatement
            astore 3 /* s */
        start local 3 // sun.tools.tree.FinallyStatement s
         1: .line 224
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.tryTemp:Lsun/tools/tree/LocalMember;
            ifnull 3
         2: .line 225
            aload 3 /* s */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.tryTemp:Lsun/tools/tree/LocalMember;
            aload 1 /* ctx */
            invokevirtual sun.tools.tree.LocalMember.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/LocalMember;
            putfield sun.tools.tree.FinallyStatement.tryTemp:Lsun/tools/tree/LocalMember;
         3: .line 227
      StackMap locals: sun.tools.tree.FinallyStatement
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            ifnull 5
         4: .line 228
            aload 3 /* s */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            aload 1 /* ctx */
            iload 2 /* valNeeded */
            invokevirtual sun.tools.tree.Statement.copyInline:(Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
            putfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
         5: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            ifnull 7
         6: .line 231
            aload 3 /* s */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            aload 1 /* ctx */
            iload 2 /* valNeeded */
            invokevirtual sun.tools.tree.Statement.copyInline:(Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
            putfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
         7: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            ifnull 9
         8: .line 234
            aload 3 /* s */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            aload 1 /* ctx */
            iload 2 /* valNeeded */
            invokevirtual sun.tools.tree.Statement.copyInline:(Lsun/tools/tree/Context;Z)Lsun/tools/tree/Statement;
            putfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
         9: .line 236
      StackMap locals:
      StackMap stack:
            aload 3 /* s */
            areturn
        end local 3 // sun.tools.tree.FinallyStatement s
        end local 2 // boolean valNeeded
        end local 1 // sun.tools.tree.Context ctx
        end local 0 // sun.tools.tree.FinallyStatement this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lsun/tools/tree/FinallyStatement;
            0   10     1        ctx  Lsun/tools/tree/Context;
            0   10     2  valNeeded  Z
            1   10     3          s  Lsun/tools/tree/FinallyStatement;
    MethodParameters:
           Name  Flags
      ctx        
      valNeeded  

  public int costInline(int, sun.tools.java.Environment, sun.tools.tree.Context);
    descriptor: (ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.tools.tree.FinallyStatement this
        start local 1 // int thresh
        start local 2 // sun.tools.java.Environment env
        start local 3 // sun.tools.tree.Context ctx
         0: .line 243
            iconst_4
            istore 4 /* cost */
        start local 4 // int cost
         1: .line 244
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            ifnull 4
         2: .line 245
            iload 4 /* cost */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            iload 1 /* thresh */
            aload 2 /* env */
            aload 3 /* ctx */
            invokevirtual sun.tools.tree.Statement.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
            iadd
            istore 4 /* cost */
         3: .line 246
            iload 4 /* cost */
            iload 1 /* thresh */
            if_icmplt 4
            iload 4 /* cost */
            ireturn
         4: .line 248
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            ifnull 7
         5: .line 249
            iload 4 /* cost */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            iload 1 /* thresh */
            aload 2 /* env */
            aload 3 /* ctx */
            invokevirtual sun.tools.tree.Statement.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
            iadd
            istore 4 /* cost */
         6: .line 250
            iload 4 /* cost */
            iload 1 /* thresh */
            if_icmplt 7
            iload 4 /* cost */
            ireturn
         7: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            ifnull 9
         8: .line 253
            iload 4 /* cost */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            iload 1 /* thresh */
            aload 2 /* env */
            aload 3 /* ctx */
            invokevirtual sun.tools.tree.Statement.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
            iadd
            istore 4 /* cost */
         9: .line 255
      StackMap locals:
      StackMap stack:
            iload 4 /* cost */
            ireturn
        end local 4 // int cost
        end local 3 // sun.tools.tree.Context ctx
        end local 2 // sun.tools.java.Environment env
        end local 1 // int thresh
        end local 0 // sun.tools.tree.FinallyStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lsun/tools/tree/FinallyStatement;
            0   10     1  thresh  I
            0   10     2     env  Lsun/tools/java/Environment;
            0   10     3     ctx  Lsun/tools/tree/Context;
            1   10     4    cost  I
    MethodParameters:
        Name  Flags
      thresh  
      env     
      ctx     

  public void code(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler);
    descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=12, args_size=4
        start local 0 // sun.tools.tree.FinallyStatement this
        start local 1 // sun.tools.java.Environment env
        start local 2 // sun.tools.tree.Context ctx
        start local 3 // sun.tools.asm.Assembler asm
         0: .line 262
            new sun.tools.tree.Context
            dup
            aload 2 /* ctx */
            invokespecial sun.tools.tree.Context.<init>:(Lsun/tools/tree/Context;)V
            astore 2 /* ctx */
         1: .line 263
            aconst_null
            astore 4 /* num1 */
        start local 4 // java.lang.Integer num1
         2: aconst_null
            astore 5 /* num2 */
        start local 5 // java.lang.Integer num2
         3: .line 264
            new sun.tools.asm.Label
            dup
            invokespecial sun.tools.asm.Label.<init>:()V
            astore 6 /* endLabel */
        start local 6 // sun.tools.asm.Label endLabel
         4: .line 266
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.tryTemp:Lsun/tools/tree/LocalMember;
            ifnull 6
         5: .line 267
            aload 2 /* ctx */
            aload 1 /* env */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.tryTemp:Lsun/tools/tree/LocalMember;
            invokevirtual sun.tools.tree.Context.declare:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)I
            pop
         6: .line 269
      StackMap locals: java.lang.Integer java.lang.Integer sun.tools.asm.Label
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            ifnull 9
         7: .line 270
            new sun.tools.tree.CodeContext
            dup
            aload 2 /* ctx */
            aload 0 /* this */
            invokespecial sun.tools.tree.CodeContext.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Node;)V
            astore 7 /* exprctx */
        start local 7 // sun.tools.tree.CodeContext exprctx
         8: .line 271
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.init:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 7 /* exprctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Statement.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        end local 7 // sun.tools.tree.CodeContext exprctx
         9: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
            ifeq 23
        10: .line 276
            aload 2 /* ctx */
            getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
            astore 9 /* thisClass */
        start local 9 // sun.tools.java.ClassDefinition thisClass
        11: .line 278
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.needReturnSlot:Z
            ifeq 19
        12: .line 279
            aload 2 /* ctx */
            getfield sun.tools.tree.Context.field:Lsun/tools/java/MemberDefinition;
            invokevirtual sun.tools.java.MemberDefinition.getType:()Lsun/tools/java/Type;
            invokevirtual sun.tools.java.Type.getReturnType:()Lsun/tools/java/Type;
            astore 10 /* returnType */
        start local 10 // sun.tools.java.Type returnType
        13: .line 280
            new sun.tools.tree.LocalMember
            dup
            lconst_0
            aload 9 /* thisClass */
            iconst_0
        14: .line 281
            aload 10 /* returnType */
        15: .line 282
            getstatic sun.tools.tree.FinallyStatement.idFinallyReturnValue:Lsun/tools/java/Identifier;
        16: .line 280
            invokespecial sun.tools.tree.LocalMember.<init>:(JLsun/tools/java/ClassDefinition;ILsun/tools/java/Type;Lsun/tools/java/Identifier;)V
            astore 11 /* localfield */
        start local 11 // sun.tools.tree.LocalMember localfield
        17: .line 283
            aload 2 /* ctx */
            aload 1 /* env */
            aload 11 /* localfield */
            invokevirtual sun.tools.tree.Context.declare:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)I
            pop
        18: .line 284
            new java.lang.StringBuilder
            dup
            ldc "Assigning return slot to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* localfield */
            getfield sun.tools.tree.LocalMember.number:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.tools.java.Environment.debugOutput:(Ljava/lang/Object;)V
        end local 11 // sun.tools.tree.LocalMember localfield
        end local 10 // sun.tools.java.Type returnType
        19: .line 288
      StackMap locals: sun.tools.tree.FinallyStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler java.lang.Integer java.lang.Integer sun.tools.asm.Label top top sun.tools.java.ClassDefinition
      StackMap stack:
            new sun.tools.tree.LocalMember
            dup
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            aload 9 /* thisClass */
            iconst_0
            getstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
            aconst_null
            invokespecial sun.tools.tree.LocalMember.<init>:(JLsun/tools/java/ClassDefinition;ILsun/tools/java/Type;Lsun/tools/java/Identifier;)V
            astore 7 /* f1 */
        start local 7 // sun.tools.tree.LocalMember f1
        20: .line 289
            new sun.tools.tree.LocalMember
            dup
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            aload 9 /* thisClass */
            iconst_0
            getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
            aconst_null
            invokespecial sun.tools.tree.LocalMember.<init>:(JLsun/tools/java/ClassDefinition;ILsun/tools/java/Type;Lsun/tools/java/Identifier;)V
            astore 8 /* f2 */
        start local 8 // sun.tools.tree.LocalMember f2
        21: .line 290
            new java.lang.Integer
            dup
            aload 2 /* ctx */
            aload 1 /* env */
            aload 7 /* f1 */
            invokevirtual sun.tools.tree.Context.declare:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)I
            invokespecial java.lang.Integer.<init>:(I)V
            astore 4 /* num1 */
        22: .line 291
            new java.lang.Integer
            dup
            aload 2 /* ctx */
            aload 1 /* env */
            aload 8 /* f2 */
            invokevirtual sun.tools.tree.Context.declare:(Lsun/tools/java/Environment;Lsun/tools/tree/LocalMember;)I
            invokespecial java.lang.Integer.<init>:(I)V
            astore 5 /* num2 */
        end local 9 // sun.tools.java.ClassDefinition thisClass
        end local 8 // sun.tools.tree.LocalMember f2
        end local 7 // sun.tools.tree.LocalMember f1
        23: .line 294
      StackMap locals: sun.tools.tree.FinallyStatement sun.tools.java.Environment sun.tools.tree.Context sun.tools.asm.Assembler java.lang.Integer java.lang.Integer sun.tools.asm.Label
      StackMap stack:
            new sun.tools.asm.TryData
            dup
            invokespecial sun.tools.asm.TryData.<init>:()V
            astore 7 /* td */
        start local 7 // sun.tools.asm.TryData td
        24: .line 295
            aload 7 /* td */
            aconst_null
            invokevirtual sun.tools.asm.TryData.add:(Ljava/lang/Object;)Lsun/tools/asm/CatchData;
            pop
        25: .line 298
            new sun.tools.tree.CodeContext
            dup
            aload 2 /* ctx */
            aload 0 /* this */
            invokespecial sun.tools.tree.CodeContext.<init>:(Lsun/tools/tree/Context;Lsun/tools/tree/Node;)V
            astore 8 /* bodyctx */
        start local 8 // sun.tools.tree.CodeContext bodyctx
        26: .line 299
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            bipush -3
            aload 7 /* td */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        27: .line 300
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 8 /* bodyctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Statement.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        28: .line 301
            aload 3 /* asm */
            aload 8 /* bodyctx */
            getfield sun.tools.tree.CodeContext.breakLabel:Lsun/tools/asm/Label;
            invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
        29: .line 302
            aload 3 /* asm */
            aload 7 /* td */
            invokevirtual sun.tools.asm.TryData.getEndLabel:()Lsun/tools/asm/Label;
            invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
        30: .line 305
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
            ifeq 34
        31: .line 306
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            sipush 168
            aload 8 /* bodyctx */
            getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        32: .line 307
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            sipush 167
            aload 6 /* endLabel */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        33: .line 308
            goto 35
        34: .line 310
      StackMap locals: sun.tools.asm.TryData sun.tools.tree.CodeContext
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            sipush 167
            aload 8 /* bodyctx */
            getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        35: .line 314
      StackMap locals:
      StackMap stack:
            aload 7 /* td */
            iconst_0
            invokevirtual sun.tools.asm.TryData.getCatch:(I)Lsun/tools/asm/CatchData;
            astore 9 /* cd */
        start local 9 // sun.tools.asm.CatchData cd
        36: .line 315
            aload 3 /* asm */
            aload 9 /* cd */
            invokevirtual sun.tools.asm.CatchData.getLabel:()Lsun/tools/asm/Label;
            invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
        37: .line 316
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
            ifeq 43
        38: .line 317
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            bipush 58
            aload 4 /* num1 */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        39: .line 318
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            sipush 168
            aload 8 /* bodyctx */
            getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        40: .line 319
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            bipush 25
            aload 4 /* num1 */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        41: .line 320
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            sipush 191
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        42: .line 321
            goto 44
        43: .line 323
      StackMap locals: sun.tools.asm.CatchData
      StackMap stack:
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            bipush 87
            invokevirtual sun.tools.asm.Assembler.add:(JI)V
        44: .line 329
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 8 /* bodyctx */
            getfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
            invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
        45: .line 330
            aload 8 /* bodyctx */
            aconst_null
            putfield sun.tools.tree.CodeContext.contLabel:Lsun/tools/asm/Label;
        46: .line 331
            aload 8 /* bodyctx */
            aload 6 /* endLabel */
            putfield sun.tools.tree.CodeContext.breakLabel:Lsun/tools/asm/Label;
        47: .line 332
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finallyCanFinish:Z
            ifeq 52
        48: .line 333
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            bipush 58
            aload 5 /* num2 */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        49: .line 334
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 8 /* bodyctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Statement.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        50: .line 335
            aload 3 /* asm */
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.where:J
            sipush 169
            aload 5 /* num2 */
            invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
        51: .line 336
            goto 53
        52: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            aload 1 /* env */
            aload 8 /* bodyctx */
            aload 3 /* asm */
            invokevirtual sun.tools.tree.Statement.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
        53: .line 339
      StackMap locals:
      StackMap stack:
            aload 3 /* asm */
            aload 6 /* endLabel */
            invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
        54: .line 340
            return
        end local 9 // sun.tools.asm.CatchData cd
        end local 8 // sun.tools.tree.CodeContext bodyctx
        end local 7 // sun.tools.asm.TryData td
        end local 6 // sun.tools.asm.Label endLabel
        end local 5 // java.lang.Integer num2
        end local 4 // java.lang.Integer num1
        end local 3 // sun.tools.asm.Assembler asm
        end local 2 // sun.tools.tree.Context ctx
        end local 1 // sun.tools.java.Environment env
        end local 0 // sun.tools.tree.FinallyStatement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   55     0        this  Lsun/tools/tree/FinallyStatement;
            0   55     1         env  Lsun/tools/java/Environment;
            0   55     2         ctx  Lsun/tools/tree/Context;
            0   55     3         asm  Lsun/tools/asm/Assembler;
            2   55     4        num1  Ljava/lang/Integer;
            3   55     5        num2  Ljava/lang/Integer;
            4   55     6    endLabel  Lsun/tools/asm/Label;
            8    9     7     exprctx  Lsun/tools/tree/CodeContext;
           20   23     7          f1  Lsun/tools/tree/LocalMember;
           21   23     8          f2  Lsun/tools/tree/LocalMember;
           11   23     9   thisClass  Lsun/tools/java/ClassDefinition;
           13   19    10  returnType  Lsun/tools/java/Type;
           17   19    11  localfield  Lsun/tools/tree/LocalMember;
           24   55     7          td  Lsun/tools/asm/TryData;
           26   55     8     bodyctx  Lsun/tools/tree/CodeContext;
           36   55     9          cd  Lsun/tools/asm/CatchData;
    MethodParameters:
      Name  Flags
      env   
      ctx   
      asm   

  public void print(java.io.PrintStream, int);
    descriptor: (Ljava/io/PrintStream;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.tree.FinallyStatement this
        start local 1 // java.io.PrintStream out
        start local 2 // int indent
         0: .line 346
            aload 0 /* this */
            aload 1 /* out */
            iload 2 /* indent */
            invokespecial sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
         1: .line 347
            aload 1 /* out */
            ldc "try "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         2: .line 348
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            ifnull 5
         3: .line 349
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.body:Lsun/tools/tree/Statement;
            aload 1 /* out */
            iload 2 /* indent */
            invokevirtual sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
         4: .line 350
            goto 6
         5: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            ldc "<empty>"
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         6: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            ldc " finally "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         7: .line 354
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            ifnull 10
         8: .line 355
            aload 0 /* this */
            getfield sun.tools.tree.FinallyStatement.finalbody:Lsun/tools/tree/Statement;
            aload 1 /* out */
            iload 2 /* indent */
            invokevirtual sun.tools.tree.Statement.print:(Ljava/io/PrintStream;I)V
         9: .line 356
            goto 11
        10: .line 357
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            ldc "<empty>"
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        11: .line 359
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int indent
        end local 1 // java.io.PrintStream out
        end local 0 // sun.tools.tree.FinallyStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lsun/tools/tree/FinallyStatement;
            0   12     1     out  Ljava/io/PrintStream;
            0   12     2  indent  I
    MethodParameters:
        Name  Flags
      out     
      indent  
}
SourceFile: "FinallyStatement.java"