public final class org.apache.bcel.verifier.structurals.Pass3bVerifier extends org.apache.bcel.verifier.PassVerifier
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.bcel.verifier.structurals.Pass3bVerifier
super_class: org.apache.bcel.verifier.PassVerifier
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final org.apache.bcel.verifier.Verifier myOwner;
descriptor: Lorg/apache/bcel/verifier/Verifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int methodNo;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.apache.bcel.verifier.Verifier, int);
descriptor: (Lorg/apache/bcel/verifier/Verifier;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.apache.bcel.verifier.PassVerifier.<init>:()V
1: aload 0
aload 1
putfield org.apache.bcel.verifier.structurals.Pass3bVerifier.myOwner:Lorg/apache/bcel/verifier/Verifier;
2: aload 0
iload 2
putfield org.apache.bcel.verifier.structurals.Pass3bVerifier.methodNo:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/bcel/verifier/structurals/Pass3bVerifier;
0 4 1 owner Lorg/apache/bcel/verifier/Verifier;
0 4 2 method_no I
MethodParameters:
Name Flags
owner final
method_no final
private void circulationPump(org.apache.bcel.generic.MethodGen, org.apache.bcel.verifier.structurals.ControlFlowGraph, org.apache.bcel.verifier.structurals.InstructionContext, org.apache.bcel.verifier.structurals.Frame, org.apache.bcel.verifier.structurals.InstConstraintVisitor, org.apache.bcel.verifier.structurals.ExecutionVisitor);
descriptor: (Lorg/apache/bcel/generic/MethodGen;Lorg/apache/bcel/verifier/structurals/ControlFlowGraph;Lorg/apache/bcel/verifier/structurals/InstructionContext;Lorg/apache/bcel/verifier/structurals/Frame;Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=20, 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: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
astore 7
start local 7 1: new org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue
dup
invokespecial org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.<init>:()V
astore 8
start local 8 2: aload 3
aload 4
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aload 5
aload 6
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.execute:(Lorg/apache/bcel/verifier/structurals/Frame;Ljava/util/ArrayList;Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;)Z
pop
3: aload 8
aload 3
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.add:(Lorg/apache/bcel/verifier/structurals/InstructionContext;Ljava/util/ArrayList;)V
4: goto 65
5: StackMap locals: java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue
StackMap stack:
aload 8
iconst_0
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.getIC:(I)Lorg/apache/bcel/verifier/structurals/InstructionContext;
astore 9
start local 9 6: aload 8
iconst_0
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.getEC:(I)Ljava/util/ArrayList;
astore 10
start local 10 7: aload 8
iconst_0
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.remove:(I)V
8: aload 10
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
checkcast java.util.ArrayList
astore 11
start local 11 9: aload 10
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
checkcast java.util.ArrayList
astore 12
start local 12 10: aload 12
aload 9
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
11: aload 9
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInstruction:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/apache/bcel/generic/Instruction;
instanceof org.apache.bcel.generic.RET
ifeq 41
12: aload 9
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInstruction:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/apache/bcel/generic/Instruction;
checkcast org.apache.bcel.generic.RET
astore 13
start local 13 13: aload 9
aload 11
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getOutFrame:(Ljava/util/ArrayList;)Lorg/apache/bcel/verifier/structurals/Frame;
invokevirtual org.apache.bcel.verifier.structurals.Frame.getLocals:()Lorg/apache/bcel/verifier/structurals/LocalVariables;
aload 13
invokevirtual org.apache.bcel.generic.RET.getIndex:()I
invokevirtual org.apache.bcel.verifier.structurals.LocalVariables.get:(I)Lorg/apache/bcel/generic/Type;
checkcast org.apache.bcel.generic.ReturnaddressType
astore 14
start local 14 14: aload 2
aload 14
invokevirtual org.apache.bcel.generic.ReturnaddressType.getTarget:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.verifier.structurals.ControlFlowGraph.contextOf:(Lorg/apache/bcel/generic/InstructionHandle;)Lorg/apache/bcel/verifier/structurals/InstructionContext;
astore 15
start local 15 15: aconst_null
astore 16
start local 16 16: iconst_0
istore 17
start local 17 17: aload 11
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 18
start local 18 18: goto 29
19: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList org.apache.bcel.generic.RET org.apache.bcel.generic.ReturnaddressType org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.InstructionContext int int
StackMap stack:
iload 17
ifge 21
20: new org.apache.bcel.verifier.exc.AssertionViolatedException
dup
ldc "More RET than JSR in execution chain?!"
invokespecial org.apache.bcel.verifier.exc.AssertionViolatedException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 11
iload 18
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.apache.bcel.verifier.structurals.InstructionContext
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInstruction:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/apache/bcel/generic/Instruction;
instanceof org.apache.bcel.generic.JsrInstruction
ifeq 26
22: iload 17
ifne 25
23: aload 11
iload 18
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.apache.bcel.verifier.structurals.InstructionContext
astore 16
24: goto 30
25: StackMap locals:
StackMap stack:
iinc 17 -1
26: StackMap locals:
StackMap stack:
aload 11
iload 18
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.apache.bcel.verifier.structurals.InstructionContext
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInstruction:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/apache/bcel/generic/Instruction;
instanceof org.apache.bcel.generic.RET
ifeq 28
27: iinc 17 1
28: StackMap locals:
StackMap stack:
iinc 18 -1
StackMap locals:
StackMap stack:
29: iload 18
ifge 19
end local 18 30: StackMap locals:
StackMap stack:
aload 16
ifnonnull 32
31: new org.apache.bcel.verifier.exc.AssertionViolatedException
dup
new java.lang.StringBuilder
dup
ldc "RET without a JSR before in ExecutionChain?! EC: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.bcel.verifier.exc.AssertionViolatedException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 16
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInstruction:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/apache/bcel/generic/Instruction;
checkcast org.apache.bcel.generic.JsrInstruction
astore 18
start local 18 33: aload 15
aload 2
aload 18
invokevirtual org.apache.bcel.generic.JsrInstruction.physicalSuccessor:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.verifier.structurals.ControlFlowGraph.contextOf:(Lorg/apache/bcel/generic/InstructionHandle;)Lorg/apache/bcel/verifier/structurals/InstructionContext;
if_acmpeq 37
34: new org.apache.bcel.verifier.exc.AssertionViolatedException
dup
new java.lang.StringBuilder
dup
ldc "RET '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInstruction:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' info inconsistent: jump back to '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' or '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
aload 18
invokevirtual org.apache.bcel.generic.JsrInstruction.physicalSuccessor:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.verifier.structurals.ControlFlowGraph.contextOf:(Lorg/apache/bcel/generic/InstructionHandle;)Lorg/apache/bcel/verifier/structurals/InstructionContext;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial org.apache.bcel.verifier.exc.AssertionViolatedException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: org.apache.bcel.generic.JsrInstruction
StackMap stack:
aload 15
aload 9
aload 11
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getOutFrame:(Ljava/util/ArrayList;)Lorg/apache/bcel/verifier/structurals/Frame;
aload 12
aload 5
aload 6
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.execute:(Lorg/apache/bcel/verifier/structurals/Frame;Ljava/util/ArrayList;Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;)Z
ifeq 49
38: aload 12
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
checkcast java.util.ArrayList
astore 19
start local 19 39: aload 8
aload 15
aload 19
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.add:(Lorg/apache/bcel/verifier/structurals/InstructionContext;Ljava/util/ArrayList;)V
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 40: goto 49
41: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList
StackMap stack:
aload 9
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getSuccessors:()[Lorg/apache/bcel/verifier/structurals/InstructionContext;
astore 13
start local 13 42: aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 48
StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList org.apache.bcel.verifier.structurals.InstructionContext[] top int int org.apache.bcel.verifier.structurals.InstructionContext[]
StackMap stack:
43: aload 17
iload 15
aaload
astore 14
start local 14 44: aload 14
aload 9
aload 11
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getOutFrame:(Ljava/util/ArrayList;)Lorg/apache/bcel/verifier/structurals/Frame;
aload 12
aload 5
aload 6
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.execute:(Lorg/apache/bcel/verifier/structurals/Frame;Ljava/util/ArrayList;Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;)Z
ifeq 47
45: aload 12
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
checkcast java.util.ArrayList
astore 18
start local 18 46: aload 8
aload 14
aload 18
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.add:(Lorg/apache/bcel/verifier/structurals/InstructionContext;Ljava/util/ArrayList;)V
end local 18 end local 14 47: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
48: iload 15
iload 16
if_icmplt 43
end local 13 49: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList
StackMap stack:
aload 9
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getExceptionHandlers:()[Lorg/apache/bcel/verifier/structurals/ExceptionHandler;
astore 13
start local 13 50: aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 64
StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList org.apache.bcel.verifier.structurals.ExceptionHandler[] top int int org.apache.bcel.verifier.structurals.ExceptionHandler[]
StackMap stack:
51: aload 17
iload 15
aaload
astore 14
start local 14 52: aload 2
aload 14
invokevirtual org.apache.bcel.verifier.structurals.ExceptionHandler.getHandlerStart:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.verifier.structurals.ControlFlowGraph.contextOf:(Lorg/apache/bcel/generic/InstructionHandle;)Lorg/apache/bcel/verifier/structurals/InstructionContext;
astore 18
start local 18 53: aload 18
54: new org.apache.bcel.verifier.structurals.Frame
dup
aload 9
aload 11
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getOutFrame:(Ljava/util/ArrayList;)Lorg/apache/bcel/verifier/structurals/Frame;
invokevirtual org.apache.bcel.verifier.structurals.Frame.getLocals:()Lorg/apache/bcel/verifier/structurals/LocalVariables;
55: new org.apache.bcel.verifier.structurals.OperandStack
dup
aload 9
aload 11
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getOutFrame:(Ljava/util/ArrayList;)Lorg/apache/bcel/verifier/structurals/Frame;
invokevirtual org.apache.bcel.verifier.structurals.Frame.getStack:()Lorg/apache/bcel/verifier/structurals/OperandStack;
invokevirtual org.apache.bcel.verifier.structurals.OperandStack.maxStack:()I
56: aload 14
invokevirtual org.apache.bcel.verifier.structurals.ExceptionHandler.getExceptionType:()Lorg/apache/bcel/generic/ObjectType;
ifnonnull 57
getstatic org.apache.bcel.generic.Type.THROWABLE:Lorg/apache/bcel/generic/ObjectType;
goto 58
StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList org.apache.bcel.verifier.structurals.ExceptionHandler[] org.apache.bcel.verifier.structurals.ExceptionHandler int int org.apache.bcel.verifier.structurals.ExceptionHandler[] org.apache.bcel.verifier.structurals.InstructionContext
StackMap stack: org.apache.bcel.verifier.structurals.InstructionContext new 54 new 54 org.apache.bcel.verifier.structurals.LocalVariables new 55 new 55 int
57: aload 14
invokevirtual org.apache.bcel.verifier.structurals.ExceptionHandler.getExceptionType:()Lorg/apache/bcel/generic/ObjectType;
58: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList org.apache.bcel.verifier.structurals.ExceptionHandler[] org.apache.bcel.verifier.structurals.ExceptionHandler int int org.apache.bcel.verifier.structurals.ExceptionHandler[] org.apache.bcel.verifier.structurals.InstructionContext
StackMap stack: org.apache.bcel.verifier.structurals.InstructionContext new 54 new 54 org.apache.bcel.verifier.structurals.LocalVariables new 55 new 55 int org.apache.bcel.generic.ObjectType
invokespecial org.apache.bcel.verifier.structurals.OperandStack.<init>:(ILorg/apache/bcel/generic/ObjectType;)V
invokespecial org.apache.bcel.verifier.structurals.Frame.<init>:(Lorg/apache/bcel/verifier/structurals/LocalVariables;Lorg/apache/bcel/verifier/structurals/OperandStack;)V
59: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aload 5
aload 6
60: invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.execute:(Lorg/apache/bcel/verifier/structurals/Frame;Ljava/util/ArrayList;Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;)Z
61: ifeq 63
62: aload 8
aload 18
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.add:(Lorg/apache/bcel/verifier/structurals/InstructionContext;Ljava/util/ArrayList;)V
end local 18 end local 14 63: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.verifier.structurals.InstructionContext java.util.ArrayList java.util.ArrayList java.util.ArrayList org.apache.bcel.verifier.structurals.ExceptionHandler[] top int int org.apache.bcel.verifier.structurals.ExceptionHandler[]
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
64: iload 15
iload 16
if_icmplt 51
end local 13 end local 12 end local 11 end local 10 end local 9 65: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue
StackMap stack:
aload 8
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue.isEmpty:()Z
ifeq 5
66: aload 3
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInstruction:()Lorg/apache/bcel/generic/InstructionHandle;
astore 9
start local 9 67: StackMap locals: org.apache.bcel.generic.InstructionHandle
StackMap stack:
aload 9
invokevirtual org.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/apache/bcel/generic/Instruction;
instanceof org.apache.bcel.generic.ReturnInstruction
ifeq 103
aload 2
aload 9
invokevirtual org.apache.bcel.verifier.structurals.ControlFlowGraph.isDead:(Lorg/apache/bcel/generic/InstructionHandle;)Z
ifne 103
68: aload 2
aload 9
invokevirtual org.apache.bcel.verifier.structurals.ControlFlowGraph.contextOf:(Lorg/apache/bcel/generic/InstructionHandle;)Lorg/apache/bcel/verifier/structurals/InstructionContext;
astore 10
start local 10 69: aload 10
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getOutFrame:(Ljava/util/ArrayList;)Lorg/apache/bcel/verifier/structurals/Frame;
astore 11
start local 11 70: aload 11
invokevirtual org.apache.bcel.verifier.structurals.Frame.getLocals:()Lorg/apache/bcel/verifier/structurals/LocalVariables;
astore 12
start local 12 71: iconst_0
istore 13
start local 13 72: goto 78
73: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.generic.InstructionHandle org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.LocalVariables int
StackMap stack:
aload 12
iload 13
invokevirtual org.apache.bcel.verifier.structurals.LocalVariables.get:(I)Lorg/apache/bcel/generic/Type;
instanceof org.apache.bcel.verifier.structurals.UninitializedObjectType
ifeq 77
74: aload 0
new java.lang.StringBuilder
dup
ldc "Warning: ReturnInstruction '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
75: ldc "' may leave method with an uninitialized object in the local variables array '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
76: invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier.addMessage:(Ljava/lang/String;)V
77: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
78: iload 13
aload 12
invokevirtual org.apache.bcel.verifier.structurals.LocalVariables.maxLocals:()I
if_icmplt 73
end local 13 79: aload 11
invokevirtual org.apache.bcel.verifier.structurals.Frame.getStack:()Lorg/apache/bcel/verifier/structurals/OperandStack;
astore 13
start local 13 80: iconst_0
istore 14
start local 14 81: goto 87
82: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.generic.InstructionHandle org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.LocalVariables org.apache.bcel.verifier.structurals.OperandStack int
StackMap stack:
aload 13
iload 14
invokevirtual org.apache.bcel.verifier.structurals.OperandStack.peek:(I)Lorg/apache/bcel/generic/Type;
instanceof org.apache.bcel.verifier.structurals.UninitializedObjectType
ifeq 86
83: aload 0
new java.lang.StringBuilder
dup
ldc "Warning: ReturnInstruction '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
84: ldc "' may leave method with an uninitialized object on the operand stack '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
85: invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier.addMessage:(Ljava/lang/String;)V
86: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
87: iload 14
aload 13
invokevirtual org.apache.bcel.verifier.structurals.OperandStack.size:()I
if_icmplt 82
end local 14 88: aconst_null
astore 14
start local 14 89: aload 10
invokeinterface org.apache.bcel.verifier.structurals.InstructionContext.getInFrame:()Lorg/apache/bcel/verifier/structurals/Frame;
invokevirtual org.apache.bcel.verifier.structurals.Frame.getStack:()Lorg/apache/bcel/verifier/structurals/OperandStack;
astore 15
start local 15 90: aload 15
invokevirtual org.apache.bcel.verifier.structurals.OperandStack.size:()I
iconst_1
if_icmplt 93
91: aload 15
invokevirtual org.apache.bcel.verifier.structurals.OperandStack.peek:()Lorg/apache/bcel/generic/Type;
astore 14
92: goto 94
93: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.generic.InstructionHandle org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.LocalVariables org.apache.bcel.verifier.structurals.OperandStack org.apache.bcel.generic.Type org.apache.bcel.verifier.structurals.OperandStack
StackMap stack:
getstatic org.apache.bcel.generic.Type.VOID:Lorg/apache/bcel/generic/BasicType;
astore 14
94: StackMap locals:
StackMap stack:
aload 14
ifnull 103
95: aload 14
instanceof org.apache.bcel.generic.ReferenceType
ifeq 101
96: aload 14
checkcast org.apache.bcel.generic.ReferenceType
aload 1
invokevirtual org.apache.bcel.generic.MethodGen.getReturnType:()Lorg/apache/bcel/generic/Type;
invokevirtual org.apache.bcel.generic.ReferenceType.isCastableTo:(Lorg/apache/bcel/generic/Type;)Z
ifne 103
97: aload 0
aload 14
aload 1
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier.invalidReturnTypeError:(Lorg/apache/bcel/generic/Type;Lorg/apache/bcel/generic/MethodGen;)V
98: goto 103
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
99: astore 16
start local 16 100: new java.lang.IllegalArgumentException
dup
aload 16
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 16 101: StackMap locals:
StackMap stack:
aload 14
aload 1
invokevirtual org.apache.bcel.generic.MethodGen.getReturnType:()Lorg/apache/bcel/generic/Type;
invokevirtual org.apache.bcel.generic.Type.normalizeForStackOrLocal:()Lorg/apache/bcel/generic/Type;
invokevirtual org.apache.bcel.generic.Type.equals:(Ljava/lang/Object;)Z
ifne 103
102: aload 0
aload 14
aload 1
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier.invalidReturnTypeError:(Lorg/apache/bcel/generic/Type;Lorg/apache/bcel/generic/MethodGen;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 103: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.InstructionContext org.apache.bcel.verifier.structurals.Frame org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor java.util.Random org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue org.apache.bcel.generic.InstructionHandle
StackMap stack:
aload 9
invokevirtual org.apache.bcel.generic.InstructionHandle.getNext:()Lorg/apache/bcel/generic/InstructionHandle;
dup
astore 9
ifnonnull 67
104: 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 105 0 this Lorg/apache/bcel/verifier/structurals/Pass3bVerifier;
0 105 1 m Lorg/apache/bcel/generic/MethodGen;
0 105 2 cfg Lorg/apache/bcel/verifier/structurals/ControlFlowGraph;
0 105 3 start Lorg/apache/bcel/verifier/structurals/InstructionContext;
0 105 4 vanillaFrame Lorg/apache/bcel/verifier/structurals/Frame;
0 105 5 icv Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;
0 105 6 ev Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;
1 105 7 random Ljava/util/Random;
2 105 8 icq Lorg/apache/bcel/verifier/structurals/Pass3bVerifier$InstructionContextQueue;
6 65 9 u Lorg/apache/bcel/verifier/structurals/InstructionContext;
7 65 10 ec Ljava/util/ArrayList<Lorg/apache/bcel/verifier/structurals/InstructionContext;>;
9 65 11 oldchain Ljava/util/ArrayList<Lorg/apache/bcel/verifier/structurals/InstructionContext;>;
10 65 12 newchain Ljava/util/ArrayList<Lorg/apache/bcel/verifier/structurals/InstructionContext;>;
13 40 13 ret Lorg/apache/bcel/generic/RET;
14 40 14 t Lorg/apache/bcel/generic/ReturnaddressType;
15 40 15 theSuccessor Lorg/apache/bcel/verifier/structurals/InstructionContext;
16 40 16 lastJSR Lorg/apache/bcel/verifier/structurals/InstructionContext;
17 40 17 skip_jsr I
18 30 18 ss I
33 40 18 jsr Lorg/apache/bcel/generic/JsrInstruction;
39 40 19 newchainClone Ljava/util/ArrayList<Lorg/apache/bcel/verifier/structurals/InstructionContext;>;
42 49 13 succs [Lorg/apache/bcel/verifier/structurals/InstructionContext;
44 47 14 v Lorg/apache/bcel/verifier/structurals/InstructionContext;
46 47 18 newchainClone Ljava/util/ArrayList<Lorg/apache/bcel/verifier/structurals/InstructionContext;>;
50 65 13 exc_hds [Lorg/apache/bcel/verifier/structurals/ExceptionHandler;
52 63 14 exc_hd Lorg/apache/bcel/verifier/structurals/ExceptionHandler;
53 63 18 v Lorg/apache/bcel/verifier/structurals/InstructionContext;
67 105 9 ih Lorg/apache/bcel/generic/InstructionHandle;
69 103 10 ic Lorg/apache/bcel/verifier/structurals/InstructionContext;
70 103 11 f Lorg/apache/bcel/verifier/structurals/Frame;
71 103 12 lvs Lorg/apache/bcel/verifier/structurals/LocalVariables;
72 79 13 i I
80 103 13 os Lorg/apache/bcel/verifier/structurals/OperandStack;
81 88 14 i I
89 103 14 returnedType Lorg/apache/bcel/generic/Type;
90 103 15 inStack Lorg/apache/bcel/verifier/structurals/OperandStack;
100 101 16 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
96 98 99 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
m final
cfg final
start final
vanillaFrame final
icv final
ev final
public void invalidReturnTypeError(org.apache.bcel.generic.Type, org.apache.bcel.generic.MethodGen);
descriptor: (Lorg/apache/bcel/generic/Type;Lorg/apache/bcel/generic/MethodGen;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.bcel.verifier.exc.StructuralCodeConstraintException
dup
1: new java.lang.StringBuilder
dup
ldc "Returned type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not match Method's return type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.apache.bcel.generic.MethodGen.getReturnType:()Lorg/apache/bcel/generic/Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial org.apache.bcel.verifier.exc.StructuralCodeConstraintException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/bcel/verifier/structurals/Pass3bVerifier;
0 3 1 returnedType Lorg/apache/bcel/generic/Type;
0 3 2 m Lorg/apache/bcel/generic/MethodGen;
MethodParameters:
Name Flags
returnedType final
m final
public org.apache.bcel.verifier.VerificationResult do_verify();
descriptor: ()Lorg/apache/bcel/verifier/VerificationResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=1
start local 0 0: aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.myOwner:Lorg/apache/bcel/verifier/Verifier;
aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.methodNo:I
invokevirtual org.apache.bcel.verifier.Verifier.doPass3a:(I)Lorg/apache/bcel/verifier/VerificationResult;
getstatic org.apache.bcel.verifier.VerificationResult.VR_OK:Lorg/apache/bcel/verifier/VerificationResult;
invokevirtual org.apache.bcel.verifier.VerificationResult.equals:(Ljava/lang/Object;)Z
ifne 2
1: getstatic org.apache.bcel.verifier.VerificationResult.VR_NOTYET:Lorg/apache/bcel/verifier/VerificationResult;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.myOwner:Lorg/apache/bcel/verifier/Verifier;
invokevirtual org.apache.bcel.verifier.Verifier.getClassName:()Ljava/lang/String;
invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
astore 1
start local 1 3: goto 6
end local 1 StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
4: astore 2
start local 2 5: new org.apache.bcel.verifier.exc.AssertionViolatedException
dup
new java.lang.StringBuilder
dup
ldc "Missing class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial org.apache.bcel.verifier.exc.AssertionViolatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 start local 1 6: StackMap locals: org.apache.bcel.classfile.JavaClass
StackMap stack:
new org.apache.bcel.generic.ConstantPoolGen
dup
aload 1
invokevirtual org.apache.bcel.classfile.JavaClass.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
invokespecial org.apache.bcel.generic.ConstantPoolGen.<init>:(Lorg/apache/bcel/classfile/ConstantPool;)V
astore 2
start local 2 7: new org.apache.bcel.verifier.structurals.InstConstraintVisitor
dup
invokespecial org.apache.bcel.verifier.structurals.InstConstraintVisitor.<init>:()V
astore 3
start local 3 8: aload 3
aload 2
invokevirtual org.apache.bcel.verifier.structurals.InstConstraintVisitor.setConstantPoolGen:(Lorg/apache/bcel/generic/ConstantPoolGen;)V
9: new org.apache.bcel.verifier.structurals.ExecutionVisitor
dup
invokespecial org.apache.bcel.verifier.structurals.ExecutionVisitor.<init>:()V
astore 4
start local 4 10: aload 4
aload 2
invokevirtual org.apache.bcel.verifier.structurals.ExecutionVisitor.setConstantPoolGen:(Lorg/apache/bcel/generic/ConstantPoolGen;)V
11: aload 1
invokevirtual org.apache.bcel.classfile.JavaClass.getMethods:()[Lorg/apache/bcel/classfile/Method;
astore 5
start local 5 12: new org.apache.bcel.generic.MethodGen
dup
aload 5
aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.methodNo:I
aaload
aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.myOwner:Lorg/apache/bcel/verifier/Verifier;
invokevirtual org.apache.bcel.verifier.Verifier.getClassName:()Ljava/lang/String;
aload 2
invokespecial org.apache.bcel.generic.MethodGen.<init>:(Lorg/apache/bcel/classfile/Method;Ljava/lang/String;Lorg/apache/bcel/generic/ConstantPoolGen;)V
astore 6
start local 6 13: aload 3
aload 6
invokevirtual org.apache.bcel.verifier.structurals.InstConstraintVisitor.setMethodGen:(Lorg/apache/bcel/generic/MethodGen;)V
14: aload 6
invokevirtual org.apache.bcel.generic.MethodGen.isAbstract:()Z
ifne 53
aload 6
invokevirtual org.apache.bcel.generic.MethodGen.isNative:()Z
ifne 53
15: new org.apache.bcel.verifier.structurals.ControlFlowGraph
dup
aload 6
invokespecial org.apache.bcel.verifier.structurals.ControlFlowGraph.<init>:(Lorg/apache/bcel/generic/MethodGen;)V
astore 7
start local 7 16: new org.apache.bcel.verifier.structurals.Frame
dup
aload 6
invokevirtual org.apache.bcel.generic.MethodGen.getMaxLocals:()I
aload 6
invokevirtual org.apache.bcel.generic.MethodGen.getMaxStack:()I
invokespecial org.apache.bcel.verifier.structurals.Frame.<init>:(II)V
astore 8
start local 8 17: aload 6
invokevirtual org.apache.bcel.generic.MethodGen.isStatic:()Z
ifne 24
18: aload 6
invokevirtual org.apache.bcel.generic.MethodGen.getName:()Ljava/lang/String;
ldc "<init>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
19: new org.apache.bcel.verifier.structurals.UninitializedObjectType
dup
aload 1
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
invokespecial org.apache.bcel.verifier.structurals.UninitializedObjectType.<init>:(Lorg/apache/bcel/generic/ObjectType;)V
invokestatic org.apache.bcel.verifier.structurals.Frame.setThis:(Lorg/apache/bcel/verifier/structurals/UninitializedObjectType;)V
20: aload 8
invokevirtual org.apache.bcel.verifier.structurals.Frame.getLocals:()Lorg/apache/bcel/verifier/structurals/LocalVariables;
iconst_0
invokestatic org.apache.bcel.verifier.structurals.Frame.getThis:()Lorg/apache/bcel/verifier/structurals/UninitializedObjectType;
invokevirtual org.apache.bcel.verifier.structurals.LocalVariables.set:(ILorg/apache/bcel/generic/Type;)V
21: goto 24
22: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.classfile.JavaClass org.apache.bcel.generic.ConstantPoolGen org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor org.apache.bcel.classfile.Method[] org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.Frame
StackMap stack:
aconst_null
invokestatic org.apache.bcel.verifier.structurals.Frame.setThis:(Lorg/apache/bcel/verifier/structurals/UninitializedObjectType;)V
23: aload 8
invokevirtual org.apache.bcel.verifier.structurals.Frame.getLocals:()Lorg/apache/bcel/verifier/structurals/LocalVariables;
iconst_0
aload 1
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
invokevirtual org.apache.bcel.verifier.structurals.LocalVariables.set:(ILorg/apache/bcel/generic/Type;)V
24: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.apache.bcel.generic.MethodGen.getArgumentTypes:()[Lorg/apache/bcel/generic/Type;
astore 9
start local 9 25: iconst_0
istore 10
start local 10 26: iconst_0
istore 11
start local 11 27: goto 40
28: StackMap locals: org.apache.bcel.generic.Type[] int int
StackMap stack:
aload 9
iload 11
aaload
getstatic org.apache.bcel.generic.Type.SHORT:Lorg/apache/bcel/generic/BasicType;
if_acmpeq 30
aload 9
iload 11
aaload
getstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
if_acmpeq 30
29: aload 9
iload 11
aaload
getstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
if_acmpeq 30
aload 9
iload 11
aaload
getstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
if_acmpne 31
30: StackMap locals:
StackMap stack:
aload 9
iload 11
getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
aastore
31: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.apache.bcel.verifier.structurals.Frame.getLocals:()Lorg/apache/bcel/verifier/structurals/LocalVariables;
iload 10
iload 11
iadd
aload 6
invokevirtual org.apache.bcel.generic.MethodGen.isStatic:()Z
ifeq 32
iconst_0
goto 33
StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.classfile.JavaClass org.apache.bcel.generic.ConstantPoolGen org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor org.apache.bcel.classfile.Method[] org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.Frame org.apache.bcel.generic.Type[] int int
StackMap stack: org.apache.bcel.verifier.structurals.LocalVariables int
32: iconst_1
StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.classfile.JavaClass org.apache.bcel.generic.ConstantPoolGen org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor org.apache.bcel.classfile.Method[] org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.Frame org.apache.bcel.generic.Type[] int int
StackMap stack: org.apache.bcel.verifier.structurals.LocalVariables int int
33: iadd
aload 9
iload 11
aaload
invokevirtual org.apache.bcel.verifier.structurals.LocalVariables.set:(ILorg/apache/bcel/generic/Type;)V
34: aload 9
iload 11
aaload
invokevirtual org.apache.bcel.generic.Type.getSize:()I
iconst_2
if_icmpne 39
35: iinc 10 1
36: aload 8
invokevirtual org.apache.bcel.verifier.structurals.Frame.getLocals:()Lorg/apache/bcel/verifier/structurals/LocalVariables;
iload 10
iload 11
iadd
aload 6
invokevirtual org.apache.bcel.generic.MethodGen.isStatic:()Z
ifeq 37
iconst_0
goto 38
StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.classfile.JavaClass org.apache.bcel.generic.ConstantPoolGen org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor org.apache.bcel.classfile.Method[] org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.Frame org.apache.bcel.generic.Type[] int int
StackMap stack: org.apache.bcel.verifier.structurals.LocalVariables int
37: iconst_1
StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.classfile.JavaClass org.apache.bcel.generic.ConstantPoolGen org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor org.apache.bcel.classfile.Method[] org.apache.bcel.generic.MethodGen org.apache.bcel.verifier.structurals.ControlFlowGraph org.apache.bcel.verifier.structurals.Frame org.apache.bcel.generic.Type[] int int
StackMap stack: org.apache.bcel.verifier.structurals.LocalVariables int int
38: iadd
getstatic org.apache.bcel.generic.Type.UNKNOWN:Lorg/apache/bcel/generic/Type;
invokevirtual org.apache.bcel.verifier.structurals.LocalVariables.set:(ILorg/apache/bcel/generic/Type;)V
39: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
40: iload 11
aload 9
arraylength
if_icmplt 28
end local 11 41: aload 0
aload 6
aload 7
aload 7
aload 6
invokevirtual org.apache.bcel.generic.MethodGen.getInstructionList:()Lorg/apache/bcel/generic/InstructionList;
invokevirtual org.apache.bcel.generic.InstructionList.getStart:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.verifier.structurals.ControlFlowGraph.contextOf:(Lorg/apache/bcel/generic/InstructionHandle;)Lorg/apache/bcel/verifier/structurals/InstructionContext;
aload 8
aload 3
aload 4
invokevirtual org.apache.bcel.verifier.structurals.Pass3bVerifier.circulationPump:(Lorg/apache/bcel/generic/MethodGen;Lorg/apache/bcel/verifier/structurals/ControlFlowGraph;Lorg/apache/bcel/verifier/structurals/InstructionContext;Lorg/apache/bcel/verifier/structurals/Frame;Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;)V
end local 10 end local 9 end local 8 end local 7 end local 6 42: goto 53
43: StackMap locals: org.apache.bcel.verifier.structurals.Pass3bVerifier org.apache.bcel.classfile.JavaClass org.apache.bcel.generic.ConstantPoolGen org.apache.bcel.verifier.structurals.InstConstraintVisitor org.apache.bcel.verifier.structurals.ExecutionVisitor org.apache.bcel.classfile.Method[]
StackMap stack: org.apache.bcel.verifier.exc.VerifierConstraintViolatedException
astore 6
start local 6 44: aload 6
new java.lang.StringBuilder
dup
ldc "Constraint violated in method '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.methodNo:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "':\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc ""
invokevirtual org.apache.bcel.verifier.exc.VerifierConstraintViolatedException.extendMessage:(Ljava/lang/String;Ljava/lang/String;)V
45: new org.apache.bcel.verifier.VerificationResult
dup
iconst_2
aload 6
invokevirtual org.apache.bcel.verifier.exc.VerifierConstraintViolatedException.getMessage:()Ljava/lang/String;
invokespecial org.apache.bcel.verifier.VerificationResult.<init>:(ILjava/lang/String;)V
areturn
end local 6 46: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 47: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 7
start local 7 48: new java.io.PrintWriter
dup
aload 7
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
astore 8
start local 8 49: aload 6
aload 8
invokevirtual java.lang.RuntimeException.printStackTrace:(Ljava/io/PrintWriter;)V
50: new org.apache.bcel.verifier.exc.AssertionViolatedException
dup
new java.lang.StringBuilder
dup
ldc "Some RuntimeException occured while verify()ing class '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
51: ldc "', method '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.methodNo:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'. Original RuntimeException's stack trace:\n---\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "---\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
52: invokespecial org.apache.bcel.verifier.exc.AssertionViolatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 end local 7 end local 6 53: StackMap locals:
StackMap stack:
getstatic org.apache.bcel.verifier.VerificationResult.VR_OK:Lorg/apache/bcel/verifier/VerificationResult;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/apache/bcel/verifier/structurals/Pass3bVerifier;
3 4 1 jc Lorg/apache/bcel/classfile/JavaClass;
6 54 1 jc Lorg/apache/bcel/classfile/JavaClass;
5 6 2 e Ljava/lang/ClassNotFoundException;
7 54 2 constantPoolGen Lorg/apache/bcel/generic/ConstantPoolGen;
8 54 3 icv Lorg/apache/bcel/verifier/structurals/InstConstraintVisitor;
10 54 4 ev Lorg/apache/bcel/verifier/structurals/ExecutionVisitor;
12 54 5 methods [Lorg/apache/bcel/classfile/Method;
13 42 6 mg Lorg/apache/bcel/generic/MethodGen;
16 42 7 cfg Lorg/apache/bcel/verifier/structurals/ControlFlowGraph;
17 42 8 f Lorg/apache/bcel/verifier/structurals/Frame;
25 42 9 argtypes [Lorg/apache/bcel/generic/Type;
26 42 10 twoslotoffset I
27 41 11 j I
44 46 6 ce Lorg/apache/bcel/verifier/exc/VerifierConstraintViolatedException;
47 53 6 re Ljava/lang/RuntimeException;
48 53 7 sw Ljava/io/StringWriter;
49 53 8 pw Ljava/io/PrintWriter;
Exception table:
from to target type
2 3 4 Class java.lang.ClassNotFoundException
12 42 43 Class org.apache.bcel.verifier.exc.VerifierConstraintViolatedException
12 42 46 Class java.lang.RuntimeException
public int getMethodNo();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.bcel.verifier.structurals.Pass3bVerifier.methodNo:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/bcel/verifier/structurals/Pass3bVerifier;
}
SourceFile: "Pass3bVerifier.java"
NestMembers:
org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue
InnerClasses:
private final InstructionContextQueue = org.apache.bcel.verifier.structurals.Pass3bVerifier$InstructionContextQueue of org.apache.bcel.verifier.structurals.Pass3bVerifier