public class org.eclipse.jdt.internal.compiler.flow.FlowContext implements org.eclipse.jdt.internal.compiler.lookup.TypeConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.flow.FlowContext
super_class: java.lang.Object
{
public static final org.eclipse.jdt.internal.compiler.flow.FlowContext NotContinuableContext;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public org.eclipse.jdt.internal.compiler.ast.ASTNode associatedNode;
descriptor: Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.flow.FlowContext parent;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.flow.FlowInfo initsOnFinally;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
flags: (0x0001) ACC_PUBLIC
public int conditionalLevel;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public int tagBits;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][] providedExpectedTypes;
descriptor: [[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
flags: (0x0001) ACC_PUBLIC
private org.eclipse.jdt.internal.compiler.ast.Reference[] nullCheckedFieldReferences;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Reference;
flags: (0x0002) ACC_PRIVATE
private int[] timesToLiveForNullCheckInfo;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
public static final int DEFER_NULL_DIAGNOSTIC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int PREEMPT_NULL_DIAGNOSTIC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int INSIDE_NEGATION;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int HIDE_NULL_COMPARISON_WARNING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
public static final int HIDE_NULL_COMPARISON_WARNING_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 61440
public static final int CAN_ONLY_NULL_NON_NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int CAN_ONLY_NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int CAN_ONLY_NON_NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int MAY_NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int ASSIGN_TO_NONNULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int IN_UNBOXING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int EXIT_RESOURCE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
public static final int CHECK_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 255
public static final int IN_COMPARISON_NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public static final int IN_COMPARISON_NON_NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 512
public static final int IN_ASSIGNMENT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 768
public static final int IN_INSTANCEOF;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
public static final int CONTEXT_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -61696
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new org.eclipse.jdt.internal.compiler.flow.FlowContext
dup
aconst_null
aconst_null
iconst_1
invokespecial org.eclipse.jdt.internal.compiler.flow.FlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
putstatic org.eclipse.jdt.internal.compiler.flow.FlowContext.NotContinuableContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.ast.ASTNode, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
2: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
3: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
4: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
5: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
6: aload 0
aload 2
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
7: aload 1
ifnull 14
8: aload 1
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
iconst_3
iand
ifeq 10
9: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
iconst_1
ior
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
10: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.ast.ASTNode int
StackMap stack:
aload 0
aload 1
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
11: aload 0
aload 1
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
12: iload 3
ifeq 14
13: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.copyNullCheckedFieldsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)V
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 15 1 parent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 15 2 associatedNode Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 15 3 inheritNullFieldChecks Z
MethodParameters:
Name Flags
parent
associatedNode
inheritNullFieldChecks
public void copyNullCheckedFieldsFrom(org.eclipse.jdt.internal.compiler.flow.FlowContext);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
astore 2
start local 2 1: aload 2
ifnull 4
aload 2
arraylength
ifle 4
aload 2
iconst_0
aaload
ifnull 4
2: aload 0
aload 1
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
3: aload 0
aload 1
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
4: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Reference[]
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 5 1 other Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
1 5 2 fieldReferences [Lorg/eclipse/jdt/internal/compiler/ast/Reference;
MethodParameters:
Name Flags
other
public void recordNullCheckedFieldReference(org.eclipse.jdt.internal.compiler.ast.Reference, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Reference;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
ifnonnull 4
1: aload 0
iconst_2
anewarray org.eclipse.jdt.internal.compiler.ast.Reference
dup
iconst_0
aload 1
aastore
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
2: aload 0
iconst_2
newarray 10
dup
iconst_0
iload 2
iastore
dup
iconst_1
iconst_m1
iastore
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
3: goto 17
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
arraylength
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 12
7: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 4
aaload
ifnonnull 11
8: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 4
aload 1
aastore
9: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
iload 4
iload 2
iastore
10: return
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 3
if_icmplt 7
end local 4 13: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iconst_0
aload 0
iload 3
iconst_2
iadd
anewarray org.eclipse.jdt.internal.compiler.ast.Reference
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
iconst_0
aload 0
iload 3
iconst_2
iadd
newarray 10
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 3
aload 1
aastore
16: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
iload 3
iload 2
iastore
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 18 1 reference Lorg/eclipse/jdt/internal/compiler/ast/Reference;
0 18 2 timeToLive I
5 17 3 len I
6 13 4 i I
MethodParameters:
Name Flags
reference
timeToLive
public void extendTimeToLiveForNullCheckedField(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
ifnull 7
1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
iload 2
iaload
ifle 5
4: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
iload 2
dup2
iaload
iload 1
iadd
iastore
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
arraylength
if_icmplt 3
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 8 1 t I
2 7 2 i I
MethodParameters:
Name Flags
t
public void expireNullCheckedFieldInfo();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
ifnull 7
1: iconst_0
istore 1
start local 1 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.timesToLiveForNullCheckInfo:[I
iload 1
dup2
iaload
iconst_1
isub
dup_x2
iastore
ifne 5
4: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 1
aconst_null
aastore
5: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
arraylength
if_icmplt 3
end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 7 1 i I
public boolean isNullcheckedFieldAccess(org.eclipse.jdt.internal.compiler.ast.Reference);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
arraylength
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 11
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.nullCheckedFieldReferences:[Lorg/eclipse/jdt/internal/compiler/ast/Reference;
iload 3
aaload
astore 4
start local 4 6: aload 4
ifnonnull 8
7: goto 10
8: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Reference
StackMap stack:
aload 4
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.isEquivalent:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
ifeq 10
9: iconst_1
ireturn
end local 4 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 2
if_icmplt 5
end local 3 12: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 13 1 reference Lorg/eclipse/jdt/internal/compiler/ast/Reference;
3 13 2 len I
4 12 3 i I
6 10 4 checked Lorg/eclipse/jdt/internal/compiler/ast/Reference;
MethodParameters:
Name Flags
reference
public org.eclipse.jdt.internal.compiler.codegen.BranchLabel breakLabel();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public void checkExceptionHandlers(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.checkExceptionHandlers:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Z)V
1: return
end local 4 end local 3 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/FlowContext;
0 2 1 raisedException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 2 2 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 2 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 2 4 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
MethodParameters:
Name Flags
raisedException
location
flowInfo
scope
public void checkExceptionHandlers(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.lookup.BlockScope, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=20, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
astore 6
start local 6 1: aconst_null
astore 7
start local 7 2: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
ldc 3342336
lcmp
iflt 84
aload 2
instanceof org.eclipse.jdt.internal.compiler.ast.ThrowStatement
ifeq 84
3: aload 2
checkcast org.eclipse.jdt.internal.compiler.ast.ThrowStatement
getfield org.eclipse.jdt.internal.compiler.ast.ThrowStatement.exception:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
astore 8
start local 8 4: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 9
start local 9 5: aload 8
instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference
ifeq 84
6: aload 9
instanceof org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding
ifeq 84
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.isEffectivelyFinal:()Z
ifeq 84
7: aload 9
checkcast org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding
astore 10
start local 10 8: aload 0
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding.getPreciseTypes:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 2
aload 3
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.checkExceptionHandlers:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
9: return
end local 10 end local 9 end local 8 10: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList
StackMap stack:
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.subroutine:()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
dup
astore 8
start local 8 11: ifnull 13
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement.isSubRoutineEscaping:()Z
ifeq 13
12: return
13: StackMap locals: org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
StackMap stack:
aload 6
instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
ifeq 72
14: aload 6
checkcast org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
15: astore 9
start local 9 16: aload 9
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
dup
astore 10
start local 10 17: getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_EXCEPTIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
if_acmpeq 61
18: iconst_0
istore 11
start local 11 19: iconst_0
istore 12
start local 12 20: aload 10
arraylength
istore 13
start local 13 21: goto 57
22: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int int
StackMap stack:
aload 10
iload 12
aaload
astore 14
start local 14 23: aload 3
astore 15
start local 15 24: aload 14
ifnonnull 26
25: iconst_m1
goto 27
26: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 1
aload 14
invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.compareTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
27: StackMap locals:
StackMap stack: int
istore 16
start local 16 28: aload 7
ifnull 37
aload 14
ifnull 37
iload 16
ifeq 37
29: iconst_0
istore 17
start local 17 30: aload 7
invokevirtual java.util.ArrayList.size:()I
istore 18
start local 18 31: goto 35
32: StackMap locals: int int int
StackMap stack:
aload 7
iload 17
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
astore 19
start local 19 33: aload 19
aload 9
aload 14
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordCatchContextOfEscapingException:(Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
end local 19 34: iinc 17 1
StackMap locals:
StackMap stack:
35: iload 17
iload 18
if_icmplt 32
end local 18 end local 17 36: getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 15
37: StackMap locals:
StackMap stack:
iload 16
tableswitch { // -1 - 1
-1: 38
0: 56
1: 48
default: 56
}
38: StackMap locals:
StackMap stack:
aload 9
39: aload 14
40: aload 15
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
41: aload 1
42: aload 1
43: aload 2
44: iload 11
45: invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
46: iconst_1
istore 11
47: goto 56
48: StackMap locals:
StackMap stack:
aload 9
49: aload 14
50: aload 15
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
51: aload 1
52: aload 14
53: aload 2
54: iconst_0
55: invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
end local 16 end local 15 end local 14 56: StackMap locals:
StackMap stack:
iinc 12 1
57: StackMap locals:
StackMap stack:
iload 12
iload 13
58: if_icmplt 22
end local 13 end local 12 59: iload 11
ifeq 61
60: return
end local 11 61: StackMap locals:
StackMap stack:
aload 9
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isMethodContext:Z
ifeq 76
62: aload 1
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isUncheckedException:(Z)Z
ifeq 64
63: return
64: StackMap locals:
StackMap stack:
aload 9
instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionInferenceFlowContext
istore 11
start local 11 65: aload 9
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
ifeq 69
66: aload 9
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
astore 12
start local 12 67: aload 12
invokevirtual org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.isConstructor:()Z
ifeq 69
aload 12
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isAnonymousType:()Z
ifeq 69
68: iconst_1
istore 11
end local 12 69: StackMap locals: int
StackMap stack:
iload 11
ifeq 85
70: aload 9
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.mergeUnhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
71: return
end local 11 end local 10 end local 9 72: StackMap locals:
StackMap stack:
aload 6
instanceof org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
ifeq 76
73: aload 7
ifnonnull 75
74: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
75: StackMap locals:
StackMap stack:
aload 7
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
76: StackMap locals:
StackMap stack:
aload 6
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordReturnFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
77: iload 5
ifne 83
78: aload 6
instanceof org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext
ifeq 83
79: aload 6
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
astore 9
start local 9 80: aload 9
instanceof org.eclipse.jdt.internal.compiler.ast.TryStatement
ifeq 83
81: aload 9
checkcast org.eclipse.jdt.internal.compiler.ast.TryStatement
astore 10
start local 10 82: aload 3
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineInits:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
end local 10 end local 9 83: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 6
end local 8 84: StackMap locals:
StackMap stack:
aload 6
ifnonnull 10
85: StackMap locals:
StackMap stack:
iload 5
ifeq 88
86: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unhandledExceptionFromAutoClose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
87: goto 89
88: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
89: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 90 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 90 1 raisedException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 90 2 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 90 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 90 4 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 90 5 isExceptionOnAutoClose Z
1 90 6 traversedContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 90 7 abruptlyExitedLoops Ljava/util/ArrayList;
4 10 8 throwExpression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
5 10 9 throwArgBinding Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
8 10 10 parameter Lorg/eclipse/jdt/internal/compiler/lookup/CatchParameterBinding;
11 84 8 sub Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
16 72 9 exceptionContext Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
17 72 10 caughtExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
19 61 11 definitelyCaught Z
20 59 12 caughtIndex I
21 59 13 caughtCount I
23 56 14 caughtException Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
24 56 15 exceptionFlow Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
28 56 16 state I
30 36 17 i I
31 36 18 abruptlyExitedLoopsCount I
33 34 19 loop Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
65 72 11 shouldMergeUnhandledExceptions Z
67 69 12 method Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
80 83 9 node Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
82 83 10 tryStatement Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
MethodParameters:
Name Flags
raisedException
location
flowInfo
scope
isExceptionOnAutoClose
public void checkExceptionHandlers(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=23, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnull 3
1: aload 1
arraylength
dup
istore 6
start local 6 2: ifne 4
end local 6 3: StackMap locals:
StackMap stack:
return
start local 6 4: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope top int
StackMap stack:
iload 6
istore 5
start local 5 5: aload 1
6: iconst_0
7: iload 6
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
dup
astore 1
8: iconst_0
9: iload 6
10: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 0
astore 7
start local 7 12: aconst_null
astore 8
start local 8 13: goto 113
14: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList
StackMap stack:
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.subroutine:()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
dup
astore 9
start local 9 15: ifnull 17
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement.isSubRoutineEscaping:()Z
ifeq 17
16: return
17: StackMap locals: org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
StackMap stack:
aload 7
instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
ifeq 100
18: aload 7
checkcast org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
19: astore 10
start local 10 20: aload 10
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
dup
astore 11
start local 11 21: getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_EXCEPTIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
if_acmpeq 76
22: aload 11
arraylength
istore 12
start local 12 23: iload 6
newarray 4
astore 13
start local 13 24: iconst_0
istore 14
start local 14 25: goto 69
26: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int boolean[] int
StackMap stack:
aload 11
iload 14
aaload
astore 15
start local 15 27: iconst_0
istore 16
start local 16 28: goto 67
29: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int
StackMap stack:
aload 1
iload 16
aaload
dup
astore 17
start local 17 30: ifnull 66
31: aload 3
astore 18
start local 18 32: aload 15
ifnonnull 34
33: iconst_m1
goto 35
34: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 17
aload 15
invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.compareTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
35: StackMap locals:
StackMap stack: int
istore 19
start local 19 36: aload 8
ifnull 45
aload 15
ifnull 45
iload 19
ifeq 45
37: iconst_0
istore 20
start local 20 38: aload 8
invokevirtual java.util.ArrayList.size:()I
istore 21
start local 21 39: goto 43
40: StackMap locals: int int int
StackMap stack:
aload 8
iload 20
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
astore 22
start local 22 41: aload 22
aload 10
aload 15
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext.recordCatchContextOfEscapingException:(Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
end local 22 42: iinc 20 1
StackMap locals:
StackMap stack:
43: iload 20
iload 21
if_icmplt 40
end local 21 end local 20 44: getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 18
45: StackMap locals:
StackMap stack:
iload 19
tableswitch { // -1 - 1
-1: 46
0: 66
1: 58
default: 66
}
46: StackMap locals:
StackMap stack:
aload 10
47: aload 15
48: aload 18
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
49: aload 17
50: aload 17
51: aload 2
52: aload 13
iload 16
baload
53: invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
54: aload 13
iload 16
baload
ifne 66
55: aload 13
iload 16
iconst_1
bastore
56: iinc 5 -1
57: goto 66
58: StackMap locals:
StackMap stack:
aload 10
59: aload 15
60: aload 18
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
61: aload 17
62: aload 15
63: aload 2
64: iconst_0
65: invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.recordHandlingException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
end local 19 end local 18 end local 17 66: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
67: iload 16
iload 6
if_icmplt 29
end local 16 end local 15 68: iinc 14 1
StackMap locals:
StackMap stack:
69: iload 14
iload 12
if_icmplt 26
end local 14 70: iconst_0
istore 14
start local 14 71: goto 75
72: StackMap locals:
StackMap stack:
aload 13
iload 14
baload
ifeq 74
73: aload 1
iload 14
aconst_null
aastore
74: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
75: iload 14
iload 6
if_icmplt 72
end local 14 end local 13 end local 12 76: StackMap locals:
StackMap stack:
aload 10
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isMethodContext:Z
ifeq 104
77: iconst_0
istore 12
start local 12 78: goto 85
79: StackMap locals: int
StackMap stack:
aload 1
iload 12
aaload
dup
astore 13
start local 13 80: ifnull 84
81: aload 13
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isUncheckedException:(Z)Z
ifeq 84
82: iinc 5 -1
83: aload 1
iload 12
aconst_null
aastore
end local 13 84: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
85: iload 12
iload 6
if_icmplt 79
end local 12 86: aload 10
instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionInferenceFlowContext
istore 12
start local 12 87: aload 10
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
ifeq 91
88: aload 10
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
astore 13
start local 13 89: aload 13
invokevirtual org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.isConstructor:()Z
ifeq 91
aload 13
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isAnonymousType:()Z
ifeq 91
90: iconst_1
istore 12
end local 13 91: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int
StackMap stack:
iload 12
ifeq 114
92: iconst_0
istore 13
start local 13 93: goto 98
94: StackMap locals: int
StackMap stack:
aload 1
iload 13
aaload
dup
astore 14
start local 14 95: ifnull 97
96: aload 10
aload 14
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.mergeUnhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
end local 14 97: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
98: iload 13
iload 6
if_icmplt 94
end local 13 99: return
end local 12 end local 11 end local 10 100: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.flow.FlowContext java.util.ArrayList org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
StackMap stack:
aload 7
instanceof org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext
ifeq 104
101: aload 8
ifnonnull 103
102: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 8
103: StackMap locals:
StackMap stack:
aload 8
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
104: StackMap locals:
StackMap stack:
iload 5
ifne 106
105: return
106: StackMap locals:
StackMap stack:
aload 7
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordReturnFrom:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
107: aload 7
instanceof org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext
ifeq 112
108: aload 7
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
astore 10
start local 10 109: aload 10
instanceof org.eclipse.jdt.internal.compiler.ast.TryStatement
ifeq 112
110: aload 10
checkcast org.eclipse.jdt.internal.compiler.ast.TryStatement
astore 11
start local 11 111: aload 3
aload 11
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineInits:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
end local 11 end local 10 112: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 7
end local 9 113: StackMap locals:
StackMap stack:
aload 7
ifnonnull 14
114: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 115: goto 125
116: StackMap locals: int
StackMap stack:
aload 1
iload 9
aaload
dup
astore 10
start local 10 117: ifnull 124
118: iconst_0
istore 11
start local 11 119: goto 122
120: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
StackMap stack:
aload 1
iload 11
aaload
aload 10
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 121
goto 124
121: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
122: iload 11
iload 9
if_icmplt 120
end local 11 123: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 10
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unhandledException:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
end local 10 124: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
125: iload 9
iload 6
if_icmplt 116
end local 9 126: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 127 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 127 1 raisedExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 127 2 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 127 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 127 4 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
5 127 5 remainingCount I
2 3 6 raisedCount I
4 127 6 raisedCount I
12 127 7 traversedContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
13 127 8 abruptlyExitedLoops Ljava/util/ArrayList;
15 113 9 sub Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
20 100 10 exceptionContext Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
21 100 11 caughtExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
23 76 12 caughtCount I
24 76 13 locallyCaught [Z
25 70 14 caughtIndex I
27 68 15 caughtException Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
28 68 16 raisedIndex I
30 66 17 raisedException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
32 66 18 exceptionFlow Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
36 66 19 state I
38 44 20 i I
39 44 21 abruptlyExitedLoopsCount I
41 42 22 loop Lorg/eclipse/jdt/internal/compiler/flow/LoopingFlowContext;
71 76 14 i I
78 86 12 i I
80 84 13 raisedException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
87 100 12 shouldMergeUnhandledException Z
89 91 13 method Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
93 99 13 i I
95 97 14 raisedException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
109 112 10 node Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
111 112 11 tryStatement Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
115 126 9 i I
117 124 10 exception Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
119 123 11 j I
MethodParameters:
Name Flags
raisedExceptions
location
flowInfo
scope
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: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public org.eclipse.jdt.internal.compiler.flow.FlowInfo getInitsForFinalBlankInitializationCheck(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
astore 3
start local 3 1: aload 2
astore 4
start local 4 2: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 3
instanceof org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext
ifeq 9
3: aload 3
checkcast org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext
astore 5
start local 5 4: aload 5
getfield org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
checkcast org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
aload 1
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 6
5: aload 4
areturn
6: StackMap locals: org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext
StackMap stack:
aload 5
getfield org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext.initsBeforeContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 4
7: aload 5
getfield org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 3
end local 5 8: goto 18
StackMap locals:
StackMap stack:
9: aload 3
instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
ifeq 17
10: aload 3
instanceof org.eclipse.jdt.internal.compiler.flow.FieldInitsFakingFlowContext
ifeq 12
11: getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
areturn
12: StackMap locals:
StackMap stack:
aload 3
checkcast org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
astore 5
start local 5 13: aload 5
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
ifnonnull 14
aload 5
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
goto 15
StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
StackMap stack:
14: aload 5
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.flow.FlowContext
15: astore 3
end local 5 16: goto 18
17: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 3
18: StackMap locals:
StackMap stack:
aload 3
ifnonnull 2
19: new java.lang.IllegalStateException
dup
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.debugName:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 20 1 declaringType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 20 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
1 20 3 current Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 20 4 inits Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
4 8 5 initializationContext Lorg/eclipse/jdt/internal/compiler/flow/InitializationFlowContext;
13 16 5 exceptionContext Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
MethodParameters:
Name Flags
declaringType
flowInfo
public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForBreakLabel(char[]);
descriptor: ([C)Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: goto 13
3: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
ifeq 5
4: aload 2
astore 3
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
dup
astore 4
start local 4 6: ifnull 12
7: aload 4
aload 1
invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
ifeq 12
8: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
checkcast org.eclipse.jdt.internal.compiler.ast.LabeledStatement
dup
getfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
bipush 64
ior
putfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
9: aload 3
ifnonnull 11
10: aload 2
areturn
11: StackMap locals: char[]
StackMap stack:
aload 3
areturn
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 2
end local 4 13: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
14: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 15 1 labelName [C
1 15 2 current Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 15 3 lastNonReturningSubRoutine Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
6 13 4 currentLabelName [C
MethodParameters:
Name Flags
labelName
public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForContinueLabel(char[]);
descriptor: ([C)Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: goto 18
4: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
ifeq 7
5: aload 2
astore 4
6: goto 9
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isContinuable:()Z
ifeq 9
8: aload 2
astore 3
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
dup
astore 5
start local 5 10: ifnull 17
aload 5
aload 1
invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
ifeq 17
11: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
checkcast org.eclipse.jdt.internal.compiler.ast.LabeledStatement
dup
getfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
bipush 64
ior
putfield org.eclipse.jdt.internal.compiler.ast.LabeledStatement.bits:I
12: aload 3
ifnull 16
13: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
invokevirtual org.eclipse.jdt.internal.compiler.ast.ASTNode.concreteStatement:()Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
aload 3
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
if_acmpne 16
14: aload 4
ifnonnull 15
aload 3
areturn
15: StackMap locals: char[]
StackMap stack:
aload 4
areturn
16: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.compiler.flow.FlowContext.NotContinuableContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
areturn
17: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 2
end local 5 18: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
19: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 20 1 labelName [C
1 20 2 current Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 20 3 lastContinuable Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
3 20 4 lastNonReturningSubRoutine Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
10 18 5 currentLabelName [C
MethodParameters:
Name Flags
labelName
public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForDefaultBreak();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: goto 9
3: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
ifeq 5
4: aload 1
astore 2
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isBreakable:()Z
ifeq 8
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
ifnonnull 8
6: aload 2
ifnonnull 7
aload 1
areturn
7: StackMap locals:
StackMap stack:
aload 2
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 1
9: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
10: aconst_null
areturn
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/FlowContext;
1 11 1 current Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 11 2 lastNonReturningSubRoutine Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForDefaultYield();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: goto 9
3: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
ifeq 5
4: aload 1
astore 2
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isBreakable:()Z
ifeq 8
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.labelName:()[C
ifnonnull 8
aload 1
checkcast org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext
getfield org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.isExpression:Z
ifeq 8
6: aload 2
ifnonnull 7
aload 1
areturn
7: StackMap locals:
StackMap stack:
aload 2
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 1
9: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
10: aconst_null
areturn
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/FlowContext;
1 11 1 current Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 11 2 lastNonReturningSubRoutine Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public org.eclipse.jdt.internal.compiler.flow.FlowContext getTargetContextForDefaultContinue();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: goto 10
3: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isNonReturningContext:()Z
ifeq 5
4: aload 1
astore 2
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.isContinuable:()Z
ifeq 9
6: aload 2
ifnonnull 8
7: aload 1
areturn
8: StackMap locals:
StackMap stack:
aload 2
areturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 1
10: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
11: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
1 12 1 current Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
2 12 2 lastNonReturningSubRoutine Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public org.eclipse.jdt.internal.compiler.flow.FlowContext getInitializationContext();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public org.eclipse.jdt.internal.compiler.flow.FlowContext getLocalParent();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
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.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
ifne 1
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
instanceof org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
ifne 1
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
instanceof org.eclipse.jdt.internal.compiler.ast.LambdaExpression
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public java.lang.String individualToString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "Flow context"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public org.eclipse.jdt.internal.compiler.flow.FlowInfo initsOnBreak();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo initsOnReturn();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public boolean isBreakable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public boolean isContinuable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public boolean isNonReturningContext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public boolean isSubRoutine();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public char[] labelName();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public void markFinallyNullStatus(org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
iconst_m1
if_icmpne 2
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
ifne 5
3: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 1
iload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markNullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;I)V
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 3
start local 3 6: aload 3
aload 1
iload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.markNullStatus:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;I)V
7: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 9 1 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
0 9 2 nullStatus I
6 9 3 newInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
MethodParameters:
Name Flags
local
nullStatus
public void mergeFinallyNullInfo(org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
iconst_m1
if_icmpne 2
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
ifne 5
3: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
4: return
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 7 1 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
flowInfo
public void recordAbruptExit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
iconst_m1
if_icmple 4
1: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
iconst_1
iadd
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
2: aload 0
instanceof org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
ifne 4
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
ifnull 4
3: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordAbruptExit:()V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public void recordBreakFrom(org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
flowInfo
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=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 targetContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
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=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 innerFlowContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
innerFlowContext
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=1, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 1 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 1 3 trackingVar Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
0 1 4 reference Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
MethodParameters:
Name Flags
scope
flowInfo
trackingVar
reference
protected void recordProvidedExpectedTypes(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 3
1: aload 0
iconst_5
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
2: goto 15
StackMap locals:
StackMap stack:
3: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
ifnonnull 10
4: iconst_5
istore 4
start local 4 5: goto 7
StackMap locals: int
StackMap stack:
6: iload 4
iconst_2
imul
istore 4
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmple 6
8: aload 0
iload 4
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
end local 4 9: goto 15
10: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
arraylength
if_icmplt 15
11: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
arraylength
istore 4
start local 4 12: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iconst_0
13: aload 0
iload 3
iconst_2
imul
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
dup_x1
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iconst_0
iload 4
14: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 4 15: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.providedExpectedTypes:[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 3
iconst_2
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
aastore
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 17 1 providedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 17 2 expectedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 17 3 nullCount I
5 9 4 size I
12 15 4 oldLen I
MethodParameters:
Name Flags
providedType
expectedType
nullCount
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=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 variable Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
0 1 2 finalReference Lorg/eclipse/jdt/internal/compiler/ast/Reference;
MethodParameters:
Name Flags
variable
finalReference
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=0, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
0 1 2 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 1 3 checkType I
0 1 4 nullInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
local
location
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=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.checkUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
1: return
end local 4 end local 3 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/FlowContext;
0 2 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 2 2 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 2 3 nullStatus I
0 2 4 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
scope
expression
nullStatus
flowInfo
protected void checkUnboxing(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.nullStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
istore 4
start local 4 1: iload 4
iconst_2
iand
ifeq 4
2: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 2
getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullUnboxing:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
3: return
4: StackMap locals: int
StackMap stack:
iload 4
bipush 16
iand
ifeq 7
5: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 2
getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.potentialNullUnboxing:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
6: return
7: StackMap locals:
StackMap stack:
iload 4
iconst_4
iand
ifeq 9
8: return
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
ifnull 11
10: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
aload 1
aload 2
iconst_1
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
11: 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 12 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 12 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 12 2 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 12 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
1 12 4 status I
MethodParameters:
Name Flags
scope
expression
flowInfo
public void recordReturnFrom(org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
MethodParameters:
Name Flags
flowInfo
public void recordSettingFinal(org.eclipse.jdt.internal.compiler.lookup.VariableBinding, org.eclipse.jdt.internal.compiler.ast.Reference, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/Reference;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_1
iand
ifne 7
1: aload 0
astore 4
start local 4 2: goto 6
3: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
aload 4
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordFinalAssignment:(Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/Reference;)Z
ifne 5
4: goto 7
5: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.getLocalParent:()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 4
6: StackMap locals:
StackMap stack:
aload 4
ifnonnull 3
end local 4 7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 8 1 variable Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
0 8 2 finalReference Lorg/eclipse/jdt/internal/compiler/ast/Reference;
0 8 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
2 7 4 context Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
MethodParameters:
Name Flags
variable
finalReference
flowInfo
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.FlowContext.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: 49
256: 6
257: 17
512: 6
513: 17
769: 17
1025: 17
default: 58
}
6: StackMap locals: int
StackMap stack:
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 15
7: iload 6
sipush 512
if_icmpne 12
8: iload 4
sipush 4096
iand
ifne 10
9: 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.localVariableRedundantCheckOnNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
10: 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
11: goto 14
12: 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 3
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.localVariableNonNullComparedToNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
13: 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
14: StackMap locals:
StackMap stack:
return
15: StackMap locals:
StackMap stack:
aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.cannotBeDefinitelyNullOrNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 17
16: return
17: StackMap locals:
StackMap stack:
aload 3
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
astore 7
start local 7 18: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 38
19: iload 6
ldc -61696
iand
lookupswitch { // 4
256: 20
512: 27
768: 33
1024: 35
default: 37
}
20: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 23
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 23
21: 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
22: return
23: StackMap locals:
StackMap stack:
iload 4
sipush 4096
iand
ifne 25
24: 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
25: 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
26: return
27: StackMap locals:
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 30
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 30
28: 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
29: return
30: 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
31: 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
32: return
33: 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
34: return
35: 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
36: return
37: StackMap locals:
StackMap stack:
goto 58
StackMap locals:
StackMap stack:
38: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.isPotentiallyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 47
39: iload 6
ldc -61696
iand
lookupswitch { // 2
256: 40
512: 43
default: 46
}
40: StackMap locals:
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 58
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 58
41: 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
42: return
43: StackMap locals:
StackMap stack:
iload 6
sipush 255
iand
iconst_1
if_icmpne 58
aload 7
getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
sipush 1024
iand
ifeq 58
44: 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
45: return
46: StackMap locals:
StackMap stack:
goto 58
StackMap locals:
StackMap stack:
47: aload 5
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.cannotBeDefinitelyNullOrNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
ifeq 58
48: return
end local 7 49: 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 52
50: 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
51: return
52: 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 58
53: aload 2
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFreeTypeVariable:()Z
ifeq 56
54: 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.localVariableFreeTypeVariableReference:(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 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
57: return
58: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
ifnull 62
59: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
aload 1
aload 2
aload 3
iload 4
60: aload 5
61: 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
62: 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 63 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 63 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 63 2 local Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
0 63 3 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 63 4 checkType I
0 63 5 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
5 63 6 checkTypeWithoutHideNullWarning I
18 49 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=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 reference Lorg/eclipse/jdt/internal/compiler/ast/Reference;
MethodParameters:
Name Flags
reference
public org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement subroutine();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 5
4: StackMap locals: java.lang.StringBuffer org.eclipse.jdt.internal.compiler.flow.FlowContext int
StackMap stack:
iinc 3 1
5: StackMap locals:
StackMap stack:
aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
dup
astore 2
ifnonnull 4
6: iload 3
iconst_1
iadd
anewarray org.eclipse.jdt.internal.compiler.flow.FlowContext
astore 4
start local 4 7: aload 0
astore 2
8: iload 3
istore 5
start local 5 9: goto 12
10: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext[] int
StackMap stack:
aload 4
iload 5
iinc 5 -1
aload 2
aastore
11: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 2
12: StackMap locals:
StackMap stack:
iload 5
ifge 10
13: iconst_0
istore 6
start local 6 14: goto 22
15: StackMap locals: int
StackMap stack:
iconst_0
istore 7
start local 7 16: goto 19
17: StackMap locals: int
StackMap stack:
aload 1
bipush 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
18: iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
iload 6
if_icmplt 17
end local 7 20: aload 1
aload 4
iload 6
aaload
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.individualToString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
bipush 10
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
21: iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
iload 3
if_icmplt 15
end local 6 23: aload 1
bipush 42
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
24: iconst_0
istore 6
start local 6 25: goto 28
26: StackMap locals:
StackMap stack:
aload 1
bipush 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
27: iinc 6 1
StackMap locals:
StackMap stack:
28: iload 6
iload 3
iconst_1
iadd
if_icmplt 26
end local 6 29: aload 1
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.individualToString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
bipush 10
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
30: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
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 31 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
1 31 1 buffer Ljava/lang/StringBuffer;
2 31 2 current Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
3 31 3 parentsCount I
7 31 4 parents [Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
9 31 5 index I
14 23 6 i I
16 20 7 j I
25 29 6 j I
public void recordNullityMismatch(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.flow.FlowInfo, int, org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching);
descriptor: (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
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, 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 3
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
ifnull 12
3: aload 0
astore 8
start local 8 4: goto 11
5: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowContext
StackMap stack:
iconst_0
istore 9
start local 9 6: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
sipush 4096
iand
ifeq 8
7: sipush 4096
istore 9
8: StackMap locals: int
StackMap stack:
aload 8
aload 2
aload 3
aload 5
iload 6
aload 4
sipush 128
iload 9
ior
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.internalRecordNullityMismatch:(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
ifeq 10
9: return
10: StackMap locals:
StackMap stack:
aload 8
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
astore 8
end local 9 11: StackMap locals:
StackMap stack:
aload 8
ifnonnull 5
end local 8 12: StackMap locals:
StackMap stack:
aload 7
ifnull 14
13: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 3
aload 4
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullityMismatchingTypeAnnotation:(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/ast/NullAnnotationMatching;)V
goto 17
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 3
aload 4
iload 6
15: 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
16: 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
17: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 18 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 18 2 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 18 3 providedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 18 4 expectedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 18 5 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 18 6 nullStatus I
0 18 7 annotationStatus Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
4 12 8 currentContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
6 11 9 isInsideAssert I
MethodParameters:
Name Flags
currentScope
expression
providedType
expectedType
flowInfo
nullStatus
annotationStatus
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=1, 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: iconst_0
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 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 1 1 expression Lorg/eclipse/jdt/internal/compiler/ast/Expression;
0 1 2 providedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 1 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 1 4 nullStatus I
0 1 5 expectedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 1 6 checkType I
MethodParameters:
Name Flags
expression
providedType
flowInfo
nullStatus
expectedType
checkType
}
SourceFile: "FlowContext.java"