public class org.eclipse.jdt.internal.compiler.ast.TryStatement extends org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.ast.TryStatement
super_class: org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
{
static final char[] SECRET_RETURN_ADDRESS_NAME;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final char[] SECRET_ANY_HANDLER_NAME;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final char[] SECRET_PRIMARY_EXCEPTION_VARIABLE_NAME;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final char[] SECRET_CAUGHT_THROWABLE_VARIABLE_NAME;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final char[] SECRET_RETURN_VALUE_NAME;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
public org.eclipse.jdt.internal.compiler.ast.Statement[] resources;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.ast.Block tryBlock;
descriptor: Lorg/eclipse/jdt/internal/compiler/ast/Block;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.ast.Block[] catchBlocks;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Block;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.ast.Argument[] catchArguments;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Argument;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.ast.Block finallyBlock;
descriptor: Lorg/eclipse/jdt/internal/compiler/ast/Block;
flags: (0x0001) ACC_PUBLIC
org.eclipse.jdt.internal.compiler.lookup.BlockScope scope;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
flags: (0x0000)
public org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo subRoutineInits;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0001) ACC_PUBLIC
org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] caughtExceptionTypes;
descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
flags: (0x0000)
boolean[] catchExits;
descriptor: [Z
flags: (0x0000)
org.eclipse.jdt.internal.compiler.codegen.BranchLabel subRoutineStartLabel;
descriptor: Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
flags: (0x0000)
public org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding anyExceptionVariable;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding returnAddressVariable;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding secretReturnValue;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
flags: (0x0001) ACC_PUBLIC
org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel[] declaredExceptionLabels;
descriptor: [Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
flags: (0x0000)
private java.lang.Object[] reusableJSRTargets;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] reusableJSRSequenceStartLabels;
descriptor: [Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
flags: (0x0002) ACC_PRIVATE
private int[] reusableJSRStateIndexes;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int reusableJSRTargetsCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int NO_FINALLY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int FINALLY_SUBROUTINE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FINALLY_DOES_NOT_COMPLETE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int FINALLY_INLINE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
int mergedInitStateIndex;
descriptor: I
flags: (0x0000)
int preTryInitStateIndex;
descriptor: I
flags: (0x0000)
int postTryInitStateIndex;
descriptor: I
flags: (0x0000)
int[] postResourcesInitStateIndexes;
descriptor: [I
flags: (0x0000)
int naturalExitMergeInitStateIndex;
descriptor: I
flags: (0x0000)
int[] catchExitInitStateIndexes;
descriptor: [I
flags: (0x0000)
private org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding primaryExceptionVariable;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding caughtThrowableVariable;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel[] resourceExceptionLabels;
descriptor: [Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
flags: (0x0002) ACC_PRIVATE
private int[] caughtExceptionsCatchBlocks;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc " returnAddress"
invokevirtual java.lang.String.toCharArray:()[C
putstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_RETURN_ADDRESS_NAME:[C
1: ldc " anyExceptionHandler"
invokevirtual java.lang.String.toCharArray:()[C
putstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_ANY_HANDLER_NAME:[C
2: ldc " primaryException"
invokevirtual java.lang.String.toCharArray:()[C
putstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_PRIMARY_EXCEPTION_VARIABLE_NAME:[C
3: ldc " caughtThrowable"
invokevirtual java.lang.String.toCharArray:()[C
putstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_CAUGHT_THROWABLE_VARIABLE_NAME:[C
4: ldc " returnValue"
invokevirtual java.lang.String.toCharArray:()[C
putstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_RETURN_VALUE_NAME:[C
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement.<init>:()V
1: aload 0
iconst_0
anewarray org.eclipse.jdt.internal.compiler.ast.Statement
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
2: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
3: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.mergedInitStateIndex:I
4: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
5: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postTryInitStateIndex:I
6: aload 0
iconst_m1
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
public org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
1: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
2: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
ifnull 5
4: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
ifnull 7
6: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
7: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
ifnull 9
8: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.returnAddressVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
ifnull 11
10: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.returnAddressVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
11: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 4
start local 4 12: iload 4
ifle 14
13: aload 0
iload 4
newarray 10
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postResourcesInitStateIndexes:[I
14: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnonnull 101
15: aload 2
instanceof org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext
ifeq 18
16: aload 2
checkcast org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext
astore 5
start local 5 17: aload 5
aload 5
getfield org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext.tryContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
putfield org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext.outerTryContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
end local 5 18: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
dup
19: aload 2
20: aload 0
21: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
22: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionsCatchBlocks:[I
23: aconst_null
24: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
25: aload 3
26: invokespecial org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[ILorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
27: astore 5
start local 5 28: aload 5
iconst_0
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.conditionalLevel:I
29: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 6
start local 6 30: iconst_0
istore 7
start local 7 31: goto 59
32: StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 7
aaload
astore 8
start local 8 33: aload 8
aload 1
aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 6
34: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postResourcesInitStateIndexes:[I
iload 7
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
iastore
35: aconst_null
astore 9
start local 9 36: aconst_null
astore 10
start local 10 37: aload 8
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 41
38: aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 10
39: aload 10
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 9
40: goto 44
41: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
aload 8
instanceof org.eclipse.jdt.internal.compiler.ast.NameReference
ifeq 43
aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
instanceof org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
ifeq 43
42: aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
checkcast org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
astore 10
43: StackMap locals:
StackMap stack:
aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 9
44: StackMap locals:
StackMap stack:
aload 10
ifnull 49
45: aload 10
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
46: aload 10
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.closeTracker:Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
ifnull 49
47: aload 10
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.closeTracker:Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.withdraw:()V
48: aload 10
aconst_null
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.closeTracker:Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
49: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.findCloseMethod:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
astore 11
start local 11 50: aload 11
ifnull 58
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
ifeq 58
aload 11
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
bipush 6
if_icmpne 58
51: aload 11
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.thrownExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
astore 12
start local 12 52: iconst_0
istore 13
start local 13 53: aload 12
arraylength
istore 14
start local 14 54: goto 57
55: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
StackMap stack:
aload 5
aload 12
iload 13
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 7
aaload
aload 6
aload 1
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.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
56: iinc 13 1
StackMap locals:
StackMap stack:
57: iload 13
iload 14
if_icmplt 55
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 58: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
59: iload 7
iload 4
if_icmplt 32
end local 7 60: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.isEmptyBlock:()Z
ifne 64
61: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 1
aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 6
62: aload 6
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_1
iand
ifeq 64
63: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
ldc 536870912
ior
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
64: StackMap locals:
StackMap stack:
iload 4
ifle 72
65: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postTryInitStateIndex:I
66: iconst_0
istore 7
start local 7 67: goto 71
68: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 7
aaload
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 70
69: aload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 7
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.resetAssignmentInfo:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
70: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
71: iload 7
iload 4
if_icmplt 68
end local 7 72: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.complainIfUnusedExceptionHandlers:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;)V
73: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
ifnull 96
74: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
arraylength
dup
istore 7
start local 7 75: newarray 4
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExits:[Z
76: aload 0
iload 7
newarray 10
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExitInitStateIndexes:[I
77: iconst_0
istore 8
start local 8 78: goto 95
79: StackMap locals: int int
StackMap stack:
aload 0
aload 3
aload 5
aload 6
iload 8
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.prepareCatchInfo:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 9
start local 9 80: aload 2
dup
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
iconst_1
iadd
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
81: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 8
aaload
82: aload 1
83: aload 2
84: aload 9
85: invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
86: astore 9
87: aload 2
dup
getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
iconst_1
isub
putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.conditionalLevel:I
88: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExitInitStateIndexes:[I
iload 8
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
iastore
89: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExits:[Z
iload 8
90: aload 9
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_1
iand
ifeq 91
iconst_1
goto 92
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack: boolean[] int
91: iconst_0
92: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack: boolean[] int int
bastore
93: aload 6
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 6
end local 9 94: iinc 8 1
StackMap locals:
StackMap stack:
95: iload 8
iload 7
if_icmplt 79
end local 8 end local 7 96: StackMap locals:
StackMap stack:
aload 0
97: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
98: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.mergedInitStateIndex:I
99: aload 2
aload 5
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.mergeFinallyNullInfo:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
100: aload 6
areturn
end local 6 end local 5 101: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext
dup
aload 2
aload 0
invokespecial org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
astore 5
start local 5 102: aload 2
instanceof org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext
ifeq 104
103: aload 5
aload 2
checkcast org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext
getfield org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext.tryContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
putfield org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext.outerTryContext:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
104: StackMap locals: org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext
StackMap stack:
new org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
dup
105: aload 5
106: aload 0
107: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
108: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionsCatchBlocks:[I
109: aconst_null
110: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
111: aload 3
112: invokespecial org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[ILorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
113: astore 8
start local 8 114: aload 5
aload 8
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
115: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
116: aload 1
117: new org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext
dup
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 8
invokespecial org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;)V
dup
astore 6
start local 6 118: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullInfoLessUnconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
119: invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
120: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
121: astore 7
start local 7 122: aload 8
iconst_0
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.conditionalLevel:I
123: aload 7
getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
if_acmpne 127
124: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
sipush 16384
ior
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
125: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.finallyMustCompleteNormally:(Lorg/eclipse/jdt/internal/compiler/ast/Block;)V
126: goto 135
127: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
StackMap stack:
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 9
start local 9 128: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 9
putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.finallyInfo:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
129: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 135
130: iconst_0
istore 10
start local 10 131: goto 134
132: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 10
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Block.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 9
putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.finallyInfo:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
133: iinc 10 1
StackMap locals:
StackMap stack:
134: iload 10
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
arraylength
if_icmplt 132
end local 10 end local 9 135: StackMap locals:
StackMap stack:
aload 0
aload 7
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineInits:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
136: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 9
start local 9 137: iconst_0
istore 10
start local 10 138: goto 165
139: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 10
aaload
astore 11
start local 11 140: aload 11
aload 1
aload 8
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 9
141: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postResourcesInitStateIndexes:[I
iload 10
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
iastore
142: aconst_null
astore 12
start local 12 143: aconst_null
astore 13
start local 13 144: aload 11
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 148
145: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 10
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 13
146: aload 13
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 12
147: goto 151
148: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
aload 11
instanceof org.eclipse.jdt.internal.compiler.ast.NameReference
ifeq 150
aload 11
checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
instanceof org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
ifeq 150
149: aload 11
checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
checkcast org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
astore 13
150: StackMap locals:
StackMap stack:
aload 11
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 12
151: StackMap locals:
StackMap stack:
aload 13
ifnull 155
152: aload 13
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
153: aload 13
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.closeTracker:Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
ifnull 155
154: aload 13
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.closeTracker:Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.withdraw:()V
155: StackMap locals:
StackMap stack:
aload 0
aload 11
aload 12
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.findCloseMethod:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
astore 14
start local 14 156: aload 14
ifnull 164
aload 14
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
ifeq 164
aload 14
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
bipush 6
if_icmpne 164
157: aload 14
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.thrownExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
astore 15
start local 15 158: iconst_0
istore 16
start local 16 159: aload 15
arraylength
istore 17
start local 17 160: goto 163
161: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
StackMap stack:
aload 8
aload 15
iload 16
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 10
aaload
aload 9
aload 1
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.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
162: iinc 16 1
StackMap locals:
StackMap stack:
163: iload 16
iload 17
if_icmplt 161
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 164: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
165: iload 10
iload 4
if_icmplt 139
end local 10 166: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.isEmptyBlock:()Z
ifne 170
167: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 1
aload 8
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 9
168: aload 9
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_1
iand
ifeq 170
169: aload 0
dup
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
ldc 536870912
ior
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
170: StackMap locals:
StackMap stack:
iload 4
ifle 178
171: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postTryInitStateIndex:I
172: iconst_0
istore 10
start local 10 173: goto 177
174: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 10
aaload
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 176
175: aload 9
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 10
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.resetAssignmentInfo:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
176: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
177: iload 10
iload 4
if_icmplt 174
end local 10 178: StackMap locals:
StackMap stack:
aload 8
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.complainIfUnusedExceptionHandlers:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;)V
179: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
ifnull 201
180: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
arraylength
dup
istore 10
start local 10 181: newarray 4
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExits:[Z
182: aload 0
iload 10
newarray 10
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExitInitStateIndexes:[I
183: iconst_0
istore 11
start local 11 184: goto 200
185: StackMap locals: int int
StackMap stack:
aload 0
aload 3
aload 8
aload 9
iload 11
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.prepareCatchInfo:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 12
start local 12 186: aload 5
iconst_1
putfield org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext.conditionalLevel:I
187: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 11
aaload
188: aload 1
189: aload 5
190: aload 12
191: invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
192: astore 12
193: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExitInitStateIndexes:[I
iload 11
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 12
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
iastore
194: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExits:[Z
iload 11
195: aload 12
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_1
iand
ifeq 196
iconst_1
goto 197
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack: boolean[] int
196: iconst_0
197: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack: boolean[] int int
bastore
198: aload 9
aload 12
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 9
end local 12 199: iinc 11 1
StackMap locals:
StackMap stack:
200: iload 11
iload 10
if_icmplt 185
end local 11 end local 10 201: StackMap locals:
StackMap stack:
aload 6
202: aload 9
getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
iconst_3
iand
ifne 206
203: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
204: aload 9
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
205: aload 5
getfield org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
goto 207
206: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext
aload 5
getfield org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
207: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.flow.InsideSubRoutineFlowContext org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack: org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo
aload 8
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
208: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
209: aload 1
210: invokevirtual org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext.complainOnDeferredChecks:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
211: aload 2
aload 8
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.mergeFinallyNullInfo:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
212: aload 0
213: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 9
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
214: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
215: aload 7
getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
if_acmpne 220
216: aload 0
217: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
218: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.mergedInitStateIndex:I
219: aload 7
areturn
220: StackMap locals:
StackMap stack:
aload 9
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
astore 10
start local 10 221: aload 0
222: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
223: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.mergedInitStateIndex:I
224: aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 225 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 225 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 225 2 flowContext Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 225 3 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
12 225 4 resourcesLength I
17 18 5 finallyContext Lorg/eclipse/jdt/internal/compiler/flow/FinallyFlowContext;
28 101 5 handlingContext Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
30 101 6 tryInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
31 60 7 i I
33 58 8 resource Lorg/eclipse/jdt/internal/compiler/ast/Statement;
36 58 9 resolvedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
37 58 10 localVariableBinding Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
50 58 11 closeMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
52 58 12 thrownExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
53 58 13 j I
54 58 14 length I
67 72 7 i I
75 96 7 catchCount I
78 96 8 i I
80 94 9 catchInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
102 225 5 insideSubContext Lorg/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext;
118 225 6 finallyContext Lorg/eclipse/jdt/internal/compiler/flow/FinallyFlowContext;
122 225 7 subInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
114 225 8 handlingContext Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
128 135 9 finallyInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
131 135 10 i I
137 225 9 tryInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
138 166 10 i I
140 164 11 resource Lorg/eclipse/jdt/internal/compiler/ast/Statement;
143 164 12 resolvedType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
144 164 13 localVariableBinding Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
156 164 14 closeMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
158 164 15 thrownExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
159 164 16 j I
160 164 17 length I
173 178 10 i I
181 201 10 catchCount I
184 201 11 i I
186 199 12 catchInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
221 225 10 mergedInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
MethodParameters:
Name Flags
currentScope
flowContext
flowInfo
private org.eclipse.jdt.internal.compiler.lookup.MethodBinding findCloseMethod(org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
ifnull 7
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
ifeq 7
aload 2
instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
ifeq 7
2: aload 2
checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
astore 4
start local 4 3: aload 4
getstatic org.eclipse.jdt.internal.compiler.codegen.ConstantPool.Close:[C
iconst_0
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilationUnitScope:()Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getExactMethod:([C[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
astore 3
4: aload 3
ifnonnull 7
5: new org.eclipse.jdt.internal.compiler.lookup.InvocationSite$EmptyWithAstNode
dup
aload 1
invokespecial org.eclipse.jdt.internal.compiler.lookup.InvocationSite$EmptyWithAstNode.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
astore 5
start local 5 6: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilationUnitScope:()Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;
aload 4
getstatic org.eclipse.jdt.internal.compiler.codegen.ConstantPool.Close:[C
iconst_0
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
aload 5
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[C[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Z)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
astore 3
end local 5 end local 4 7: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
StackMap stack:
aload 3
areturn
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/ast/TryStatement;
0 8 1 resource Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 8 2 type Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
1 8 3 closeMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
3 7 4 binding Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
6 7 5 site Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
MethodParameters:
Name Flags
resource final
type
private org.eclipse.jdt.internal.compiler.flow.FlowInfo prepareCatchInfo(org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 4
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.isUncheckedCatchBlock:(I)Z
ifeq 10
1: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
2: aload 2
iload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnException:(I)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
3: invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
4: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
5: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
6: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
7: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
8: astore 5
start local 5 9: goto 19
end local 5 10: StackMap locals:
StackMap stack:
aload 2
iload 4
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnException:(I)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 6
start local 6 11: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullInfoLessUnconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
12: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
13: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addNullInfoFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
14: aload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullInfoLessUnconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
15: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
16: aload 2
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.nullInfoLessUnconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
17: invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
18: astore 5
end local 6 start local 5 19: StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 4
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 6
start local 6 20: aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsDefinitelyAssigned:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
21: aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
22: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnonnull 24
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
ifnonnull 24
23: aload 5
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
pop
24: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
aload 5
areturn
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 25 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 25 1 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 25 2 handlingContext Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 25 3 tryInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
0 25 4 i I
9 10 5 catchInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
19 25 5 catchInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
11 19 6 initsOnException Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
20 25 6 catchArg Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
MethodParameters:
Name Flags
flowInfo
handlingContext
tryInfo
i
private boolean isUncheckedCatchBlock(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionsCatchBlocks:[I
ifnonnull 2
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 1
aaload
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isUncheckedException:(Z)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionsCatchBlocks:[I
arraylength
istore 3
start local 3 4: goto 9
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionsCatchBlocks:[I
iload 2
iaload
iload 1
if_icmpne 8
6: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 2
aaload
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isUncheckedException:(Z)Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 3
if_icmplt 5
end local 3 end local 2 10: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 11 1 catchBlock I
3 10 2 i I
4 10 3 length I
MethodParameters:
Name Flags
catchBlock
public org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel enterAnyExceptionHandler(org.eclipse.jdt.internal.compiler.codegen.CodeStream);
descriptor: (Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement.enterAnyExceptionHandler:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 3 1 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
MethodParameters:
Name Flags
codeStream
public void enterDeclaredExceptionHandlers(org.eclipse.jdt.internal.compiler.codegen.CodeStream);
descriptor: (Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
ifnonnull 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
arraylength
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 2
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeStart:()V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 5
end local 3 end local 2 8: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 2
start local 2 9: iload 2
ifle 15
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
ifnull 15
10: iload 2
istore 3
start local 3 11: goto 14
12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 3
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeStart:()V
13: iinc 3 -1
StackMap locals:
StackMap stack:
14: iload 3
ifge 12
end local 3 15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 16 1 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
1 8 2 i I
4 8 3 length I
9 16 2 resourceCount I
11 15 3 i I
MethodParameters:
Name Flags
codeStream
public void exitAnyExceptionHandler();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokespecial org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement.exitAnyExceptionHandler:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
public void exitDeclaredExceptionHandlers(org.eclipse.jdt.internal.compiler.codegen.CodeStream);
descriptor: (Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
ifnonnull 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
arraylength
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 2
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeEnd:()V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 5
end local 3 end local 2 8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 9 1 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
1 8 2 i I
4 8 3 length I
MethodParameters:
Name Flags
codeStream
private int finallyMode();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.isSubRoutineEscaping:()Z
ifeq 4
3: iconst_2
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.inlineJsrBytecode:Z
ifeq 6
5: iconst_3
ireturn
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
ldc -2147483648
iand
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
istore 3
start local 3 3: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionLabel:Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
4: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargets:[Ljava/lang/Object;
5: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRSequenceStartLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
6: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
7: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 4
start local 4 8: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyMode:()I
istore 5
start local 5 9: iconst_0
istore 6
start local 6 10: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
ifnonnull 11
iconst_0
goto 12
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int int
StackMap stack:
11: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
arraylength
StackMap locals:
StackMap stack: int
12: istore 7
start local 7 13: iload 7
ifle 30
14: iload 7
anewarray org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel
astore 8
start local 8 15: iconst_0
istore 9
start local 9 16: goto 28
17: StackMap locals: int org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel[] int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 9
aaload
astore 10
start local 10 18: aconst_null
astore 11
start local 11 19: aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.tagBits:J
ldc 4096
land
lconst_0
lcmp
ifeq 24
20: new org.eclipse.jdt.internal.compiler.codegen.MultiCatchExceptionLabel
dup
aload 2
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokespecial org.eclipse.jdt.internal.compiler.codegen.MultiCatchExceptionLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
astore 12
start local 12 21: aload 12
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
checkcast org.eclipse.jdt.internal.compiler.ast.UnionTypeReference
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Argument.annotations:[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.MultiCatchExceptionLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/ast/UnionTypeReference;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;)V
22: aload 12
astore 11
end local 12 23: goto 25
24: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Argument org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel
dup
aload 2
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
aload 10
getfield org.eclipse.jdt.internal.compiler.ast.Argument.annotations:[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
invokespecial org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;)V
astore 11
25: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeStart:()V
26: aload 8
iload 9
aload 11
aastore
end local 11 end local 10 27: iinc 9 1
StackMap locals:
StackMap stack:
28: iload 9
iload 7
if_icmplt 17
end local 9 29: goto 31
end local 8 30: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 31: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel[]
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnull 34
32: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
33: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.enterAnyExceptionHandler:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
pop
34: StackMap locals:
StackMap stack:
aload 0
aload 8
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
35: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 9
start local 9 36: iload 9
ifle 63
37: aload 0
iload 9
iconst_1
iadd
anewarray org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
38: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.aconst_null:()V
39: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
40: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
41: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.aconst_null:()V
42: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
43: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
44: iconst_0
istore 10
start local 10 45: goto 62
46: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 10
new org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel
dup
aload 2
aconst_null
invokespecial org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
aastore
47: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 10
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeStart:()V
48: iload 10
iload 9
if_icmpge 61
49: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 10
aaload
astore 11
start local 11 50: aload 11
instanceof org.eclipse.jdt.internal.compiler.ast.NameReference
ifeq 56
51: aload 11
checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
astore 12
start local 12 52: aload 12
dup
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.bits:I
ldc 524288
ior
putfield org.eclipse.jdt.internal.compiler.ast.NameReference.bits:I
53: aload 12
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
checkcast org.eclipse.jdt.internal.compiler.lookup.VariableBinding
astore 13
start local 13 54: aload 12
aload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.ast.NameReference.checkEffectiveFinality:(Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
end local 13 end local 12 55: goto 60
StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement
StackMap stack:
56: aload 11
instanceof org.eclipse.jdt.internal.compiler.ast.FieldReference
ifeq 60
57: aload 11
checkcast org.eclipse.jdt.internal.compiler.ast.FieldReference
astore 12
start local 12 58: aload 12
getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.FieldBinding.isFinal:()Z
ifne 60
59: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 12
getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
aload 12
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotReferToNonFinalField:(Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
end local 12 60: StackMap locals:
StackMap stack:
aload 11
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
end local 11 61: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
62: iload 10
iload 9
if_icmple 46
end local 10 63: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
64: iload 9
ifle 124
65: iload 9
istore 10
start local 10 66: goto 116
67: StackMap locals: int
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 11
start local 11 68: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 10
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeEnd:()V
69: iload 10
ifle 70
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 10
iconst_1
isub
aaload
goto 71
StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel
StackMap stack:
70: aconst_null
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Statement
71: astore 12
start local 12 72: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
ldc 536870912
iand
ifne 81
73: iload 10
ifle 80
74: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 13
start local 13 75: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postTryInitStateIndex:I
iconst_m1
if_icmpeq 78
76: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
77: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
78: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement int
StackMap stack:
aload 0
aload 12
aload 2
aload 11
iconst_0
iconst_0
newarray 10
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCodeSnippet:(Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z[I)V
79: aload 2
iload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
end local 13 80: StackMap locals:
StackMap stack:
aload 2
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
81: StackMap locals:
StackMap stack:
iload 10
ifle 85
82: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postResourcesInitStateIndexes:[I
iload 10
iconst_1
isub
iaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
83: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.postResourcesInitStateIndexes:[I
iload 10
iconst_1
isub
iaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
84: goto 87
85: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
86: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
87: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangThrowable:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pushExceptionOnStack:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
88: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 10
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.place:()V
89: iload 10
iload 9
if_icmpne 92
90: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
91: goto 108
92: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 13
start local 13 93: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 14
start local 14 94: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
95: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
96: aload 2
aload 13
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnonnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
97: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
98: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
99: aload 2
aload 14
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
100: aload 13
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
101: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
102: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
103: aload 2
aload 14
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.if_acmpeq:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
104: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
105: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
106: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeThrowableAddSuppressed:()V
107: aload 14
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 14 end local 13 108: StackMap locals:
StackMap stack:
iload 10
ifle 112
109: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 13
start local 13 110: aload 0
aload 12
aload 2
aload 13
iconst_1
iconst_2
newarray 10
dup
iconst_0
iload 10
iastore
dup
iconst_1
aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
iastore
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCodeSnippet:(Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z[I)V
111: aload 13
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 13 112: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
113: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.athrow:()V
114: aload 11
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 12 end local 11 115: iinc 10 -1
StackMap locals:
StackMap stack:
116: iload 10
ifge 67
end local 10 117: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
118: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
end local 9 119: goto 124
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int int int org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel[]
StackMap stack: java.lang.Throwable
120: astore 15
121: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
122: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
123: aload 15
athrow
124: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.declaredExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
125: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
126: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
iload 4
if_icmpeq 127
iconst_1
goto 128
StackMap locals:
StackMap stack:
127: iconst_0
StackMap locals:
StackMap stack: int
128: istore 9
start local 9 129: iload 9
ifeq 281
130: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 10
start local 10 131: aconst_null
astore 11
start local 11 132: iconst_0
istore 12
start local 12 133: goto 136
134: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int int int org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel[] int org.eclipse.jdt.internal.compiler.codegen.BranchLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int
StackMap stack:
aload 8
iload 12
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeEnd:()V
135: iinc 12 1
StackMap locals:
StackMap stack:
136: iload 12
iload 7
if_icmplt 134
end local 12 137: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
ldc 536870912
iand
ifne 153
138: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 12
start local 12 139: iload 5
tableswitch { // 0 - 3
0: 146
1: 140
2: 151
3: 140
default: 152
}
140: StackMap locals:
StackMap stack:
iconst_1
istore 6
141: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
iconst_m1
if_icmpeq 144
142: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
143: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
144: StackMap locals:
StackMap stack:
aload 2
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
145: goto 152
146: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
iconst_m1
if_icmpeq 149
147: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
148: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
149: StackMap locals:
StackMap stack:
aload 2
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
150: goto 152
151: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
152: StackMap locals:
StackMap stack:
aload 2
iload 12
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
end local 12 153: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.exitAnyExceptionHandler:()V
154: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
ifnull 197
155: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 11
156: iconst_0
istore 12
start local 12 157: goto 196
158: StackMap locals: int
StackMap stack:
aload 8
iload 12
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.getCount:()I
ifne 159
goto 195
159: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.enterAnyExceptionHandler:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
pop
160: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
iconst_m1
if_icmpeq 163
161: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
162: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
163: StackMap locals:
StackMap stack:
aload 2
aload 8
iload 12
aaload
getfield org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.exceptionType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pushExceptionOnStack:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
164: aload 8
iload 12
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.place:()V
165: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 14
start local 14 166: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 12
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
dup
astore 13
start local 13 167: getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.resolvedPosition:I
iconst_m1
if_icmpeq 172
168: aload 2
aload 13
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
169: aload 13
aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.recordInitializationStartPC:(I)V
170: aload 2
aload 13
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addVisibleLocalVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
171: goto 173
172: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding int
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
173: StackMap locals:
StackMap stack:
aload 2
iload 14
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 12
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
174: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 12
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
175: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.exitAnyExceptionHandler:()V
176: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExits:[Z
iload 12
baload
ifne 195
177: iload 5
tableswitch { // 0 - 3
0: 189
1: 188
2: 194
3: 178
default: 195
}
178: StackMap locals:
StackMap stack:
iload 3
ifeq 180
179: aload 2
checkcast org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.pushStateIndex:(I)V
180: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExitInitStateIndexes:[I
iload 12
iaload
iconst_m1
if_icmpeq 183
181: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExitInitStateIndexes:[I
iload 12
iaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
182: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchExitInitStateIndexes:[I
iload 12
iaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
183: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
184: aload 2
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
185: iload 3
ifeq 195
186: aload 2
checkcast org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
invokevirtual org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.popStateIndex:()V
187: goto 195
188: StackMap locals:
StackMap stack:
iconst_1
istore 6
189: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
iconst_m1
if_icmpeq 192
190: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
191: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
192: StackMap locals:
StackMap stack:
aload 2
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
193: goto 195
194: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
end local 14 end local 13 195: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
196: iload 12
iload 7
if_icmplt 158
end local 12 197: StackMap locals:
StackMap stack:
iload 6
ifeq 199
iload 5
iconst_1
if_icmpne 199
198: new org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel
dup
aload 2
aconst_null
invokespecial org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
goto 200
199: StackMap locals:
StackMap stack:
aconst_null
200: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel
astore 12
start local 12 201: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 13
start local 13 202: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnull 279
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionLabel:Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.getCount:()I
ifeq 279
203: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangThrowable:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pushExceptionOnStack:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
204: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
iconst_m1
if_icmpeq 207
205: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
206: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
207: StackMap locals: org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel int
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.placeAllAnyExceptionHandler:()V
208: aload 12
ifnull 209
aload 12
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.place:()V
209: StackMap locals:
StackMap stack:
iload 5
tableswitch { // 1 - 3
1: 210
2: 241
3: 229
default: 245
}
210: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
211: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.jsr:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
212: aload 2
iload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
213: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 14
start local 14 214: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.throwAnyException:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
215: aload 2
iload 14
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
216: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
217: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangThrowable:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pushExceptionOnStack:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
218: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 14
219: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.returnAddressVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
220: aload 2
iload 14
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
221: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
222: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 14
223: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.returnAddressVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.resolvedPosition:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ret:(I)V
224: aload 2
225: iload 14
226: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
227: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
228: goto 245
end local 14 229: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
230: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
231: aload 2
iload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
232: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
233: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 14
start local 14 234: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.throwAnyException:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
235: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
236: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
iconst_m1
if_icmpeq 238
237: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.preTryInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
238: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
239: aload 2
iload 14
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
240: goto 245
end local 14 241: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
242: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
243: aload 2
iload 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
244: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
245: StackMap locals:
StackMap stack:
iload 6
ifeq 276
246: iload 5
tableswitch { // 1 - 3
1: 247
2: 274
3: 257
default: 275
}
247: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
248: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 14
start local 14 249: aload 12
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeStart:()V
250: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.jsr:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
251: aload 12
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeEnd:()V
252: aload 2
253: iload 14
254: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
255: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
256: goto 276
end local 14 257: StackMap locals:
StackMap stack:
iload 3
ifeq 259
258: aload 2
checkcast org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.pushStateIndex:(I)V
259: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
iconst_m1
if_icmpeq 262
260: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
261: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.naturalExitMergeInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
262: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
263: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
264: aload 11
ifnull 271
265: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 14
start local 14 266: aload 2
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
267: aload 2
268: iload 14
269: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
270: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
end local 14 271: StackMap locals:
StackMap stack:
iload 3
ifeq 276
272: aload 2
checkcast org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
invokevirtual org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.popStateIndex:()V
273: goto 276
274: StackMap locals:
StackMap stack:
goto 276
275: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
276: StackMap locals:
StackMap stack:
aload 11
ifnull 283
277: aload 11
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
278: goto 283
279: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 13 end local 12 end local 11 end local 10 280: goto 283
281: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int int int org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel[] int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
ifnull 283
282: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
283: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.mergedInitStateIndex:I
iconst_m1
if_icmpeq 286
284: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.mergedInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
285: aload 2
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.mergedInitStateIndex:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
286: StackMap locals:
StackMap stack:
aload 2
iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.sourceStart:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
287: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 288 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 288 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 288 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
3 288 3 isStackMapFrameCodeStream Z
8 288 4 pc I
9 288 5 finallyMode I
10 288 6 requiresNaturalExit Z
13 288 7 maxCatches I
15 30 8 exceptionLabels [Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
31 288 8 exceptionLabels [Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
16 29 9 i I
18 27 10 argument Lorg/eclipse/jdt/internal/compiler/ast/Argument;
19 27 11 exceptionLabel Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
21 23 12 multiCatchExceptionLabel Lorg/eclipse/jdt/internal/compiler/codegen/MultiCatchExceptionLabel;
36 119 9 resourceCount I
45 63 10 i I
50 61 11 stmt Lorg/eclipse/jdt/internal/compiler/ast/Statement;
52 55 12 ref Lorg/eclipse/jdt/internal/compiler/ast/NameReference;
54 55 13 binding Lorg/eclipse/jdt/internal/compiler/lookup/VariableBinding;
58 60 12 fieldReference Lorg/eclipse/jdt/internal/compiler/ast/FieldReference;
66 117 10 i I
68 115 11 exitLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
72 115 12 stmt Lorg/eclipse/jdt/internal/compiler/ast/Statement;
75 80 13 invokeCloseStartPc I
93 108 13 elseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
94 108 14 postElseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
110 112 13 postCloseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
129 288 9 tryBlockHasSomeCode Z
131 280 10 naturalExitLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
132 280 11 postCatchesFinallyLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
133 137 12 i I
139 153 12 position I
157 197 12 i I
167 195 13 catchVar Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
166 195 14 varPC I
201 280 12 naturalExitExceptionHandler Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
202 280 13 finallySequenceStartPC I
214 229 14 position I
234 241 14 position I
249 257 14 position I
266 271 14 position I
Exception table:
from to target type
34 120 120 any
MethodParameters:
Name Flags
currentScope
codeStream
private void generateCodeSnippet(org.eclipse.jdt.internal.compiler.ast.Statement, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean, int[]);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z[I)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_m1
istore 6
start local 6 1: iconst_m1
istore 7
start local 7 2: iload 4
ifeq 5
3: aload 5
iconst_0
iaload
istore 6
4: aload 5
iconst_1
iaload
istore 7
5: StackMap locals: int int
StackMap stack:
aload 1
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 7
6: aload 0
aload 1
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
aload 2
aload 3
iload 4
iload 6
iload 7
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCodeSnippet:(Lorg/eclipse/jdt/internal/compiler/ast/LocalDeclaration;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;ZII)V
goto 9
7: StackMap locals:
StackMap stack:
aload 1
instanceof org.eclipse.jdt.internal.compiler.ast.Reference
ifeq 9
8: aload 0
aload 1
checkcast org.eclipse.jdt.internal.compiler.ast.Reference
aload 2
aload 3
iload 4
iload 6
iload 7
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCodeSnippet:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;ZII)V
9: 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 10 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 10 1 statement Lorg/eclipse/jdt/internal/compiler/ast/Statement;
0 10 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 10 3 postCloseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 10 4 record Z
0 10 5 values [I
1 10 6 i I
2 10 7 invokeCloseStartPc I
MethodParameters:
Name Flags
statement
codeStream
postCloseLabel
record
values
private void generateCodeSnippet(org.eclipse.jdt.internal.compiler.ast.Reference, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean, int, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Reference;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;ZII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
1: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
2: aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
3: aload 2
aload 1
getfield org.eclipse.jdt.internal.compiler.ast.Reference.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeAutoCloseableClose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
4: iload 4
ifne 5
return
5: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
6: aload 0
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.isDuplicateResourceReference:(I)Z
pop
7: 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 8 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 8 1 reference Lorg/eclipse/jdt/internal/compiler/ast/Reference;
0 8 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 8 3 postCloseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 8 4 record Z
0 8 5 i I
0 8 6 invokeCloseStartPc I
MethodParameters:
Name Flags
reference
codeStream
postCloseLabel
record
i
invokeCloseStartPc
private void generateCodeSnippet(org.eclipse.jdt.internal.compiler.ast.LocalDeclaration, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.codegen.BranchLabel, boolean, int, int);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/LocalDeclaration;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;ZII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 7
start local 7 1: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
2: aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifnull:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
3: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
4: aload 2
aload 7
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeAutoCloseableClose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
5: iload 4
ifne 6
return
6: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
StackMap stack:
aload 2
iload 6
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
7: aload 0
iload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.isDuplicateResourceReference:(I)Z
ifne 9
8: aload 2
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
9: 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 10 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 10 1 localDeclaration Lorg/eclipse/jdt/internal/compiler/ast/LocalDeclaration;
0 10 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 10 3 postCloseLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
0 10 4 record Z
0 10 5 i I
0 10 6 invokeCloseStartPc I
1 10 7 variableBinding Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
MethodParameters:
Name Flags
localDeclaration
codeStream
postCloseLabel
record
i
invokeCloseStartPc
private boolean isDuplicateResourceReference(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 2
start local 2 1: iload 1
iload 2
if_icmpge 21
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 1
aaload
instanceof org.eclipse.jdt.internal.compiler.ast.Reference
ifeq 21
2: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 1
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.Reference
astore 3
start local 3 3: aload 3
instanceof org.eclipse.jdt.internal.compiler.ast.NameReference
ifeq 4
aload 3
checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
goto 6
4: StackMap locals: int org.eclipse.jdt.internal.compiler.ast.Reference
StackMap stack:
aload 3
instanceof org.eclipse.jdt.internal.compiler.ast.FieldReference
ifeq 5
aload 3
checkcast org.eclipse.jdt.internal.compiler.ast.FieldReference
getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
goto 6
StackMap locals:
StackMap stack:
5: aconst_null
6: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.Binding
astore 4
start local 4 7: aload 4
ifnonnull 8
iconst_0
ireturn
8: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Binding
StackMap stack:
iconst_0
istore 5
start local 5 9: goto 20
10: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
astore 6
start local 6 11: aload 6
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 12
aload 6
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
goto 15
12: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement
StackMap stack:
aload 6
instanceof org.eclipse.jdt.internal.compiler.ast.NameReference
ifeq 13
aload 6
checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
getfield org.eclipse.jdt.internal.compiler.ast.NameReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
goto 15
13: StackMap locals:
StackMap stack:
aload 6
instanceof org.eclipse.jdt.internal.compiler.ast.FieldReference
ifeq 14
aload 6
checkcast org.eclipse.jdt.internal.compiler.ast.FieldReference
getfield org.eclipse.jdt.internal.compiler.ast.FieldReference.binding:Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
goto 15
StackMap locals:
StackMap stack:
14: aconst_null
15: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.Binding
astore 7
start local 7 16: aload 7
aload 4
if_acmpne 19
17: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.duplicateResourceReference:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;)V
18: iconst_1
ireturn
end local 7 end local 6 19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
iload 1
if_icmplt 10
end local 5 end local 4 end local 3 21: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 22 1 index I
1 22 2 len I
3 21 3 ref Lorg/eclipse/jdt/internal/compiler/ast/Reference;
7 21 4 refBinding Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
9 21 5 i I
11 19 6 stmt Lorg/eclipse/jdt/internal/compiler/ast/Statement;
16 19 7 b Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
MethodParameters:
Name Flags
index
public boolean generateSubRoutineInvocation(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, java.lang.Object, int, org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Ljava/lang/Object;ILorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 6
start local 6 1: iload 6
ifle 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
ifnull 13
2: iload 6
istore 7
start local 7 3: goto 11
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iload 7
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeEnd:()V
5: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 8
start local 8 6: aload 2
getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
istore 9
start local 9 7: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 7
iconst_1
isub
aaload
aload 2
aload 8
iconst_0
iconst_0
newarray 10
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCodeSnippet:(Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;Z[I)V
8: aload 2
iload 9
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
9: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
end local 9 end local 8 10: iinc 7 -1
StackMap locals:
StackMap stack:
11: iload 7
ifgt 4
end local 7 12: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resourceExceptionLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/ExceptionLabel;
iconst_0
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ExceptionLabel.placeEnd:()V
13: StackMap locals:
StackMap stack:
aload 2
instanceof org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
istore 7
start local 7 14: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyMode:()I
istore 8
start local 8 15: iload 8
tableswitch { // 0 - 2
0: 18
1: 20
2: 16
default: 20
}
16: StackMap locals: int int
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
17: iconst_1
ireturn
18: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.exitDeclaredExceptionHandlers:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
astore 9
start local 9 21: aload 9
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.shareCommonFinallyBlocks:Z
ifeq 54
aload 3
ifnull 54
22: iconst_1
istore 10
start local 10 23: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
ifle 41
24: iconst_0
istore 11
start local 11 25: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
istore 12
start local 12 26: goto 39
27: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream java.lang.Object int org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding int int int org.eclipse.jdt.internal.compiler.impl.CompilerOptions int int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargets:[Ljava/lang/Object;
iload 11
aaload
astore 13
start local 13 28: aload 3
aload 13
if_acmpne 30
29: goto 33
30: StackMap locals: java.lang.Object
StackMap stack:
aload 3
instanceof org.eclipse.jdt.internal.compiler.impl.Constant
ifeq 38
31: aload 13
instanceof org.eclipse.jdt.internal.compiler.impl.Constant
ifeq 38
32: aload 3
checkcast org.eclipse.jdt.internal.compiler.impl.Constant
aload 13
checkcast org.eclipse.jdt.internal.compiler.impl.Constant
invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.hasSameValue:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;)Z
ifeq 38
33: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRStateIndexes:[I
iload 11
iaload
iload 4
if_icmpeq 36
iload 8
iconst_3
if_icmpne 36
34: iconst_0
istore 10
35: goto 44
36: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRSequenceStartLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
iload 11
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
37: iconst_1
ireturn
end local 13 38: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
39: iload 11
iload 12
if_icmplt 27
end local 12 end local 11 40: goto 44
41: StackMap locals:
StackMap stack:
aload 0
iconst_3
anewarray java.lang.Object
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargets:[Ljava/lang/Object;
42: aload 0
iconst_3
anewarray org.eclipse.jdt.internal.compiler.codegen.BranchLabel
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRSequenceStartLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
43: aload 0
iconst_3
newarray 10
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRStateIndexes:[I
44: StackMap locals:
StackMap stack:
iload 10
ifeq 54
45: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargets:[Ljava/lang/Object;
arraylength
if_icmpne 49
46: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargets:[Ljava/lang/Object;
iconst_0
aload 0
iconst_2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
imul
anewarray java.lang.Object
dup_x1
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargets:[Ljava/lang/Object;
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
47: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRSequenceStartLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
iconst_0
aload 0
iconst_2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
imul
anewarray org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup_x1
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRSequenceStartLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
48: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRStateIndexes:[I
iconst_0
aload 0
iconst_2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
imul
newarray 10
dup_x1
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRStateIndexes:[I
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
49: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargets:[Ljava/lang/Object;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
aload 3
aastore
50: new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
astore 11
start local 11 51: aload 11
invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
52: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRStateIndexes:[I
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
iload 4
iastore
53: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRSequenceStartLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
aload 0
dup
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
dup_x1
iconst_1
iadd
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.reusableJSRTargetsCount:I
aload 11
aastore
end local 11 end local 10 54: StackMap locals:
StackMap stack:
iload 8
iconst_3
if_icmpne 63
55: iload 7
ifeq 57
56: aload 2
checkcast org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
iload 4
invokevirtual org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.pushStateIndex:(I)V
57: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.exitAnyExceptionHandler:()V
58: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.exitDeclaredExceptionHandlers:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
59: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
60: iload 7
ifeq 66
61: aload 2
checkcast org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
invokevirtual org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.popStateIndex:()V
62: goto 66
63: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.jsr:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
64: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.exitAnyExceptionHandler:()V
65: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.exitDeclaredExceptionHandlers:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
66: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 67 1 currentScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 67 2 codeStream Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
0 67 3 targetLocation Ljava/lang/Object;
0 67 4 stateIndex I
0 67 5 secretLocal Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
1 67 6 resourceCount I
3 12 7 i I
6 10 8 exitLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
7 10 9 invokeCloseStartPc I
14 67 7 isStackMapFrameCodeStream Z
15 67 8 finallyMode I
21 67 9 options Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
23 54 10 reuseTargetLocation Z
25 40 11 i I
26 40 12 count I
28 38 13 reusableJSRTarget Ljava/lang/Object;
51 54 11 reusableJSRSequenceStartLabel Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
MethodParameters:
Name Flags
currentScope
codeStream
targetLocation
stateIndex
secretLocal
public boolean isSubRoutineEscaping();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.bits:I
sipush 16384
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
public java.lang.StringBuffer printStatement(int, java.lang.StringBuffer);
descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 3
start local 3 1: iload 1
aload 2
invokestatic org.eclipse.jdt.internal.compiler.ast.TryStatement.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
new java.lang.StringBuilder
dup
ldc "try"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
ifne 2
ldc "\n"
goto 3
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement int java.lang.StringBuffer int
StackMap stack: java.lang.StringBuffer java.lang.StringBuilder
2: ldc " ("
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement int java.lang.StringBuffer int
StackMap stack: java.lang.StringBuffer java.lang.StringBuilder java.lang.String
3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: iconst_0
istore 4
start local 4 5: goto 16
6: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 4
aaload
astore 5
start local 5 7: aload 5
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 10
8: aload 5
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
iconst_0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.printAsExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
9: goto 12
StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement
StackMap stack:
10: aload 5
instanceof org.eclipse.jdt.internal.compiler.ast.Reference
ifeq 15
11: aload 5
checkcast org.eclipse.jdt.internal.compiler.ast.Reference
iconst_0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
12: StackMap locals:
StackMap stack:
iload 4
iload 3
iconst_1
isub
if_icmpeq 15
13: aload 2
ldc ";\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
14: iload 1
iconst_2
iadd
aload 2
invokestatic org.eclipse.jdt.internal.compiler.ast.TryStatement.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 3
if_icmplt 6
end local 4 17: iload 3
ifle 19
18: aload 2
ldc ")\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
19: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 1
iconst_1
iadd
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
20: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 29
21: iconst_0
istore 4
start local 4 22: goto 28
23: StackMap locals: int
StackMap stack:
aload 2
bipush 10
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
24: iload 1
aload 2
invokestatic org.eclipse.jdt.internal.compiler.ast.TryStatement.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
ldc "catch ("
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
25: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 4
aaload
iconst_0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Argument.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
ldc ")\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
26: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 4
aaload
iload 1
iconst_1
iadd
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
27: iinc 4 1
StackMap locals:
StackMap stack:
28: iload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
arraylength
if_icmplt 23
end local 4 29: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 33
30: aload 2
bipush 10
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
31: iload 1
aload 2
invokestatic org.eclipse.jdt.internal.compiler.ast.TryStatement.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
ldc "finally\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
32: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 1
iconst_1
iadd
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
pop
33: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 34 1 indent I
0 34 2 output Ljava/lang/StringBuffer;
1 34 3 length I
5 17 4 i I
7 15 5 stmt Lorg/eclipse/jdt/internal/compiler/ast/Statement;
22 29 4 i I
MethodParameters:
Name Flags
indent
output
public void resolve(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: aload 0
new org.eclipse.jdt.internal.compiler.lookup.BlockScope
dup
aload 1
invokespecial org.eclipse.jdt.internal.compiler.lookup.BlockScope.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
arraylength
istore 4
start local 4 4: iload 4
ifle 16
5: new org.eclipse.jdt.internal.compiler.lookup.BlockScope
dup
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokespecial org.eclipse.jdt.internal.compiler.lookup.BlockScope.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
astore 3
6: aload 0
7: new org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
dup
getstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_PRIMARY_EXCEPTION_VARIABLE_NAME:[C
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangThrowable:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iconst_0
iconst_0
invokespecial org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.<init>:([CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
8: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
9: aload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.addLocalVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
10: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.primaryExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.setConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;)V
11: aload 0
12: new org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
dup
getstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_CAUGHT_THROWABLE_VARIABLE_NAME:[C
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangThrowable:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iconst_0
iconst_0
invokespecial org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.<init>:([CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
13: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
14: aload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.addLocalVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
15: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtThrowableVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.setConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;)V
16: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope int
StackMap stack:
iconst_0
istore 5
start local 5 17: goto 46
18: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.resolve:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
19: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
ifeq 35
20: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.LocalDeclaration
astore 6
start local 6 21: aload 6
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
astore 7
start local 7 22: aload 7
ifnull 45
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.isValidBinding:()Z
ifeq 45
23: aload 7
dup
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.modifiers:I
bipush 16
ior
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.modifiers:I
24: aload 7
dup
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.tagBits:J
ldc 8192
lor
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.tagBits:J
25: aload 7
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 8
start local 8 26: aload 8
instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
ifeq 31
27: aload 8
bipush 62
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
ifnonnull 45
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
ifeq 45
28: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 6
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.resourceHasToImplementAutoCloseable:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
29: aload 7
new org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
dup
bipush 46
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
aconst_null
bipush 15
invokespecial org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding.<init>:([[CLorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;I)V
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
30: goto 45
StackMap locals: org.eclipse.jdt.internal.compiler.ast.LocalDeclaration org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
31: aload 8
ifnull 45
32: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
aload 6
getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.resourceHasToImplementAutoCloseable:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
33: aload 7
new org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
dup
bipush 46
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
aconst_null
bipush 15
invokespecial org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding.<init>:([[CLorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;I)V
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
end local 8 end local 7 end local 6 34: goto 45
35: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
astore 6
start local 6 36: aload 6
getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 7
start local 7 37: aload 7
instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
ifeq 42
38: aload 7
bipush 62
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
ifnonnull 45
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
ifeq 45
39: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.resourceHasToImplementAutoCloseable:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
40: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
new org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
dup
bipush 46
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
aconst_null
bipush 15
invokespecial org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding.<init>:([[CLorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;I)V
putfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
41: goto 45
StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
42: aload 7
ifnull 45
43: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 7
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.resourceHasToImplementAutoCloseable:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
44: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
iload 5
aaload
checkcast org.eclipse.jdt.internal.compiler.ast.Expression
new org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
dup
bipush 46
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
aconst_null
bipush 15
invokespecial org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding.<init>:([[CLorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;I)V
putfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
end local 7 end local 6 45: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
46: iload 5
iload 4
if_icmplt 18
end local 5 47: new org.eclipse.jdt.internal.compiler.lookup.BlockScope
dup
aload 3
ifnull 48
aload 3
goto 49
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope int
StackMap stack: new 47 new 47
48: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope int
StackMap stack: new 47 new 47 org.eclipse.jdt.internal.compiler.lookup.BlockScope
49: invokespecial org.eclipse.jdt.internal.compiler.lookup.BlockScope.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
astore 5
start local 5 50: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 95
51: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.isEmptyBlock:()Z
ifeq 55
52: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.bits:I
bipush 8
iand
ifeq 95
53: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceStart:I
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.undocumentedEmptyBlock:(II)V
54: goto 95
55: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BlockScope
StackMap stack:
new org.eclipse.jdt.internal.compiler.lookup.BlockScope
dup
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iconst_0
invokespecial org.eclipse.jdt.internal.compiler.lookup.BlockScope.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Z)V
astore 2
56: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
astore 6
start local 6 57: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.inlineJsrBytecode:Z
ifne 63
58: aload 0
59: new org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
dup
getstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_RETURN_ADDRESS_NAME:[C
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangObject:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iconst_0
iconst_0
invokespecial org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.<init>:([CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
60: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.returnAddressVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
61: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.returnAddressVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.addLocalVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
62: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.returnAddressVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.setConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;)V
63: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodScope
StackMap stack:
aload 0
new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
dup
invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:()V
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.subRoutineStartLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
64: aload 0
65: new org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
dup
getstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_ANY_HANDLER_NAME:[C
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangThrowable:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iconst_0
iconst_0
invokespecial org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.<init>:([CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
66: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
67: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.addLocalVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
68: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.anyExceptionVariable:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.setConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;)V
69: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.isInsideInitializer:()Z
ifne 89
70: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodScope.referenceContext:Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
ifeq 72
71: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodScope.referenceContext:Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
goto 75
StackMap locals:
StackMap stack:
72: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodScope.referenceContext:Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
instanceof org.eclipse.jdt.internal.compiler.ast.LambdaExpression
ifeq 74
73: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodScope.referenceContext:Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
checkcast org.eclipse.jdt.internal.compiler.ast.LambdaExpression
getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
goto 75
StackMap locals:
StackMap stack:
74: aconst_null
75: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
astore 7
start local 7 76: aload 7
ifnull 89
77: aload 7
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 8
start local 8 78: aload 8
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
bipush 6
if_icmpeq 89
79: aload 0
80: new org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
dup
81: getstatic org.eclipse.jdt.internal.compiler.ast.TryStatement.SECRET_RETURN_VALUE_NAME:[C
82: aload 8
83: iconst_0
84: iconst_0
85: invokespecial org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.<init>:([CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
86: putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.secretReturnValue:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
87: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.secretReturnValue:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.addLocalVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
88: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.secretReturnValue:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.setConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;)V
end local 8 end local 7 89: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
90: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
ifnonnull 91
iconst_1
goto 92
StackMap locals:
StackMap stack:
91: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
arraylength
iconst_1
iadd
StackMap locals:
StackMap stack: int
92: istore 7
start local 7 93: aload 2
iload 7
anewarray org.eclipse.jdt.internal.compiler.lookup.BlockScope
putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.shiftScopes:[Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
94: aload 2
getfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.shiftScopes:[Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iconst_0
aload 5
aastore
end local 7 end local 6 95: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
96: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 119
97: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
arraylength
istore 6
start local 6 98: iload 6
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
astore 7
start local 7 99: iconst_0
istore 8
start local 8 100: iconst_0
istore 9
start local 9 101: iconst_0
istore 10
start local 10 102: goto 114
103: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int int
StackMap stack:
new org.eclipse.jdt.internal.compiler.lookup.BlockScope
dup
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokespecial org.eclipse.jdt.internal.compiler.lookup.BlockScope.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
astore 11
start local 11 104: aload 2
ifnull 106
105: aload 2
getfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.shiftScopes:[Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
iload 10
iconst_1
iadd
aload 11
aastore
106: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BlockScope
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 10
aaload
astore 12
start local 12 107: iload 8
aload 12
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
ldc 536870912
iand
ifeq 108
iconst_1
goto 109
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int int org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.ast.Argument
StackMap stack: int
108: iconst_0
StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int int org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.ast.Argument
StackMap stack: int int
109: ior
istore 8
110: aload 7
iload 10
aload 12
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.ast.Argument.resolveForCatch:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
dup_x2
aastore
ifnonnull 112
111: iconst_1
istore 9
112: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 10
aaload
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
end local 12 end local 11 113: iinc 10 1
StackMap locals:
StackMap stack:
114: iload 10
iload 6
if_icmplt 103
end local 10 115: iload 9
ifeq 117
116: return
117: StackMap locals:
StackMap stack:
aload 0
iload 6
aload 7
iload 8
invokevirtual org.eclipse.jdt.internal.compiler.ast.TryStatement.verifyDuplicationAndOrder:(I[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)V
end local 9 end local 8 end local 7 end local 6 118: goto 120
119: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.BlockScope int org.eclipse.jdt.internal.compiler.lookup.BlockScope
StackMap stack:
aload 0
iconst_0
anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
120: StackMap locals:
StackMap stack:
aload 2
ifnull 122
121: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.addSubscope:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
122: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 123 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 123 1 upperScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
2 123 2 finallyScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
3 123 3 resourceManagementScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
4 123 4 resourceCount I
17 47 5 i I
21 34 6 node Lorg/eclipse/jdt/internal/compiler/ast/LocalDeclaration;
22 34 7 localVariableBinding Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
26 34 8 resourceType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
36 45 6 node Lorg/eclipse/jdt/internal/compiler/ast/Expression;
37 45 7 resourceType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
50 123 5 tryScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
57 95 6 methodScope Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
76 89 7 methodBinding Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
78 89 8 methodReturnType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
93 95 7 shiftScopesLength I
98 118 6 length I
99 118 7 argumentTypes [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
100 118 8 containsUnionTypes Z
101 118 9 catchHasError Z
102 115 10 i I
104 113 11 catchScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
107 113 12 catchArgument Lorg/eclipse/jdt/internal/compiler/ast/Argument;
MethodParameters:
Name Flags
upperScope
public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
ifeq 19
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.resources:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 3
arraylength
istore 5
start local 5 4: goto 7
5: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement[] int int
StackMap stack:
aload 3
iload 4
aaload
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 5
end local 5 end local 4 8: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
9: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
ifnull 17
10: iconst_0
istore 4
start local 4 11: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
arraylength
istore 5
start local 5 12: goto 16
13: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 4
aaload
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Argument.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
14: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 4
aaload
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 5
if_icmplt 13
end local 5 end local 4 17: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 19
18: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
end local 3 19: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 21 1 visitor Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
0 21 2 blockScope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
2 19 3 statements [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
3 8 4 i I
4 8 5 max I
11 17 4 i I
12 17 5 max I
MethodParameters:
Name Flags
visitor
blockScope
protected void verifyDuplicationAndOrder(int, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], boolean);
descriptor: (I[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 65
1: iconst_0
istore 4
start local 4 2: iload 1
anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 24
5: StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[][] int
StackMap stack:
aload 2
iload 6
aaload
instanceof org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
ifeq 7
6: goto 23
7: StackMap locals:
StackMap stack:
aload 2
iload 6
aaload
checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
astore 7
start local 7 8: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 6
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
astore 8
start local 8 9: aload 8
getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
ldc 536870912
iand
ifeq 21
10: aload 8
checkcast org.eclipse.jdt.internal.compiler.ast.UnionTypeReference
getfield org.eclipse.jdt.internal.compiler.ast.UnionTypeReference.typeReferences:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
astore 9
start local 9 11: aload 9
arraylength
istore 10
start local 10 12: iload 10
anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
astore 11
start local 11 13: iconst_0
istore 12
start local 12 14: goto 17
15: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[][] int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.ast.TypeReference org.eclipse.jdt.internal.compiler.ast.TypeReference[] int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int
StackMap stack:
aload 11
iload 12
aload 9
iload 12
aaload
getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
aastore
16: iinc 12 1
StackMap locals:
StackMap stack:
17: iload 12
iload 10
if_icmplt 15
end local 12 18: iload 4
iload 10
iadd
istore 4
19: aload 5
iload 6
aload 11
aastore
end local 11 end local 10 end local 9 20: goto 23
21: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[][] int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.ast.TypeReference
StackMap stack:
aload 5
iload 6
iconst_1
anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
dup
iconst_0
aload 7
aastore
aastore
22: iinc 4 1
end local 8 end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
iload 1
if_icmplt 5
end local 6 25: aload 0
iload 4
anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
26: aload 0
iload 4
newarray 10
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionsCatchBlocks:[I
27: iconst_0
istore 6
start local 6 28: iconst_0
istore 7
start local 7 29: goto 63
30: StackMap locals: int
StackMap stack:
aload 5
iload 6
aaload
astore 8
start local 8 31: aload 8
ifnonnull 32
goto 62
32: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]
StackMap stack:
iconst_0
istore 9
start local 9 33: aload 8
arraylength
istore 10
start local 10 34: goto 61
35: StackMap locals: int int
StackMap stack:
aload 8
iload 9
aaload
astore 11
start local 11 36: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 7
aload 11
aastore
37: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionsCatchBlocks:[I
iload 7
iinc 7 1
iload 6
iastore
38: iconst_0
istore 12
start local 12 39: goto 59
40: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int
StackMap stack:
aload 5
iload 12
aaload
astore 13
start local 13 41: aload 13
ifnonnull 42
goto 58
42: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]
StackMap stack:
iconst_0
istore 14
start local 14 43: aload 13
arraylength
istore 15
start local 15 44: goto 57
45: StackMap locals: int int
StackMap stack:
aload 13
iload 14
aaload
astore 16
start local 16 46: aload 11
aload 16
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 56
47: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 6
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
astore 17
start local 17 48: aload 17
getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
ldc 536870912
iand
ifeq 50
49: aload 17
checkcast org.eclipse.jdt.internal.compiler.ast.UnionTypeReference
getfield org.eclipse.jdt.internal.compiler.ast.UnionTypeReference.typeReferences:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
iload 9
aaload
astore 17
50: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.ast.TypeReference
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
51: aload 17
52: aload 11
53: aload 16
54: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.wrongSequenceOfExceptionTypesError:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
55: goto 62
end local 17 end local 16 56: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
57: iload 14
iload 15
if_icmplt 45
end local 15 end local 14 end local 13 58: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
59: iload 12
iload 6
if_icmplt 40
end local 12 end local 11 60: iinc 9 1
StackMap locals:
StackMap stack:
61: iload 9
iload 10
if_icmplt 35
end local 10 end local 9 end local 8 62: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
63: iload 6
iload 1
if_icmplt 30
end local 7 end local 6 end local 5 end local 4 64: goto 83
65: StackMap locals: org.eclipse.jdt.internal.compiler.ast.TryStatement int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
StackMap stack:
aload 0
iload 1
anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
putfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
66: iconst_0
istore 4
start local 4 67: goto 82
68: StackMap locals: int
StackMap stack:
aload 2
iload 4
aaload
instanceof org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
ifeq 70
69: goto 81
70: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 4
aload 2
iload 4
aaload
checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
aastore
71: iconst_0
istore 5
start local 5 72: goto 80
73: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 4
aaload
aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 79
74: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
75: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 4
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
76: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.caughtExceptionTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 4
aaload
77: aload 2
iload 5
aaload
78: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.wrongSequenceOfExceptionTypesError:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
79: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
80: iload 5
iload 4
if_icmplt 73
end local 5 81: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
82: iload 4
iload 1
if_icmplt 68
end local 4 83: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 84 1 length I
0 84 2 argumentTypes [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 84 3 containsUnionTypes Z
2 64 4 totalCount I
3 64 5 allExceptionTypes [[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
4 25 6 i I
8 23 7 currentExceptionType Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
9 23 8 catchArgumentType Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
11 20 9 typeReferences [Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
12 20 10 typeReferencesLength I
13 20 11 unionExceptionTypes [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
14 18 12 j I
28 64 6 i I
29 64 7 l I
31 62 8 currentExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
33 62 9 j I
34 62 10 max I
36 60 11 exception Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
39 60 12 k I
41 58 13 exceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
43 58 14 n I
44 58 15 max2 I
46 56 16 currentException Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
48 56 17 catchArgumentType Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
67 83 4 i I
72 81 5 j I
MethodParameters:
Name Flags
length
argumentTypes
containsUnionTypes
public boolean doesNotCompleteNormally();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.doesNotCompleteNormally:()Z
ifne 4
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 2
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.doesNotCompleteNormally:()Z
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 13
5: iconst_0
istore 1
start local 1 6: goto 12
7: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 1
aaload
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.doesNotCompleteNormally:()Z
ifne 11
8: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 9
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.doesNotCompleteNormally:()Z
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: ireturn
11: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
12: iload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
arraylength
if_icmplt 7
end local 1 13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
6 13 1 i I
public boolean completesByContinue();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.tryBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.completesByContinue:()Z
ifeq 6
1: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnonnull 2
iconst_1
goto 5
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.doesNotCompleteNormally:()Z
ifeq 4
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.completesByContinue:()Z
ifne 4
3: iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 17
7: iconst_0
istore 1
start local 1 8: goto 16
9: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
iload 1
aaload
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.completesByContinue:()Z
ifeq 15
10: aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnonnull 11
iconst_1
goto 14
11: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.doesNotCompleteNormally:()Z
ifeq 13
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.completesByContinue:()Z
ifne 13
12: iconst_0
goto 14
StackMap locals:
StackMap stack:
13: iconst_1
StackMap locals:
StackMap stack: int
14: ireturn
15: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
16: iload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchBlocks:[Lorg/eclipse/jdt/internal/compiler/ast/Block;
arraylength
if_icmplt 9
end local 1 17: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
ifnull 18
aload 0
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.finallyBlock:Lorg/eclipse/jdt/internal/compiler/ast/Block;
invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.completesByContinue:()Z
ifeq 18
iconst_1
ireturn
StackMap locals:
StackMap stack:
18: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
8 17 1 i I
}
SourceFile: "TryStatement.java"
InnerClasses:
public EmptyWithAstNode = org.eclipse.jdt.internal.compiler.lookup.InvocationSite$EmptyWithAstNode of org.eclipse.jdt.internal.compiler.lookup.InvocationSite