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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial org.eclipse.jdt.internal.compiler.ast.Statement.<init>:()V
1: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
2: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
3: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
4: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
5: aload 0
iload 6
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceStart:I
6: aload 0
iload 7
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceEnd:I
7: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
8: aload 0
aload 2
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
9: aload 0
aload 3
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
10: aload 0
aload 4
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
11: aload 4
instanceof org.eclipse.jdt.internal.compiler.ast.EmptyStatement
ifeq 12
aload 4
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: 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
ifeq 14
13: aload 0
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: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
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: aload 0
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: aload 3
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
start local 4 5: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 12
6: iconst_0
istore 5
start local 5 7: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 6
start local 6 8: goto 11
9: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
aload 3
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
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 6
if_icmplt 9
end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 0
13: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
14: putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
15: aload 0
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
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
start local 5 18: aload 5
ifnull 20
aload 5
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 19
aload 5
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
start local 6 22: aload 5
ifnull 23
aload 5
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 23
aload 5
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
start local 7 25: aload 0
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
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
28: aload 5
ifnull 30
aload 5
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 29
aload 5
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
start local 8 32: aload 5
ifnull 33
aload 5
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 33
aload 5
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
start local 9 35: aconst_null
astore 10
start local 10 36: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullInfoLessUnconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 11
start local 11 37: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
ifnull 49
38: iload 6
ifne 49
39: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
40: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
41: new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
dup
aload 2
aload 3
aload 0
aconst_null
42: aconst_null
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iconst_1
43: 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: dup
astore 10
45: aload 11
46: 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: astore 11
48: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 2
aload 3
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: StackMap locals: int org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 51
50: aload 0
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
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: StackMap locals:
StackMap stack:
aload 10
ifnull 53
52: aload 10
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 11
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: StackMap locals:
StackMap stack:
iload 6
ifeq 59
54: aload 10
ifnull 58
55: aload 10
aload 1
56: aload 11
57: 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: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
areturn
59: StackMap locals:
StackMap stack:
iload 7
ifeq 61
60: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
61: StackMap locals:
StackMap stack:
aload 11
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
start local 13 62: new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
dup
aload 2
aload 3
aload 0
63: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iconst_0
64: 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: astore 12
start local 12 66: goto 98
end local 13 end local 12 67: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
dup
aload 2
aload 3
aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
68: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iconst_1
69: 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: astore 12
start local 12 71: aload 11
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 14
start local 14 72: aload 0
73: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 14
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
74: putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
75: iload 7
ifeq 78
76: getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 13
start local 13 77: goto 81
end local 13 78: 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
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 13
start local 13 79: iload 9
ifeq 81
80: aload 13
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
81: 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
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
aload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iload 4
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 12
aload 13
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
83: StackMap locals:
StackMap stack:
aload 13
getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
84: aload 12
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: iand
86: iconst_1
87: iand
ifeq 90
88: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
89: goto 98
90: StackMap locals:
StackMap stack:
aload 10
ifnull 94
91: aload 10
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
92: aload 11
93: 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: StackMap locals:
StackMap stack:
aload 13
aload 12
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
95: aload 12
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
96: aload 13
97: 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 98: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 14
start local 14 99: aconst_null
astore 15
start local 15 100: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnull 124
101: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 121
102: new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
dup
aload 2
aload 3
aload 0
aconst_null
103: aconst_null
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iconst_1
104: 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: astore 15
106: aload 13
astore 16
start local 16 107: aload 0
108: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 16
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
109: putfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
110: iconst_0
istore 17
start local 17 111: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 18
start local 18 112: goto 117
113: 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
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 17
aaload
114: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 15
aload 16
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: astore 16
116: iinc 17 1
StackMap locals:
StackMap stack:
117: iload 17
iload 18
if_icmplt 113
end local 18 end local 17 118: aload 15
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
119: aload 16
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
dup
astore 13
120: 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 121: StackMap locals:
StackMap stack:
aload 14
aload 13
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
122: aload 11
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: goto 128
124: StackMap locals:
StackMap stack:
aload 14
aload 11
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 128
126: iload 4
ifne 128
127: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
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: StackMap locals:
StackMap stack:
aload 10
ifnull 132
129: aload 10
aload 1
130: aload 13
131: 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: StackMap locals:
StackMap stack:
aload 12
aload 1
133: aload 13
134: 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: aload 15
ifnull 139
136: aload 15
aload 1
137: aload 13
138: 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: StackMap locals:
StackMap stack:
aload 12
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.hasEscapingExceptions:()Z
ifeq 144
140: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 16
start local 16 141: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnull 143
142: aload 16
aload 16
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aload 13
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
143: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 12
aload 16
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.simulateThrowAfterLoopBack:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
end local 16 144: StackMap locals:
StackMap stack:
aload 12
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: iconst_3
146: iand
ifeq 148
147: aload 12
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
goto 149
148: StackMap locals:
StackMap stack:
aload 3
aload 12
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: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowInfo
iload 8
150: aload 14
151: iload 9
152: iload 6
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: 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
start local 16 155: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 164
156: iconst_0
istore 17
start local 17 157: goto 163
158: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 17
aaload
astore 18
start local 18 159: aload 18
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 162
160: aload 18
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
start local 19 161: aload 16
aload 19
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.resetAssignmentInfo:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
end local 19 end local 18 162: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
163: iload 17
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
if_icmplt 158
end local 17 164: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 16
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: aload 16
areturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
ldc -2147483648
iand
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 3
start local 3 3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 10
4: iconst_0
istore 4
start local 4 5: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 5
start local 5 6: goto 9
7: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 4
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
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: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 7
end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 0
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
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
start local 4 13: aload 4
ifnull 14
aload 4
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 14
aload 4
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
start local 5 16: iload 5
ifeq 25
17: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
ldc 536870912
iand
ifeq 20
19: aload 2
aload 0
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: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
iconst_m1
if_icmpeq 23
21: aload 2
aload 1
aload 0
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: aload 2
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 2
iload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
24: return
25: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 6
start local 6 26: aload 6
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: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 7
start local 7 28: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
29: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnonnull 34
30: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
31: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
ifnull 43
aload 0
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
aconst_null
aload 0
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: goto 43
34: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
35: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
ifnull 43
36: aload 0
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 38
aload 0
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
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 43
39: StackMap locals:
StackMap stack:
aload 7
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: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 8
start local 8 41: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
42: aload 2
iload 8
aload 0
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 43: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 52
44: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
iconst_m1
if_icmpeq 49
45: aload 2
46: aload 1
47: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condIfTrueInitStateIndex:I
48: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
49: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
50: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
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: goto 53
52: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
53: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preIncrementsInitStateIndex:I
iconst_m1
if_icmpeq 56
54: aload 2
aload 1
aload 0
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: aload 2
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnull 73
57: aload 0
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 65
59: iconst_0
istore 8
start local 8 60: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 9
start local 9 61: goto 64
62: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 8
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
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: iinc 8 1
StackMap locals:
StackMap stack:
64: iload 8
iload 9
if_icmplt 62
end local 9 end local 8 65: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
iconst_m1
if_icmpeq 67
66: aload 2
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
68: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
ifnull 71
aload 0
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
aload 6
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: goto 75
71: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
72: goto 75
73: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.preCondInitStateIndex:I
iconst_m1
if_icmpeq 75
74: aload 2
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.bits:I
ldc 536870912
iand
ifeq 77
76: aload 2
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.mergedInitStateIndex:I
iconst_m1
if_icmpeq 80
78: aload 2
aload 1
aload 0
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: aload 2
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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: aload 2
iload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
82: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: iload 1
aload 2
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 8
2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: int
StackMap stack:
iload 3
ifle 5
aload 2
ldc ", "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 3
aaload
iconst_0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
if_icmplt 4
end local 3 8: StackMap locals:
StackMap stack:
aload 2
ldc "; "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
ifnull 10
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
iconst_0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
10: StackMap locals:
StackMap stack:
aload 2
ldc "; "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
11: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 18
12: iconst_0
istore 3
start local 3 13: goto 17
14: StackMap locals: int
StackMap stack:
iload 3
ifle 15
aload 2
ldc ", "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
15: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 3
aaload
iconst_0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
16: iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
if_icmplt 14
end local 3 18: StackMap locals:
StackMap stack:
aload 2
ldc ") "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
19: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnonnull 21
20: aload 2
bipush 59
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
goto 23
21: StackMap locals:
StackMap stack:
aload 2
bipush 10
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
22: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 1
iconst_1
iadd
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
23: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 0
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
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
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 10
4: iconst_0
istore 2
start local 2 5: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 3
start local 3 6: goto 9
7: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 2
aaload
aload 0
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: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 3
if_icmplt 7
end local 3 end local 2 10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
ifnull 13
11: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 0
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
start local 2 12: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
aload 2
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 13: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 20
14: iconst_0
istore 2
start local 2 15: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 3
start local 3 16: goto 19
17: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 2
aaload
aload 0
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: iinc 2 1
StackMap locals:
StackMap stack:
19: iload 2
iload 3
if_icmplt 17
end local 3 end local 2 20: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 22
21: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
aload 0
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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 start local 2 0: aload 1
aload 0
aload 2
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: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 8
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.initializations:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 4
aaload
aload 1
aload 0
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: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 5
end local 4 end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
ifnull 10
9: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.condition:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 17
11: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 3
start local 3 12: iconst_0
istore 4
start local 4 13: goto 16
14: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.increments:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 4
aaload
aload 1
aload 0
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: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 3
if_icmplt 14
end local 4 end local 3 17: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 19
18: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
20: return
end local 2 end local 1 end local 0 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 0: aload 0
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
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
start local 1 3: aload 1
ifnull 5
aload 1
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 4
aload 1
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
start local 2 7: aload 0
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
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
10: aload 1
ifnonnull 11
iconst_1
goto 13
StackMap locals:
StackMap stack:
11: aload 1
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
if_acmpeq 12
aload 1
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
start local 3 14: iload 2
ifne 15
iload 3
ifeq 17
StackMap locals: int
StackMap stack:
15: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.ForStatement.action:Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnull 16
aload 0
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 end local 2 end local 1 end local 0 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 0: aload 0
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 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/ast/ForStatement;
}
SourceFile: "ForStatement.java"