public class org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext extends org.eclipse.jdt.internal.compiler.flow.FlowContext
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
super_class: org.eclipse.jdt.internal.compiler.flow.FlowContext
{
public static final int BitCacheSize;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] handledExceptions;
descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
flags: (0x0001) ACC_PUBLIC
int[] isReached;
descriptor: [I
flags: (0x0000)
int[] isNeeded;
descriptor: [I
flags: (0x0000)
org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo[] initsOnExceptions;
descriptor: [Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0000)
org.eclipse.jdt.internal.compiler.codegen.ObjectCache indexes;
descriptor: Lorg/eclipse/jdt/internal/compiler/codegen/ObjectCache;
flags: (0x0000)
boolean isMethodContext;
descriptor: Z
flags: (0x0000)
public org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo initsOnReturn;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0001) ACC_PUBLIC
public org.eclipse.jdt.internal.compiler.flow.FlowContext initializationParent;
descriptor: Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
public java.util.ArrayList extendedExceptions;
descriptor: Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
private static final org.eclipse.jdt.internal.compiler.ast.Argument[] NO_ARGUMENTS;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Argument;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public org.eclipse.jdt.internal.compiler.ast.Argument[] catchArguments;
descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Argument;
flags: (0x0001) ACC_PUBLIC
private int[] exceptionToCatchBlockMap;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray org.eclipse.jdt.internal.compiler.ast.Argument
putstatic org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.NO_ARGUMENTS:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[], org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aconst_null
getstatic org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.NO_ARGUMENTS:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
aload 4
aload 5
aload 6
invokespecial org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[I[Lorg/eclipse/jdt/internal/compiler/ast/Argument;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
1: 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 2 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 2 1 parent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 2 2 associatedNode Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 2 3 handledExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
0 2 4 initializationParent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 2 5 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 2 6 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
MethodParameters:
Name Flags
parent
associatedNode
handledExceptions
initializationParent
scope
flowInfo
public void <init>(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.ast.TryStatement, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[], int[], org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
descriptor: (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
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
aload 3
aload 4
1: aload 2
getfield org.eclipse.jdt.internal.compiler.ast.TryStatement.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
aload 5
aload 6
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokespecial org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[I[Lorg/eclipse/jdt/internal/compiler/ast/Argument;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
2: aload 7
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
astore 8
start local 8 3: aload 8
ldc -1
putfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.iNBit:J
4: aload 8
ldc -1
putfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.iNNBit:J
5: aload 8
dup
getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
bipush 64
ior
putfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
6: aload 0
aload 8
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnFinally:Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
7: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 8 1 parent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 8 2 tryStatement Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
0 8 3 handledExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
0 8 4 exceptionToCatchBlockMap [I
0 8 5 initializationParent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 8 6 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 8 7 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
3 8 8 unconditionalCopy Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
MethodParameters:
Name Flags
parent
tryStatement
handledExceptions
exceptionToCatchBlockMap
initializationParent
scope
flowInfo
void <init>(org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[], int[], org.eclipse.jdt.internal.compiler.ast.Argument[], org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[I[Lorg/eclipse/jdt/internal/compiler/ast/Argument;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
flags: (0x0000)
Code:
stack=6, locals=15, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
aload 2
iconst_1
invokespecial org.eclipse.jdt.internal.compiler.flow.FlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
1: aload 0
new org.eclipse.jdt.internal.compiler.codegen.ObjectCache
dup
invokespecial org.eclipse.jdt.internal.compiler.codegen.ObjectCache.<init>:()V
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.indexes:Lorg/eclipse/jdt/internal/compiler/codegen/ObjectCache;
2: aload 0
aload 7
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
if_acmpne 3
iconst_1
goto 4
StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int[] org.eclipse.jdt.internal.compiler.ast.Argument[] org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
StackMap stack: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext
3: iconst_0
StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int[] org.eclipse.jdt.internal.compiler.ast.Argument[] org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
StackMap stack: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext int
4: putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isMethodContext:Z
5: aload 0
aload 3
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
6: aload 0
aload 5
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
7: aload 0
aload 4
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
8: aload 3
arraylength
istore 9
start local 9 9: iload 9
bipush 32
idiv
iconst_1
iadd
istore 10
start local 10 10: aload 0
iload 10
newarray 10
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isReached:[I
11: aload 0
iload 10
newarray 10
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isNeeded:[I
12: aload 0
iload 9
anewarray org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
13: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isMethodContext:Z
ifeq 15
aload 7
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.reportUnusedDeclaredThrownExceptionExemptExceptionAndThrowable:Z
ifne 15
14: iconst_0
goto 16
StackMap locals: int int
StackMap stack:
15: iconst_1
StackMap locals:
StackMap stack: int
16: istore 11
start local 11 17: iconst_0
istore 12
start local 12 18: goto 33
19: StackMap locals: int int
StackMap stack:
aload 3
iload 12
aaload
astore 13
start local 13 20: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
ifnull 21
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
iload 12
iaload
goto 22
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
StackMap stack:
21: iload 12
StackMap locals:
StackMap stack: int
22: istore 14
start local 14 23: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.indexes:Lorg/eclipse/jdt/internal/compiler/codegen/ObjectCache;
aload 13
iload 12
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ObjectCache.put:(Ljava/lang/Object;I)I
pop
24: aload 13
iconst_1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isUncheckedException:(Z)Z
ifeq 31
25: iload 11
ifne 28
26: aload 13
getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
bipush 21
if_icmpeq 29
27: aload 13
getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
bipush 25
if_icmpeq 29
28: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isReached:[I
iload 12
bipush 32
idiv
dup2
iaload
iconst_1
iload 12
bipush 32
irem
ishl
ior
iastore
29: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 14
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aastore
30: goto 32
31: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 14
getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aastore
end local 14 end local 13 32: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
33: iload 12
iload 9
if_icmplt 19
end local 12 34: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isMethodContext:Z
ifne 36
35: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isReached:[I
iconst_0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isNeeded:[I
iconst_0
iload 10
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
36: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
37: aload 0
aload 6
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
38: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 39 1 parent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 39 2 associatedNode Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 39 3 handledExceptions [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
0 39 4 exceptionToCatchBlockMap [I
0 39 5 catchArguments [Lorg/eclipse/jdt/internal/compiler/ast/Argument;
0 39 6 initializationParent Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
0 39 7 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 39 8 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
9 39 9 count I
10 39 10 cacheSize I
17 39 11 markExceptionsAndThrowableAsReached Z
18 34 12 i I
20 32 13 handledException Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
23 32 14 catchBlock I
MethodParameters:
Name Flags
parent
associatedNode
handledExceptions
exceptionToCatchBlockMap
catchArguments
initializationParent
scope
flowInfo
public void complainIfUnusedExceptionHandlers(org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration);
descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.scope:Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
astore 2
start local 2 1: aload 1
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.modifiers:I
ldc 805306368
iand
ifeq 4
2: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.reportUnusedDeclaredThrownExceptionWhenOverriding:Z
ifne 4
3: return
4: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodScope
StackMap stack:
aconst_null
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
7: getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.reportUnusedDeclaredThrownExceptionIncludeDocCommentReference:Z
ifeq 17
8: aload 1
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.javadoc:Lorg/eclipse/jdt/internal/compiler/ast/Javadoc;
ifnull 17
9: aload 1
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.javadoc:Lorg/eclipse/jdt/internal/compiler/ast/Javadoc;
getfield org.eclipse.jdt.internal.compiler.ast.Javadoc.exceptionReferences:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
ifnull 17
10: aload 1
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.javadoc:Lorg/eclipse/jdt/internal/compiler/ast/Javadoc;
getfield org.eclipse.jdt.internal.compiler.ast.Javadoc.exceptionReferences:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
arraylength
dup
istore 4
ifle 17
11: iload 4
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
astore 3
12: iconst_0
istore 5
start local 5 13: goto 16
14: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int
StackMap stack:
aload 3
iload 5
aload 1
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.javadoc:Lorg/eclipse/jdt/internal/compiler/ast/Javadoc;
getfield org.eclipse.jdt.internal.compiler.ast.Javadoc.exceptionReferences:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
iload 5
aaload
getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aastore
15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 4
if_icmplt 14
end local 5 17: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 18: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
arraylength
istore 6
start local 6 19: goto 34
20: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.indexes:Lorg/eclipse/jdt/internal/compiler/codegen/ObjectCache;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ObjectCache.get:(Ljava/lang/Object;)I
istore 7
start local 7 21: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isReached:[I
iload 7
bipush 32
idiv
iaload
iconst_1
iload 7
bipush 32
irem
ishl
iand
ifne 33
22: iconst_0
istore 8
start local 8 23: goto 27
24: StackMap locals: int int
StackMap stack:
aload 3
iload 8
aaload
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 5
aaload
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 26
25: goto 33
26: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
27: iload 8
iload 4
if_icmplt 24
end local 8 28: aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
29: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 7
aaload
30: aload 1
31: aload 1
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.thrownExceptions:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
iload 7
aaload
32: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unusedDeclaredThrownException:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
end local 7 33: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
34: iload 5
iload 6
if_icmplt 20
end local 6 end local 5 35: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 36 1 method Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
1 36 2 scope Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
5 36 3 docCommentReferences [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
6 36 4 docCommentReferencesLength I
13 17 5 i I
18 35 5 i I
19 35 6 count I
21 33 7 index I
23 28 8 j I
MethodParameters:
Name Flags
method
public void complainIfUnusedExceptionHandlers(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.ast.TryStatement);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
arraylength
istore 4
start local 4 2: goto 17
3: StackMap locals: int int
StackMap stack:
iload 3
bipush 32
idiv
istore 5
start local 5 4: iconst_1
iload 3
bipush 32
irem
ishl
istore 6
start local 6 5: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isReached:[I
iload 5
iaload
iload 6
iand
ifne 11
6: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
7: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 3
aaload
8: aload 0
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.getExceptionType:(I)Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
9: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unreachableCatchBlock:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
10: goto 16
11: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isNeeded:[I
iload 5
iaload
iload 6
iand
ifne 16
12: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
13: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 3
aaload
14: aload 0
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.getExceptionType:(I)Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
15: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.hiddenCatchBlock:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
end local 6 end local 5 16: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 4
if_icmplt 3
end local 4 end local 3 18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 19 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
0 19 2 tryStatement Lorg/eclipse/jdt/internal/compiler/ast/TryStatement;
1 18 3 index I
2 18 4 count I
4 16 5 cacheIndex I
5 16 6 bitMask I
MethodParameters:
Name Flags
scope
tryStatement
private org.eclipse.jdt.internal.compiler.ast.ASTNode getExceptionType(int);
descriptor: (I)Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
ifnonnull 2
1: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 1
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
iload 1
iaload
istore 2
start local 2 3: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 2
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
astore 3
start local 3 4: aload 3
instanceof org.eclipse.jdt.internal.compiler.ast.UnionTypeReference
ifeq 13
5: aload 3
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 4
start local 4 6: iconst_0
istore 5
start local 5 7: aload 4
arraylength
istore 6
start local 6 8: goto 12
9: StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext int int org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.ast.TypeReference[] int int
StackMap stack:
aload 4
iload 5
aaload
astore 7
start local 7 10: aload 7
getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 1
aaload
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 11
aload 7
areturn
end local 7 11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 6
if_icmplt 9
end local 6 end local 5 end local 4 13: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 14 1 index I
3 14 2 catchBlock I
4 14 3 node Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
6 13 4 typeRefs [Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
7 13 5 i I
8 13 6 len I
10 11 7 typeRef Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
MethodParameters:
Name Flags
index
public org.eclipse.jdt.internal.compiler.flow.FlowContext getInitializationContext();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initializationParent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
public java.lang.String individualToString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
ldc "Exception flow context"
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
arraylength
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 19
4: StackMap locals: java.lang.StringBuffer int int
StackMap stack:
iload 3
bipush 32
idiv
istore 4
start local 4 5: iconst_1
iload 3
bipush 32
irem
ishl
istore 5
start local 5 6: aload 1
bipush 91
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 3
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.readableName:()[C
invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
pop
7: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isReached:[I
iload 4
iaload
iload 5
iand
ifeq 13
8: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isNeeded:[I
iload 4
iaload
iload 5
iand
ifne 11
9: aload 1
ldc "-masked"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
10: goto 14
11: StackMap locals: int int
StackMap stack:
aload 1
ldc "-reached"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
12: goto 14
13: StackMap locals:
StackMap stack:
aload 1
ldc "-not reached"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
ifnull 15
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
iload 3
iaload
goto 16
StackMap locals:
StackMap stack:
15: iload 3
StackMap locals:
StackMap stack: int
16: istore 6
start local 6 17: aload 1
bipush 45
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 6
aaload
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 6 end local 5 end local 4 18: iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
iload 2
if_icmplt 4
end local 3 20: aload 1
ldc "[initsOnReturn -"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
21: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
1 22 1 buffer Ljava/lang/StringBuffer;
2 22 2 length I
3 20 3 i I
5 18 4 cacheIndex I
6 18 5 bitMask I
17 18 6 catchBlock I
public org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo initsOnException(int);
descriptor: (I)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
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.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 1 1 index I
MethodParameters:
Name Flags
index
public org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo initsOnReturn();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
public void mergeUnhandledException(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.extendedExceptions:Ljava/util/ArrayList;
ifnonnull 7
1: aload 0
new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.extendedExceptions:Ljava/util/ArrayList;
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.extendedExceptions:Ljava/util/ArrayList;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
iload 2
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.handledExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
arraylength
if_icmplt 4
end local 2 7: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 8: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.extendedExceptions:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 3
start local 3 9: goto 16
10: StackMap locals: int int
StackMap stack:
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.extendedExceptions:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBinding
invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.compareTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
tableswitch { // -1 - 1
-1: 13
0: 15
1: 11
default: 15
}
11: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.extendedExceptions:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
12: goto 15
13: StackMap locals:
StackMap stack:
iconst_1
istore 2
14: goto 15
15: StackMap locals:
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
16: iload 3
ifge 10
end local 3 17: iload 2
ifne 19
18: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.extendedExceptions:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 20 1 newException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
3 7 2 i I
8 20 2 isRedundant Z
9 17 3 i I
MethodParameters:
Name Flags
newException
public void recordHandlingException(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding, org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.ASTNode, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.indexes:Lorg/eclipse/jdt/internal/compiler/codegen/ObjectCache;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.codegen.ObjectCache.get:(Ljava/lang/Object;)I
istore 7
start local 7 1: iload 7
bipush 32
idiv
istore 8
start local 8 2: iconst_1
iload 7
bipush 32
irem
ishl
istore 9
start local 9 3: iload 6
ifne 5
4: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isNeeded:[I
iload 8
dup2
iaload
iload 9
ior
iastore
5: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.isReached:[I
iload 8
dup2
iaload
iload 9
ior
iastore
6: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
ifnull 7
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.exceptionToCatchBlockMap:[I
iload 7
iaload
goto 8
StackMap locals:
StackMap stack:
7: iload 7
StackMap locals:
StackMap stack: int
8: istore 10
start local 10 9: aload 4
ifnull 12
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
ifnull 12
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
arraylength
ifle 12
iload 6
ifne 12
10: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.catchArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 10
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
checkcast org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding
astore 11
start local 11 11: aload 11
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.CatchParameterBinding.setPreciseType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
end local 11 12: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 10
13: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 10
aaload
getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
iconst_3
iand
ifne 15
14: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnExceptions:[Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
iload 10
aaload
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
goto 16
15: StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.ASTNode int int int int int
StackMap stack: org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo[] int
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.unconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
16: StackMap locals: org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.ASTNode int int int int int
StackMap stack: org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo[] int org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
aastore
17: return
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 18 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 18 1 exceptionType Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
0 18 2 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
0 18 3 raisedException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 18 4 caughtException Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 18 5 invocationSite Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 18 6 wasAlreadyDefinitelyCaught Z
1 18 7 index I
2 18 8 cacheIndex I
3 18 9 bitMask I
9 18 10 catchBlock I
11 12 11 catchParameter Lorg/eclipse/jdt/internal/compiler/lookup/CatchParameterBinding;
MethodParameters:
Name Flags
exceptionType
flowInfo
raisedException
caughtException
invocationSite
wasAlreadyDefinitelyCaught
public void recordReturnFrom(org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
iconst_1
iand
ifne 5
1: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
getfield org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.tagBits:I
iconst_1
iand
ifne 4
2: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
checkcast org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
putfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.initsOnReturn:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
0 6 1 flowInfo Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
MethodParameters:
Name Flags
flowInfo
public org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement subroutine();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
instanceof org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
ifeq 4
1: aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.parent:Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.subroutine:()Lorg/eclipse/jdt/internal/compiler/ast/SubRoutineStatement;
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
if_acmpne 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.flow.ExceptionHandlingFlowContext.associatedNode:Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
checkcast org.eclipse.jdt.internal.compiler.ast.SubRoutineStatement
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext;
}
SourceFile: "ExceptionHandlingFlowContext.java"