public class org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext extends org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
super_class: org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext
{
public org.eclipse.jdt.internal.compiler.codegen.BranchLabel continueLabel;
descriptor: Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo initsOnContinue;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0001) ACC_PUBLIC
private org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo upstreamNullFlowInfo;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext[] innerFlowContexts;
descriptor: [Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo[] innerFlowInfos;
descriptor: [Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0002) ACC_PRIVATE
private int innerFlowContextsCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.flow.LabelFlowContext[] breakTargetContexts;
descriptor: [Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
flags: (0x0002) ACC_PRIVATE
private int breakTargetsCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
org.eclipse.jdt.internal.compiler.ast.Reference[] finalAssignments;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Reference;
flags: (0x0000)
org.eclipse.jdt.internal.compiler.lookup.VariableBinding[] finalVariables;
descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
flags: (0x0000)
int assignCount;
descriptor: I
flags: (0x0000)
org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding[] nullLocals;
descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
flags: (0x0000)
org.eclipse.jdt.internal.compiler.ast.ASTNode[] nullReferences;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
flags: (0x0000)
int[] nullCheckTypes;
descriptor: [I
flags: (0x0000)
org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo[] nullInfos;
descriptor: [Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0000)
int nullCount;
descriptor: I
flags: (0x0000)
private java.util.ArrayList escapingExceptionCatchSites;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
org.eclipse.jdt.internal.compiler.lookup.Scope associatedScope;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
flags: (0x0000)
public void <init>(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, org.eclipse.jdt.internal.compiler.lookup.Scope, boolean);
descriptor: (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
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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
aload 1
aload 3
aload 4
iload 7
iconst_0
invokespecial org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;ZZ)V
1: aload 0
getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
2: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
3: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
4: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContextsCount:I
5: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
6: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetsCount:I
7: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
8: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
9: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.tagBits:I
iconst_2
ior
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.tagBits:I
10: aload 0
aload 5
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
11: aload 0
aload 6
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.associatedScope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
12: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.upstreamNullFlowInfo:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
13: 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 14 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 14 1 parent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 14 2 upstreamNullFlowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 14 3 associatedNode Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 14 4 breakLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 14 5 continueLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 14 6 associatedScope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 14 7 isPreTest Z
MethodParameters:
Name Flags
parent
upstreamNullFlowInfo
associatedNode
breakLabel
continueLabel
associatedScope
isPreTest
public void complainOnDeferredFinalChecks(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 28
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
iload 3
aaload
astore 4
start local 4 3: aload 4
ifnonnull 4
goto 27
4: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.VariableBinding
StackMap stack:
iconst_0
istore 5
start local 5 5: aload 4
instanceof org.eclipse.jdt.internal.compiler.lookup.FieldBinding
ifeq 13
6: aload 2
aload 4
checkcast org.eclipse.jdt.internal.compiler.lookup.FieldBinding
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyAssigned:(Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;)Z
ifeq 21
7: iconst_1
istore 5
8: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
9: aload 4
checkcast org.eclipse.jdt.internal.compiler.lookup.FieldBinding
10: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 3
aaload
11: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.duplicateInitializationOfBlankFinalField:(Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;Lorg/eclipse/jdt/internal/compiler/ast/Reference;)V
12: goto 21
13: StackMap locals: int
StackMap stack:
aload 2
aload 4
checkcast org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyAssigned:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 21
14: aload 4
dup
getfield org.eclipse.jdt.internal.compiler.lookup.VariableBinding.tagBits:J
ldc -2049
land
putfield org.eclipse.jdt.internal.compiler.lookup.VariableBinding.tagBits:J
15: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.VariableBinding.isFinal:()Z
ifeq 21
16: iconst_1
istore 5
17: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
18: aload 4
checkcast org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
19: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 3
aaload
20: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.duplicateInitializationOfFinalLocal:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
21: StackMap locals:
StackMap stack:
iload 5
ifeq 27
22: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 6
start local 6 23: goto 26
24: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 3
aaload
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.removeFinalAssignmentIfAny:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;)V
25: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 6
26: StackMap locals:
StackMap stack:
aload 6
ifnonnull 24
end local 6 end local 5 end local 4 27: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
28: iload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
if_icmplt 2
end local 3 29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 30 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 30 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
1 29 3 i I
3 27 4 variable Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
5 27 5 complained Z
23 27 6 context Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
MethodParameters:
Name Flags
scope
flowInfo
public void complainOnDeferredNullChecks(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.complainOnDeferredNullChecks:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 2 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 2 2 callerFlowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
scope
callerFlowInfo
public void complainOnDeferredNullChecks(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowInfo, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.upstreamNullFlowInfo:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
3: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
iload 4
aaload
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.upstreamNullFlowInfo:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
4: invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
5: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 4
aaload
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
pop
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContextsCount:I
if_icmplt 2
end local 4 8: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContextsCount:I
9: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.upstreamNullFlowInfo:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
start local 4 10: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.upstreamNullFlowInfo:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
11: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInitsWithoutSideEffect:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
12: astore 5
start local 5 13: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.tagBits:I
iconst_1
iand
ifeq 104
14: iconst_0
istore 6
start local 6 15: goto 102
16: StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullLocals:[Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iload 6
aaload
astore 7
start local 7 17: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aaload
astore 8
start local 8 18: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 6
aaload
ifnull 20
19: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 6
aaload
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
goto 21
20: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.ast.ASTNode
StackMap stack:
aload 5
21: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowInfo
astore 9
start local 9 22: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61441
iand
lookupswitch { // 12
3: 78
16: 95
128: 82
256: 31
257: 47
258: 23
512: 31
513: 47
514: 23
769: 47
1025: 47
2048: 86
default: 97
}
23: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 97
24: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
25: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61441
iand
sipush 514
if_icmpne 29
26: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 4096
iand
ifne 101
27: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
28: goto 101
29: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNonNullComparedToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
30: goto 101
31: StackMap locals:
StackMap stack:
aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 39
32: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
33: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61441
iand
sipush 512
if_icmpne 37
34: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 4096
iand
ifne 101
35: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
36: goto 101
37: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNonNullComparedToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
38: goto 101
39: StackMap locals:
StackMap stack:
aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 97
40: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
41: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61441
iand
sipush 256
if_icmpne 45
42: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 4096
iand
ifne 101
43: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
44: goto 101
45: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullComparedToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
46: goto 101
47: StackMap locals:
StackMap stack:
aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
astore 10
start local 10 48: aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 67
49: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
50: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61696
iand
lookupswitch { // 4
256: 51
512: 57
768: 62
1024: 64
default: 66
}
51: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 54
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 54
52: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
53: goto 101
54: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 4096
iand
ifne 101
55: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
56: goto 101
57: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 60
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 60
58: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
59: goto 101
60: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullComparedToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
61: goto 101
62: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantNullAssignment:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
63: goto 101
64: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullInstanceof:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
65: goto 101
66: StackMap locals:
StackMap stack:
goto 97
StackMap locals:
StackMap stack:
67: aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 97
68: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61696
iand
lookupswitch { // 2
256: 69
512: 73
default: 77
}
69: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
70: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 97
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 97
71: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
72: goto 101
73: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
74: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 97
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 97
75: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
76: goto 101
77: StackMap locals:
StackMap stack:
goto 97
end local 10 78: StackMap locals:
StackMap stack:
aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 97
79: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
80: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
81: goto 101
82: StackMap locals:
StackMap stack:
aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)I
istore 11
start local 11 83: iload 11
iconst_4
if_icmpeq 101
84: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
aload 1
aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 6
aaload
iconst_0
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 6
aaload
iconst_1
aaload
aload 9
iload 11
aconst_null
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordNullityMismatch:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ILorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;)V
85: goto 101
end local 11 86: StackMap locals:
StackMap stack:
aload 7
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.closeTracker:Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
astore 12
start local 12 87: aload 12
ifnull 97
88: aload 12
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.hasDefinitelyNoResource:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Z
ifeq 90
89: goto 101
90: StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo int org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo top top org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable
StackMap stack:
aload 12
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.isClosedInFinallyOfEnclosing:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
ifeq 92
91: goto 101
92: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
aload 1
aload 9
aload 12
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordExitAgainstResource:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)Z
ifeq 97
93: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
94: goto 101
end local 12 95: StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo int org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 0
aload 1
aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.checkUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
96: goto 101
97: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
iconst_3
if_icmpne 98
aload 4
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifne 101
98: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
aload 1
aload 7
aload 8
99: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
aload 9
100: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUsingNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
end local 9 end local 8 end local 7 101: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
102: iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
if_icmplt 16
end local 6 103: goto 183
104: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 105: goto 182
106: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aaload
astore 7
start local 7 107: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullLocals:[Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iload 6
aaload
astore 8
start local 8 108: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 6
aaload
ifnull 110
109: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 6
aaload
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
goto 111
110: StackMap locals: org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
aload 5
111: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowInfo
astore 9
start local 9 112: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61441
iand
lookupswitch { // 10
3: 152
16: 180
128: 160
256: 113
257: 121
512: 113
513: 121
769: 121
1025: 121
2048: 165
default: 181
}
113: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 9
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 121
114: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
115: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61441
iand
sipush 512
if_icmpne 119
116: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 4096
iand
ifne 181
117: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
118: goto 181
119: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNonNullComparedToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
120: goto 181
121: StackMap locals:
StackMap stack:
aload 7
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
astore 10
start local 10 122: aload 9
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 141
123: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
124: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61696
iand
lookupswitch { // 4
256: 125
512: 131
768: 136
1024: 138
default: 140
}
125: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 128
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 128
126: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
127: goto 181
128: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 4096
iand
ifne 181
129: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
130: goto 181
131: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 134
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 134
132: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
133: goto 181
134: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullComparedToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
135: goto 181
136: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantNullAssignment:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
137: goto 181
138: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullInstanceof:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
139: goto 181
140: StackMap locals:
StackMap stack:
goto 181
StackMap locals:
StackMap stack:
141: aload 9
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 181
142: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
ldc -61696
iand
lookupswitch { // 2
256: 143
512: 147
default: 151
}
143: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
144: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 181
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 181
145: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
146: goto 181
147: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
148: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iload 6
iaload
sipush 255
iand
ldc -61441
iand
iconst_1
if_icmpne 181
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 181
149: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
150: goto 181
151: StackMap locals:
StackMap stack:
goto 181
end local 10 152: StackMap locals:
StackMap stack:
aload 9
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 156
153: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
154: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
155: goto 181
156: StackMap locals:
StackMap stack:
aload 9
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 181
157: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
158: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
159: goto 181
160: StackMap locals:
StackMap stack:
aload 9
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)I
istore 11
start local 11 161: iload 11
iconst_4
if_icmpeq 181
162: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNonNullAnnotationName:()[[C
astore 12
start local 12 163: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 6
aaload
iconst_0
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 6
aaload
iconst_1
aaload
iload 11
aload 12
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullityMismatch:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I[[C)V
end local 12 164: goto 181
end local 11 165: StackMap locals:
StackMap stack:
aload 9
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)I
istore 11
start local 11 166: iload 11
iconst_4
if_icmpeq 181
167: aload 8
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.closeTracker:Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
astore 12
start local 12 168: aload 12
ifnull 181
169: aload 12
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.hasDefinitelyNoResource:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Z
ifeq 171
170: goto 181
171: StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo int org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo top int org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable
StackMap stack:
aload 12
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.isClosedInFinallyOfEnclosing:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
ifeq 173
172: goto 181
173: StackMap locals:
StackMap stack:
aload 12
aload 9
aload 1
aconst_null
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.findMostSpecificStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)I
istore 11
174: aload 12
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aaload
iload 11
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.recordErrorLocation:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;I)V
175: aload 12
aload 1
iload 11
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.reachMode:()I
ifeq 176
iconst_1
goto 177
StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo int org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo top int org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable
StackMap stack: org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable org.eclipse.jdt.internal.compiler.lookup.BlockScope int
176: iconst_0
StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo int org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo top int org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable
StackMap stack: org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable org.eclipse.jdt.internal.compiler.lookup.BlockScope int int
177: invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.reportRecordedErrors:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;IZ)Z
pop
178: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iload 6
aconst_null
aastore
179: goto 181
end local 12 end local 11 180: StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo int org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 0
aload 1
aload 7
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.checkUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
end local 9 end local 8 end local 7 181: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
182: iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
if_icmplt 106
end local 6 183: StackMap locals:
StackMap stack:
iload 3
ifeq 190
184: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
pop
185: iconst_0
istore 6
start local 6 186: goto 189
187: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
iload 6
aaload
getfield org.eclipse.jdt.internal.compiler.flow.LabelFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
pop
188: iinc 6 1
StackMap locals:
StackMap stack:
189: iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetsCount:I
if_icmplt 187
end local 6 190: StackMap locals:
StackMap stack:
return
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 191 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 191 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 191 2 callerFlowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 191 3 updateInitsOnBreak Z
1 8 4 i I
10 191 4 upstreamCopy Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
13 191 5 incomingInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
15 103 6 i I
17 101 7 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
18 101 8 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
22 101 9 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
48 78 10 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
83 86 11 nullStatus I
87 95 12 trackingVar Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
105 183 6 i I
107 181 7 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
108 181 8 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
112 181 9 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
122 152 10 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
161 165 11 nullStatus I
166 180 11 nullStatus I
163 164 12 annotationName [[C
168 180 12 closeTracker Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
186 190 6 i I
MethodParameters:
Name Flags
scope
callerFlowInfo
updateInitsOnBreak
public org.eclipse.jdt.internal.compiler.codegen.BranchLabel continueLabel();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.continueLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
public java.lang.String individualToString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
ldc "Looping flow context"
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
ldc "[initsOnBreak - "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: aload 1
ldc "[initsOnContinue - "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
3: aload 1
ldc "[finalAssignments count - "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: aload 1
ldc "[nullReferences count - "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
5: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
1 6 1 buffer Ljava/lang/StringBuffer;
public boolean isContinuable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
public boolean isContinuedTo();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
public void recordBreakTo(org.eclipse.jdt.internal.compiler.flow.FlowContext);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.eclipse.jdt.internal.compiler.flow.LabelFlowContext
ifeq 8
1: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetsCount:I
dup_x1
iconst_1
iadd
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetsCount:I
dup
istore 2
start local 2 2: ifne 5
3: aload 0
iconst_2
anewarray org.eclipse.jdt.internal.compiler.flow.LabelFlowContext
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
4: goto 7
StackMap locals: int
StackMap stack:
5: iload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
arraylength
if_icmpne 7
6: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
iconst_0
aload 0
iload 2
iconst_2
iadd
anewarray org.eclipse.jdt.internal.compiler.flow.LabelFlowContext
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.breakTargetContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LabelFlowContext;
iload 2
aload 1
checkcast org.eclipse.jdt.internal.compiler.flow.LabelFlowContext
aastore
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 9 1 targetContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 8 2 current I
MethodParameters:
Name Flags
targetContext
public void recordContinueFrom(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_1
iand
ifne 36
1: aload 0
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
iconst_1
iand
ifne 6
2: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
3: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInitsWithoutSideEffect:()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;
4: putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.initsOnContinue:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
7: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 8: goto 10
9: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 3
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 3
10: StackMap locals:
StackMap stack:
aload 3
aload 0
if_acmpeq 11
aload 3
instanceof org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
ifeq 9
11: StackMap locals:
StackMap stack:
aload 3
aload 0
if_acmpne 16
12: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.upstreamNullFlowInfo:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
13: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInitsWithoutSideEffect:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
14: invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
pop
15: goto 36
16: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 17: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
ifnonnull 21
18: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
19: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
20: goto 32
21: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContextsCount:I
22: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
arraylength
dup
istore 4
iconst_1
isub
23: if_icmpne 32
24: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
iconst_0
25: aload 0
iload 4
iconst_5
iadd
anewarray org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
26: iconst_0
iload 4
27: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
28: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iconst_0
29: aload 0
iload 4
iconst_5
iadd
anewarray org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
30: iconst_0
iload 4
31: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
32: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContexts:[Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContextsCount:I
aload 3
checkcast org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
aastore
33: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aload 0
dup
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContextsCount:I
dup_x1
iconst_1
iadd
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.innerFlowContextsCount:I
34: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInitsWithoutSideEffect:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
35: aastore
end local 4 end local 3 36: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 37 1 innerFlowContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 37 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
8 36 3 inner Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
17 36 4 length I
MethodParameters:
Name Flags
innerFlowContext
flowInfo
protected boolean recordFinalAssignment(org.eclipse.jdt.internal.compiler.lookup.VariableBinding, org.eclipse.jdt.internal.compiler.ast.Reference);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
ifeq 6
1: aload 1
checkcast org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.declaringScope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
astore 3
start local 3 2: goto 5
3: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope
StackMap stack:
aload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.associatedScope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
if_acmpne 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 3
getfield org.eclipse.jdt.internal.compiler.lookup.Scope.parent:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
dup
astore 3
ifnonnull 3
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
ifne 10
7: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.ast.Reference
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
8: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.lookup.VariableBinding
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
9: goto 23
10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
arraylength
if_icmpne 17
11: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
12: iconst_0
13: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
iconst_2
imul
anewarray org.eclipse.jdt.internal.compiler.ast.Reference
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
14: iconst_0
15: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
16: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
18: iconst_0
19: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
iconst_2
imul
anewarray org.eclipse.jdt.internal.compiler.lookup.VariableBinding
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
20: iconst_0
21: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
22: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
aload 2
aastore
24: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
aload 0
dup
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
dup_x1
iconst_1
iadd
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
aload 1
aastore
25: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 26 1 binding Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
0 26 2 finalAssignment Lorg/eclipse/jdt/internal/compiler/ast/Reference;
2 6 3 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
MethodParameters:
Name Flags
binding
finalAssignment
protected void recordNullReference(org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, int, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
ifne 6
1: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullLocals:[Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
2: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.ast.ASTNode
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
3: aload 0
iconst_5
newarray 10
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
4: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
5: goto 19
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullLocals:[Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
arraylength
if_icmpne 19
7: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullLocals:[Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
8: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
iconst_2
imul
anewarray org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullLocals:[Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
9: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iconst_0
11: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
iconst_2
imul
anewarray org.eclipse.jdt.internal.compiler.ast.ASTNode
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
12: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iconst_0
14: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
iconst_2
imul
newarray 10
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
15: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iconst_0
17: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
iconst_2
imul
anewarray org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
18: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullLocals:[Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
aload 1
aastore
20: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullReferences:[Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
aload 2
aastore
21: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCheckTypes:[I
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
iload 3
iastore
22: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullInfos:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aload 0
dup
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
dup_x1
iconst_1
iadd
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
aload 4
ifnull 23
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
goto 24
StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.ast.ASTNode int org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack: org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo[] int
23: aconst_null
StackMap locals: org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.ast.ASTNode int org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack: org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo[] int org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
24: aastore
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 26 1 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
0 26 2 expression Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 26 3 checkType I
0 26 4 nullInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
local
expression
checkType
nullInfo
public void recordUnboxing(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.Expression, int, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iconst_2
if_icmpne 2
1: aload 0
aload 1
aload 2
iload 3
aload 4
invokespecial org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.recordUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 2
bipush 16
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
3: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 4 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 4 2 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 4 3 nullStatus I
0 4 4 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
scope
expression
nullStatus
flowInfo
public boolean recordExitAgainstResource(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable, org.eclipse.jdt.internal.compiler.ast.ASTNode);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
getfield org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 5
start local 5 1: aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 6
4: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 3
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unclosedCloseable:(Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 9
7: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 3
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.potentiallyUnclosedCloseable:(Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
aload 4
sipush 2048
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
10: iconst_1
ireturn
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 11 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 11 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 11 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 11 3 trackingVar Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
0 11 4 reference Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
1 11 5 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
MethodParameters:
Name Flags
scope
flowInfo
trackingVar
reference
public void recordUsingNullReference(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, int, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_3
iand
ifne 2
1: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyUnknown:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.tagBits:I
sipush 4096
iand
ior
istore 4
4: iload 4
ldc -61441
iand
istore 6
start local 6 5: iload 6
lookupswitch { // 7
3: 74
256: 6
257: 39
512: 6
513: 39
769: 39
1025: 39
default: 84
}
6: StackMap locals: int
StackMap stack:
aload 3
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
astore 7
start local 7 7: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 16
8: iload 6
sipush 512
if_icmpne 13
9: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.tagBits:I
sipush 4096
iand
ifne 11
10: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
11: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
StackMap stack:
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
12: goto 38
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNonNullComparedToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
14: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
15: goto 38
StackMap locals:
StackMap stack:
16: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 25
17: iload 6
sipush 256
if_icmpne 22
18: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.tagBits:I
sipush 4096
iand
ifne 20
19: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
20: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
21: goto 38
22: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullComparedToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
23: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
24: goto 38
StackMap locals:
StackMap stack:
25: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.upstreamNullFlowInfo:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 29
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifne 29
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyUnknown:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifne 29
26: aload 0
aload 2
aload 7
iload 4
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
27: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
28: goto 38
StackMap locals:
StackMap stack:
29: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.cannotBeDefinitelyNullOrNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 31
30: return
31: StackMap locals:
StackMap stack:
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 34
32: aload 0
aload 2
aload 7
iconst_2
iload 4
sipush -256
iand
ior
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
33: goto 38
StackMap locals:
StackMap stack:
34: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 37
35: aload 0
aload 2
aload 7
iconst_1
iload 4
sipush -256
iand
ior
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
36: goto 38
37: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 7
iload 4
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
38: StackMap locals:
StackMap stack:
return
end local 7 39: StackMap locals:
StackMap stack:
aload 3
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
astore 7
start local 7 40: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifne 43
41: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyUnknown:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifne 43
42: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isProtectedNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 44
43: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
StackMap stack:
return
44: StackMap locals:
StackMap stack:
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 64
45: iload 6
ldc -61696
iand
lookupswitch { // 4
256: 46
512: 53
768: 59
1024: 61
default: 63
}
46: StackMap locals:
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 49
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 49
47: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
48: return
49: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.tagBits:I
sipush 4096
iand
ifne 51
50: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantCheckOnNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
51: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
52: return
53: StackMap locals:
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 56
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 56
54: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
55: return
56: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullComparedToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
57: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
iconst_2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
58: return
59: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableRedundantNullAssignment:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
60: return
61: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullInstanceof:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
62: return
63: StackMap locals:
StackMap stack:
goto 72
StackMap locals:
StackMap stack:
64: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 72
65: iload 6
ldc -61696
iand
lookupswitch { // 2
256: 66
512: 69
default: 72
}
66: StackMap locals:
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 72
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 72
67: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
68: return
69: StackMap locals:
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 72
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 72
70: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
71: return
72: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 7
iload 4
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
73: return
end local 7 74: StackMap locals:
StackMap stack:
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 76
75: return
76: StackMap locals:
StackMap stack:
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 79
77: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
78: return
79: StackMap locals:
StackMap stack:
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 82
80: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariablePotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
81: return
82: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
iload 4
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
83: return
84: StackMap locals:
StackMap stack:
return
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 85 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 85 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 85 2 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
0 85 3 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 85 4 checkType I
0 85 5 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
5 85 6 checkTypeWithoutHideNullWarning I
7 39 7 reference Lorg/eclipse/jdt/internal/compiler/ast/Expression;
40 74 7 reference Lorg/eclipse/jdt/internal/compiler/ast/Expression;
MethodParameters:
Name Flags
scope
local
location
checkType
flowInfo
void removeFinalAssignmentIfAny(org.eclipse.jdt.internal.compiler.ast.Reference);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Reference;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 2
aaload
aload 1
if_acmpne 6
3: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalAssignments:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 2
aconst_null
aastore
4: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.finalVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
iload 2
aconst_null
aastore
5: return
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.assignCount:I
if_icmplt 2
end local 2 8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 9 1 reference Lorg/eclipse/jdt/internal/compiler/ast/Reference;
1 8 2 i I
MethodParameters:
Name Flags
reference
public void simulateThrowAfterLoopBack(org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
ifnull 8
1: iconst_0
istore 2
start local 2 2: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext$EscapingExceptionCatchSite
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext$EscapingExceptionCatchSite.simulateThrowAfterLoopBack:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 4
end local 3 end local 2 7: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 9 1 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
2 7 2 i I
3 7 3 exceptionCount I
MethodParameters:
Name Flags
flowInfo
public void recordCatchContextOfEscapingException(org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
ifnonnull 2
1: aload 0
new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
new org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext$EscapingExceptionCatchSite
dup
aload 1
aload 2
aload 3
invokespecial org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext$EscapingExceptionCatchSite.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 4 1 catchingContext Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 4 2 caughtException Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
0 4 3 exceptionInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
catchingContext
caughtException
exceptionInfo
public boolean hasEscapingExceptions();
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.flow.LoopingFlowContext.escapingExceptionCatchSites:Ljava/util/ArrayList;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
protected boolean internalRecordNullityMismatch(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.flow.FlowInfo, int, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 2
aload 5
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.nullCount:I
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordProvidedExpectedTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
1: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
aload 1
iload 6
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
2: iconst_1
ireturn
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 3 0 this Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
0 3 1 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 3 2 providedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 3 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 3 4 nullStatus I
0 3 5 expectedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 3 6 checkType I
MethodParameters:
Name Flags
expression
providedType
flowInfo
nullStatus
expectedType
checkType
}
SourceFile: "LoopingFlowContext.java"
NestMembers:
org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext$EscapingExceptionCatchSite
InnerClasses:
private EscapingExceptionCatchSite = org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext$EscapingExceptionCatchSite of org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext