public class org.eclipse.jdt.internal.compiler.ast.ForStatement extends org.eclipse.jdt.internal.compiler.ast.Statement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.ast.ForStatement
  super_class: org.eclipse.jdt.internal.compiler.ast.Statement
{
  public org.eclipse.jdt.internal.compiler.ast.Statement[] initializations;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
    flags: (0x0001) ACC_PUBLIC

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

  public org.eclipse.jdt.internal.compiler.ast.Statement[] increments;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
    flags: (0x0001) ACC_PUBLIC

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

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

  private org.eclipse.jdt.internal.compiler.codegen.BranchLabel breakLabel;
    descriptor: Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.compiler.codegen.BranchLabel continueLabel;
    descriptor: Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    flags: (0x0002) ACC_PRIVATE

  int preCondInitStateIndex;
    descriptor: I
    flags: (0x0000) 

  int preIncrementsInitStateIndex;
    descriptor: I
    flags: (0x0000) 

  int condIfTrueInitStateIndex;
    descriptor: I
    flags: (0x0000) 

  int mergedInitStateIndex;
    descriptor: I
    flags: (0x0000) 

  public void <init>(org.eclipse.jdt.internal.compiler.ast.Statement[], org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.ast.Statement[], org.eclipse.jdt.internal.compiler.ast.Statement, boolean, int, int);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/ast/Statement;ZII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=8
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Statement[] initializations
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression condition
        start local 3 // org.eclipse.jdt.internal.compiler.ast.Statement[] increments
        start local 4 // org.eclipse.jdt.internal.compiler.ast.Statement action
        start local 5 // boolean neededScope
        start local 6 // int s
        start local 7 // int e
         0: .line 48
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Statement.<init>:()V
         1: .line 43
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
         2: .line 44
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
         3: .line 45
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
         4: .line 46
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
         5: .line 57
            aload 0 /* this */
            iload 6 /* s */
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceStart:I
         6: .line 58
            aload 0 /* this */
            iload 7 /* e */
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceEnd:I
         7: .line 59
            aload 0 /* this */
            aload 1 /* initializations */
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
         8: .line 60
            aload 0 /* this */
            aload 2 /* condition */
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         9: .line 61
            aload 0 /* this */
            aload 3 /* increments */
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
        10: .line 62
            aload 0 /* this */
            aload 4 /* action */
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
        11: .line 64
            aload 4 /* action */
            instanceof org.eclipse.jdt.internal.compiler.ast.EmptyStatement
            ifeq 12
            aload 4 /* action */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.Statement.bits:I
            iconst_1
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Statement.bits:I
        12: .line 65
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.ast.Statement[] org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.ast.Statement[] org.eclipse.jdt.internal.compiler.ast.Statement int int int
      StackMap stack:
            iload 5 /* neededScope */
            ifeq 14
        13: .line 66
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
            ldc 536870912
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
        14: .line 68
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int e
        end local 6 // int s
        end local 5 // boolean neededScope
        end local 4 // org.eclipse.jdt.internal.compiler.ast.Statement action
        end local 3 // org.eclipse.jdt.internal.compiler.ast.Statement[] increments
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression condition
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Statement[] initializations
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
            0   15     1  initializations  [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            0   15     2        condition  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   15     3       increments  [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            0   15     4           action  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            0   15     5      neededScope  Z
            0   15     6                s  I
            0   15     7                e  I
    MethodParameters:
                 Name  Flags
      initializations  
      condition        
      increments       
      action           
      neededScope      
      s                
      e                

  public org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=20, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 72
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
         1: .line 73
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
         2: .line 74
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.reachMode:()I
            iconst_3
            iand
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* initialComplaintLevel */
        start local 4 // int initialComplaintLevel
         5: .line 77
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 12
         6: .line 78
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 6 /* count */
        start local 6 // int count
         8: goto 11
         9: .line 79
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 5 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 3 /* flowInfo */
        10: .line 78
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 6 /* count */
            if_icmplt 9
        end local 6 // int count
        end local 5 // int i
        12: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        13: .line 83
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
        14: .line 82
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
        15: .line 85
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnonnull 16
            aconst_null
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
        17: astore 5 /* cst */
        start local 5 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        18: .line 86
            aload 5 /* cst */
            ifnull 20
            aload 5 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 19
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 20
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
        19: iconst_0
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_1
      StackMap locals:
      StackMap stack: int
        21: istore 6 /* isConditionTrue */
        start local 6 // boolean isConditionTrue
        22: .line 87
            aload 5 /* cst */
            ifnull 23
            aload 5 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 23
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 23
            iconst_1
            goto 24
      StackMap locals: int
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: istore 7 /* isConditionFalse */
        start local 7 // boolean isConditionFalse
        25: .line 89
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnonnull 26
            aconst_null
            goto 27
      StackMap locals: int
      StackMap stack:
        26: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
        27: astore 5 /* cst */
        28: .line 90
            aload 5 /* cst */
            ifnull 30
            aload 5 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 29
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 30
      StackMap locals:
      StackMap stack:
        29: iconst_0
            goto 31
      StackMap locals:
      StackMap stack:
        30: iconst_1
      StackMap locals:
      StackMap stack: int
        31: istore 8 /* isConditionOptimizedTrue */
        start local 8 // boolean isConditionOptimizedTrue
        32: .line 91
            aload 5 /* cst */
            ifnull 33
            aload 5 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 33
            aload 5 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 33
            iconst_1
            goto 34
      StackMap locals: int
      StackMap stack:
        33: iconst_0
      StackMap locals:
      StackMap stack: int
        34: istore 9 /* isConditionOptimizedFalse */
        start local 9 // boolean isConditionOptimizedFalse
        35: .line 94
            aconst_null
            astore 10 /* condLoopContext */
        start local 10 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext condLoopContext
        36: .line 95
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullInfoLessUnconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 11 /* condInfo */
        start local 11 // org.eclipse.jdt.internal.compiler.flow.FlowInfo condInfo
        37: .line 96
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 49
        38: .line 97
            iload 6 /* isConditionTrue */
            ifne 49
        39: .line 99
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        40: .line 100
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
        41: .line 102
            new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            dup
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 0 /* this */
            aconst_null
        42: .line 103
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            iconst_1
        43: .line 102
            invokespecial org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)V
        44: .line 101
            dup
            astore 10 /* condLoopContext */
        45: .line 104
            aload 11 /* condInfo */
        46: .line 99
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
        47: .line 98
            astore 11 /* condInfo */
        48: .line 105
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkNPEbyUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        49: .line 112
      StackMap locals: int org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 51
        50: .line 113
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.isEmptyBlock:()Z
            ifeq 67
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3080192
            lcmp
            ifgt 67
        51: .line 114
      StackMap locals:
      StackMap stack:
            aload 10 /* condLoopContext */
            ifnull 53
        52: .line 115
            aload 10 /* condLoopContext */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 11 /* condInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredFinalChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        53: .line 116
      StackMap locals:
      StackMap stack:
            iload 6 /* isConditionTrue */
            ifeq 59
        54: .line 117
            aload 10 /* condLoopContext */
            ifnull 58
        55: .line 118
            aload 10 /* condLoopContext */
            aload 1 /* currentScope */
        56: .line 119
            aload 11 /* condInfo */
        57: .line 118
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredNullChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        58: .line 121
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            areturn
        59: .line 123
      StackMap locals:
      StackMap stack:
            iload 7 /* isConditionFalse */
            ifeq 61
        60: .line 124
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        61: .line 126
      StackMap locals:
      StackMap stack:
            aload 11 /* condInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 13 /* actionInfo */
        start local 13 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo actionInfo
        62: .line 128
            new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            dup
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 0 /* this */
        63: .line 129
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            iconst_0
        64: .line 128
            invokespecial org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)V
        65: .line 127
            astore 12 /* loopingContext */
        start local 12 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loopingContext
        66: .line 133
            goto 98
        end local 13 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo actionInfo
        end local 12 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loopingContext
        67: .line 136
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            dup
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        68: .line 137
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            iconst_1
        69: .line 136
            invokespecial org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)V
        70: .line 135
            astore 12 /* loopingContext */
        start local 12 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loopingContext
        71: .line 138
            aload 11 /* condInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 14 /* initsWhenTrue */
        start local 14 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
        72: .line 139
            aload 0 /* this */
        73: .line 140
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 14 /* initsWhenTrue */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
        74: .line 139
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
        75: .line 142
            iload 7 /* isConditionFalse */
            ifeq 78
        76: .line 143
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 13 /* actionInfo */
        start local 13 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo actionInfo
        77: .line 144
            goto 81
        end local 13 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo actionInfo
        78: .line 145
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.impl.Constant int int int int org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext top org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 14 /* initsWhenTrue */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 13 /* actionInfo */
        start local 13 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo actionInfo
        79: .line 146
            iload 9 /* isConditionOptimizedFalse */
            ifeq 81
        80: .line 147
            aload 13 /* actionInfo */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        81: .line 150
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.impl.Constant int int int int org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            aload 13 /* actionInfo */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            iload 4 /* initialComplaintLevel */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.complainIfUnreachable:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;IZ)I
            iconst_2
            if_icmpge 83
        82: .line 151
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 12 /* loopingContext */
            aload 13 /* actionInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 13 /* actionInfo */
        83: .line 155
      StackMap locals:
      StackMap stack:
            aload 13 /* actionInfo */
            getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
        84: .line 156
            aload 12 /* loopingContext */
            getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
        85: .line 155
            iand
        86: .line 157
            iconst_1
        87: .line 155
            iand
            ifeq 90
        88: .line 158
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        89: .line 159
            goto 98
        90: .line 161
      StackMap locals:
      StackMap stack:
            aload 10 /* condLoopContext */
            ifnull 94
        91: .line 162
            aload 10 /* condLoopContext */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
        92: .line 163
            aload 11 /* condInfo */
        93: .line 162
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredFinalChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        94: .line 165
      StackMap locals:
      StackMap stack:
            aload 13 /* actionInfo */
            aload 12 /* loopingContext */
            getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 13 /* actionInfo */
        95: .line 166
            aload 12 /* loopingContext */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
        96: .line 167
            aload 13 /* actionInfo */
        97: .line 166
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredFinalChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        end local 14 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
        98: .line 171
      StackMap locals:
      StackMap stack:
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 14 /* exitBranch */
        start local 14 // org.eclipse.jdt.internal.compiler.flow.FlowInfo exitBranch
        99: .line 173
            aconst_null
            astore 15 /* incrementContext */
        start local 15 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext incrementContext
       100: .line 174
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            ifnull 124
       101: .line 175
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 121
       102: .line 177
            new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
            dup
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 0 /* this */
            aconst_null
       103: .line 178
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            iconst_1
       104: .line 177
            invokespecial org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)V
       105: .line 176
            astore 15 /* incrementContext */
       106: .line 179
            aload 13 /* actionInfo */
            astore 16 /* incrementInfo */
        start local 16 // org.eclipse.jdt.internal.compiler.flow.FlowInfo incrementInfo
       107: .line 180
            aload 0 /* this */
       108: .line 181
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 16 /* incrementInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
       109: .line 180
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
       110: .line 182
            iconst_0
            istore 17 /* i */
        start local 17 // int i
       111: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 18 /* count */
        start local 18 // int count
       112: goto 117
       113: .line 183
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.impl.Constant int int int int org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 17 /* i */
            aaload
       114: .line 184
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 15 /* incrementContext */
            aload 16 /* incrementInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
       115: .line 183
            astore 16 /* incrementInfo */
       116: .line 182
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
       117: iload 17 /* i */
            iload 18 /* count */
            if_icmplt 113
        end local 18 // int count
        end local 17 // int i
       118: .line 186
            aload 15 /* incrementContext */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
       119: .line 187
            aload 16 /* incrementInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            dup
            astore 13 /* actionInfo */
       120: .line 186
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredFinalChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        end local 16 // org.eclipse.jdt.internal.compiler.flow.FlowInfo incrementInfo
       121: .line 189
      StackMap locals:
      StackMap stack:
            aload 14 /* exitBranch */
            aload 13 /* actionInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
       122: .line 190
            aload 11 /* condInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
       123: .line 191
            goto 128
       124: .line 192
      StackMap locals:
      StackMap stack:
            aload 14 /* exitBranch */
            aload 11 /* condInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
       125: .line 193
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 128
       126: .line 194
            iload 4 /* initialComplaintLevel */
            ifne 128
       127: .line 195
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iconst_0
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.fakeReachable:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
       128: .line 200
      StackMap locals:
      StackMap stack:
            aload 10 /* condLoopContext */
            ifnull 132
       129: .line 201
            aload 10 /* condLoopContext */
            aload 1 /* currentScope */
       130: .line 202
            aload 13 /* actionInfo */
       131: .line 201
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredNullChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
       132: .line 204
      StackMap locals:
      StackMap stack:
            aload 12 /* loopingContext */
            aload 1 /* currentScope */
       133: .line 205
            aload 13 /* actionInfo */
       134: .line 204
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredNullChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
       135: .line 206
            aload 15 /* incrementContext */
            ifnull 139
       136: .line 207
            aload 15 /* incrementContext */
            aload 1 /* currentScope */
       137: .line 208
            aload 13 /* actionInfo */
       138: .line 207
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredNullChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
       139: .line 210
      StackMap locals:
      StackMap stack:
            aload 12 /* loopingContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.hasEscapingExceptions:()Z
            ifeq 144
       140: .line 211
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 16 /* loopbackFlowInfo */
        start local 16 // org.eclipse.jdt.internal.compiler.flow.FlowInfo loopbackFlowInfo
       141: .line 212
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            ifnull 143
       142: .line 214
            aload 16 /* loopbackFlowInfo */
            aload 16 /* loopbackFlowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            aload 13 /* actionInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 16 /* loopbackFlowInfo */
       143: .line 216
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 12 /* loopingContext */
            aload 16 /* loopbackFlowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.simulateThrowAfterLoopBack:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        end local 16 // org.eclipse.jdt.internal.compiler.flow.FlowInfo loopbackFlowInfo
       144: .line 220
      StackMap locals:
      StackMap stack:
            aload 12 /* loopingContext */
            getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
       145: .line 221
            iconst_3
       146: .line 220
            iand
            ifeq 148
       147: .line 222
            aload 12 /* loopingContext */
            getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            goto 149
       148: .line 223
      StackMap locals:
      StackMap stack:
            aload 3 /* flowInfo */
            aload 12 /* loopingContext */
            getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
       149: .line 224
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowInfo
            iload 8 /* isConditionOptimizedTrue */
       150: .line 225
            aload 14 /* exitBranch */
       151: .line 226
            iload 9 /* isConditionOptimizedFalse */
       152: .line 227
            iload 6 /* isConditionTrue */
            ifeq 153
            iconst_0
            goto 154
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.impl.Constant int int int int org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
      StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo int
       153: iconst_1
       154: .line 219
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.impl.Constant int int int int org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
      StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo int int
            invokestatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedOptimizedBranches:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ZLorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ZZ)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 16 /* mergedInfo */
        start local 16 // org.eclipse.jdt.internal.compiler.flow.FlowInfo mergedInfo
       155: .line 230
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 164
       156: .line 231
            iconst_0
            istore 17 /* i */
        start local 17 // int i
       157: goto 163
       158: .line 232
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 17 /* i */
            aaload
            astore 18 /* init */
        start local 18 // org.eclipse.jdt.internal.compiler.ast.Statement init
       159: .line 233
            aload 18 /* init */
            instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
            ifeq 162
       160: .line 234
            aload 18 /* init */
            checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            astore 19 /* binding */
        start local 19 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding binding
       161: .line 235
            aload 16 /* mergedInfo */
            aload 19 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.resetAssignmentInfo:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        end local 19 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding binding
        end local 18 // org.eclipse.jdt.internal.compiler.ast.Statement init
       162: .line 231
      StackMap locals:
      StackMap stack:
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
       163: iload 17 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            if_icmplt 158
        end local 17 // int i
       164: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 16 /* mergedInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
            putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
       165: .line 240
            aload 16 /* mergedInfo */
            areturn
        end local 16 // org.eclipse.jdt.internal.compiler.flow.FlowInfo mergedInfo
        end local 15 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext incrementContext
        end local 14 // org.eclipse.jdt.internal.compiler.flow.FlowInfo exitBranch
        end local 13 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo actionInfo
        end local 12 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext loopingContext
        end local 11 // org.eclipse.jdt.internal.compiler.flow.FlowInfo condInfo
        end local 10 // org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext condLoopContext
        end local 9 // boolean isConditionOptimizedFalse
        end local 8 // boolean isConditionOptimizedTrue
        end local 7 // boolean isConditionFalse
        end local 6 // boolean isConditionTrue
        end local 5 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        end local 4 // int initialComplaintLevel
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  166     0                       this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
            0  166     1               currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0  166     2                flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0  166     3                   flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            5  166     4      initialComplaintLevel  I
            7   12     5                          i  I
            8   12     6                      count  I
           18  166     5                        cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
           22  166     6            isConditionTrue  Z
           25  166     7           isConditionFalse  Z
           32  166     8   isConditionOptimizedTrue  Z
           35  166     9  isConditionOptimizedFalse  Z
           36  166    10            condLoopContext  Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
           37  166    11                   condInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           66   67    12             loopingContext  Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
           71  166    12             loopingContext  Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
           62   67    13                 actionInfo  Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
           77   78    13                 actionInfo  Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
           79  166    13                 actionInfo  Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
           72   98    14              initsWhenTrue  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           99  166    14                 exitBranch  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
          100  166    15           incrementContext  Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
          107  121    16              incrementInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
          111  118    17                          i  I
          112  118    18                      count  I
          141  144    16           loopbackFlowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
          155  166    16                 mergedInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
          157  164    17                          i  I
          159  162    18                       init  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
          161  162    19                    binding  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      

  public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
         0: .line 252
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
            ldc -2147483648
            iand
            ifne 2
         1: .line 253
            return
         2: .line 255
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 3 /* pc */
        start local 3 // int pc
         3: .line 258
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 10
         4: .line 259
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 5 /* max */
        start local 5 // int max
         6: goto 9
         7: .line 260
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 4 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
         8: .line 259
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 5 /* max */
            if_icmplt 7
        end local 5 // int max
        end local 4 // int i
        10: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnonnull 11
            aconst_null
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
        12: astore 4 /* cst */
        start local 4 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        13: .line 264
            aload 4 /* cst */
            ifnull 14
            aload 4 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 14
            aload 4 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 14
            iconst_1
            goto 15
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 5 /* isConditionOptimizedFalse */
        start local 5 // boolean isConditionOptimizedFalse
        16: .line 265
            iload 5 /* isConditionOptimizedFalse */
            ifeq 25
        17: .line 266
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* codeStream */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
        18: .line 268
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
            ldc 536870912
            iand
            ifeq 20
        19: .line 269
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.exitUserScope:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        20: .line 271
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
            iconst_m1
            if_icmpeq 23
        21: .line 272
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        22: .line 273
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        23: .line 275
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 3 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        24: .line 276
            return
        25: .line 280
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 6 /* actionLabel */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel actionLabel
        26: .line 281
            aload 6 /* actionLabel */
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
        27: .line 282
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 7 /* conditionLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel conditionLabel
        28: .line 283
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
        29: .line 284
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            ifnonnull 34
        30: .line 285
            aload 7 /* conditionLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        31: .line 286
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 43
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpne 43
        32: .line 287
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* codeStream */
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
        33: .line 289
            goto 43
        34: .line 290
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
        35: .line 292
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 43
        36: .line 293
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpne 43
        37: .line 294
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 38
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.isEmptyBlock:()Z
            ifeq 39
      StackMap locals:
      StackMap stack:
        38: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 43
        39: .line 295
      StackMap locals:
      StackMap stack:
            aload 7 /* conditionLabel */
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
        40: .line 296
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 8 /* jumpPC */
        start local 8 // int jumpPC
        41: .line 297
            aload 2 /* codeStream */
            aload 7 /* conditionLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        42: .line 298
            aload 2 /* codeStream */
            iload 8 /* jumpPC */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 8 // int jumpPC
        43: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 52
        44: .line 305
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
            iconst_m1
            if_icmpeq 49
        45: .line 307
            aload 2 /* codeStream */
        46: .line 308
            aload 1 /* currentScope */
        47: .line 309
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
        48: .line 307
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        49: .line 311
      StackMap locals:
      StackMap stack:
            aload 6 /* actionLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        50: .line 312
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
        51: .line 313
            goto 53
        52: .line 314
      StackMap locals:
      StackMap stack:
            aload 6 /* actionLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        53: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
            iconst_m1
            if_icmpeq 56
        54: .line 317
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        55: .line 318
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        56: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            ifnull 73
        57: .line 322
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        58: .line 324
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 65
        59: .line 325
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        60: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 9 /* max */
        start local 9 // int max
        61: goto 64
        62: .line 326
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
        63: .line 325
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        64: iload 8 /* i */
            iload 9 /* max */
            if_icmplt 62
        end local 9 // int max
        end local 8 // int i
        65: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
            iconst_m1
            if_icmpeq 67
        66: .line 331
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        67: .line 334
      StackMap locals:
      StackMap stack:
            aload 7 /* conditionLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        68: .line 335
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 71
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpne 71
        69: .line 336
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* codeStream */
            aload 6 /* actionLabel */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateOptimizedBoolean:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z)V
        70: .line 337
            goto 75
        71: .line 338
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 6 /* actionLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        72: .line 341
            goto 75
        73: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
            iconst_m1
            if_icmpeq 75
        74: .line 344
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        75: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
            ldc 536870912
            iand
            ifeq 77
        76: .line 351
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.exitUserScope:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        77: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
            iconst_m1
            if_icmpeq 80
        78: .line 354
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        79: .line 355
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
        80: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
        81: .line 358
            aload 2 /* codeStream */
            iload 3 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        82: .line 359
            return
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel conditionLabel
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel actionLabel
        end local 5 // boolean isConditionOptimizedFalse
        end local 4 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        end local 3 // int pc
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   83     0                       this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
            0   83     1               currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   83     2                 codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            3   83     3                         pc  I
            5   10     4                          i  I
            6   10     5                        max  I
           13   83     4                        cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
           16   83     5  isConditionOptimizedFalse  Z
           26   83     6                actionLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
           28   83     7             conditionLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
           41   43     8                     jumpPC  I
           60   65     8                          i  I
           61   65     9                        max  I
    MethodParameters:
              Name  Flags
      currentScope  
      codeStream    

  public java.lang.StringBuffer printStatement(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer output
         0: .line 364
            iload 1 /* tab */
            aload 2 /* output */
            invokestatic org.eclipse.jdt.internal.compiler.ast.ForStatement.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            ldc "for ("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 366
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 8
         2: .line 367
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 369
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            ifle 5
            aload 2 /* output */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 3 /* i */
            aaload
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         6: .line 367
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            if_icmplt 4
        end local 3 // int i
         8: .line 373
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            ldc "; "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 375
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 10
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        10: .line 376
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            ldc "; "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 378
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 18
        12: .line 379
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        13: goto 17
        14: .line 380
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            ifle 15
            aload 2 /* output */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 3 /* i */
            aaload
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        16: .line 379
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            if_icmplt 14
        end local 3 // int i
        18: .line 384
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            ldc ") "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 386
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnonnull 21
        20: .line 387
            aload 2 /* output */
            bipush 59
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 23
        21: .line 389
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 390
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 1 /* tab */
            iconst_1
            iadd
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        23: .line 392
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int tab
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
            0   24     1     tab  I
            0   24     2  output  Ljava/lang/StringBuffer;
            3    8     3       i  I
           13   18     3       i  I
    MethodParameters:
        Name  Flags
      tab     
      output  

  public void resolve(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope upperScope
         0: .line 399
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
            ldc 536870912
            iand
            ifeq 1
            new org.eclipse.jdt.internal.compiler.lookup.BlockScope
            dup
            aload 1 /* upperScope */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BlockScope.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
            goto 2
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.ForStatement
         1: aload 1 /* upperScope */
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.ForStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope
         2: putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
         3: .line 400
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 10
         4: .line 401
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         6: goto 9
         7: .line 402
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 2 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.resolve:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         8: .line 401
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 7
        end local 3 // int length
        end local 2 // int i
        10: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 13
        11: .line 404
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.resolveTypeExpecting:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* type */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        12: .line 405
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* type */
            aload 2 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        13: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 20
        14: .line 408
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        15: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 3 /* length */
        start local 3 // int length
        16: goto 19
        17: .line 409
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 2 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.resolve:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        18: .line 408
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 17
        end local 3 // int length
        end local 2 // int i
        20: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 22
        21: .line 411
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.resolve:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        22: .line 412
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope upperScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
            0   23     1  upperScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            5   10     2           i  I
            6   10     3      length  I
           12   13     2        type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           15   20     2           i  I
           16   20     3      length  I
    MethodParameters:
            Name  Flags
      upperScope  

  public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
         0: .line 419
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 19
         1: .line 420
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 8
         2: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 3 /* initializationsLength */
        start local 3 // int initializationsLength
         3: .line 422
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 423
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 4 /* i */
            aaload
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         6: .line 422
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* initializationsLength */
            if_icmplt 5
        end local 4 // int i
        end local 3 // int initializationsLength
         8: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 10
         9: .line 427
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        10: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 17
        11: .line 430
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 3 /* incrementsLength */
        start local 3 // int incrementsLength
        12: .line 431
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 16
        14: .line 432
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 4 /* i */
            aaload
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        15: .line 431
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            iload 3 /* incrementsLength */
            if_icmplt 14
        end local 4 // int i
        end local 3 // int incrementsLength
        17: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 19
        18: .line 436
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        19: .line 438
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        20: .line 439
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   21     0                   this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
            0   21     1                visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0   21     2             blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            3    8     3  initializationsLength  I
            4    8     4                      i  I
           12   17     3       incrementsLength  I
           13   17     4                      i  I
    MethodParameters:
            Name  Flags
      visitor     
      blockScope  

  public boolean doesNotCompleteNormally();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
         0: .line 443
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
         2: astore 1 /* cst */
        start local 1 // org.eclipse.jdt.internal.compiler.impl.Constant cst
         3: .line 444
            aload 1 /* cst */
            ifnull 5
            aload 1 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 4
            aload 1 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 5
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
         4: iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 2 /* isConditionTrue */
        start local 2 // boolean isConditionTrue
         7: .line 445
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnonnull 8
            aconst_null
            goto 9
      StackMap locals: int
      StackMap stack:
         8: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.Constant
         9: astore 1 /* cst */
        10: .line 446
            aload 1 /* cst */
            ifnonnull 11
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 1 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 12
            aload 1 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 3 /* isConditionOptimizedTrue */
        start local 3 // boolean isConditionOptimizedTrue
        14: .line 448
            iload 2 /* isConditionTrue */
            ifne 15
            iload 3 /* isConditionOptimizedTrue */
            ifeq 17
      StackMap locals: int
      StackMap stack:
        15: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 16
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.breaksOut:([C)Z
            ifne 17
      StackMap locals:
      StackMap stack:
        16: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        17: iconst_0
            ireturn
        end local 3 // boolean isConditionOptimizedTrue
        end local 2 // boolean isConditionTrue
        end local 1 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   18     0                      this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
            3   18     1                       cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            7   18     2           isConditionTrue  Z
           14   18     3  isConditionOptimizedTrue  Z

  public boolean completesByContinue();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
         0: .line 453
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.continuesAtOuterLabel:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.ForStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
}
SourceFile: "ForStatement.java"