public class edu.umd.cs.findbugs.OpcodeStack implements edu.umd.cs.findbugs.visitclass.Constants2
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: edu.umd.cs.findbugs.OpcodeStack
super_class: java.lang.Object
{
private static final java.lang.String JAVA_UTIL_ARRAYS_ARRAY_LIST;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/util/Arrays$ArrayList;"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean DEBUG2;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.util.HashMap<java.lang.String, java.lang.String> boxedTypes;
descriptor: Ljava/util/HashMap;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
RuntimeVisibleAnnotations:
edu.umd.cs.findbugs.internalAnnotations.StaticConstant()
private java.util.List<edu.umd.cs.findbugs.OpcodeStack$Item> stack;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
private java.util.List<edu.umd.cs.findbugs.OpcodeStack$Item> lvValues;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
private final java.util.List<java.lang.Integer> lastUpdate;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Integer;>;
private boolean top;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean seenTransferOfControl;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final boolean useIterativeAnalysis;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
boolean encountedTop;
descriptor: Z
flags: (0x0000)
boolean backwardsBranch;
descriptor: Z
flags: (0x0000)
java.util.BitSet exceptionHandlers;
descriptor: Ljava/util/BitSet;
flags: (0x0000)
private boolean jumpInfoChangedByBackwardsBranch;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean jumpInfoChangedByNewTarget;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.Integer, java.util.List<edu.umd.cs.findbugs.OpcodeStack$Item>> jumpEntries;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;>;
private java.util.Map<java.lang.Integer, java.util.List<edu.umd.cs.findbugs.OpcodeStack$Item>> jumpStackEntries;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;>;
private java.util.BitSet jumpEntryLocations;
descriptor: Ljava/util/BitSet;
flags: (0x0002) ACC_PRIVATE
int convertJumpToOneZeroState;
descriptor: I
flags: (0x0000)
int convertJumpToZeroOneState;
descriptor: I
flags: (0x0000)
int registerTestedFoundToBeNonnegative;
descriptor: I
flags: (0x0000)
int zeroOneComing;
descriptor: I
flags: (0x0000)
boolean oneMeansNull;
descriptor: Z
flags: (0x0000)
boolean needToMerge;
descriptor: Z
flags: (0x0000)
private boolean reachOnlyByBranch;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String methodName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
edu.umd.cs.findbugs.visitclass.DismantleBytecode v;
descriptor: Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
flags: (0x0000)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Ledu/umd/cs/findbugs/OpcodeStack;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic edu.umd.cs.findbugs.OpcodeStack.$assertionsDisabled:Z
3: ldc "ocstack.debug"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
putstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
4: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
putstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG2:Z
5: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic edu.umd.cs.findbugs.OpcodeStack.boxedTypes:Ljava/util/HashMap;
6: bipush 8
anewarray java.lang.Class
dup
iconst_0
7: ldc Ljava/lang/Integer;
aastore
dup
iconst_1
ldc Ljava/lang/Long;
aastore
dup
iconst_2
ldc Ljava/lang/Double;
aastore
dup
iconst_3
ldc Ljava/lang/Short;
aastore
dup
iconst_4
ldc Ljava/lang/Float;
aastore
dup
iconst_5
ldc Ljava/lang/Boolean;
aastore
dup
bipush 6
ldc Ljava/lang/Character;
aastore
dup
bipush 7
8: ldc Ljava/lang/Byte;
aastore
9: invokestatic edu.umd.cs.findbugs.OpcodeStack.addBoxedType:([Ljava/lang/Class;)V
10: return
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isTop:()Z
ifeq 2
1: ldc "TOP"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "::"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/OpcodeStack;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
2: iconst_4
3: invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getBoolProperty:(I)Z
putfield edu.umd.cs.findbugs.OpcodeStack.useIterativeAnalysis:Z
4: aload 0
new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
putfield edu.umd.cs.findbugs.OpcodeStack.exceptionHandlers:Ljava/util/BitSet;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
6: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield edu.umd.cs.findbugs.OpcodeStack.jumpStackEntries:Ljava/util/Map;
7: aload 0
new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
putfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
8: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
9: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
10: aload 0
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack.registerTestedFoundToBeNonnegative:I
11: aload 0
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack.zeroOneComing:I
12: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.needToMerge:Z
13: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
14: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
15: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
16: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ledu/umd/cs/findbugs/OpcodeStack;
public boolean hasIncomingBranches(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.get:(I)Z
ifeq 1
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 2 1 pc I
MethodParameters:
Name Flags
pc
public static java.lang.String getExceptionSig(edu.umd.cs.findbugs.visitclass.DismantleBytecode, org.apache.bcel.classfile.CodeException);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;Lorg/apache/bcel/classfile/CodeException;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.bcel.classfile.CodeException.getCatchType:()I
ifne 2
1: ldc "Ljava/lang/Throwable;"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
aload 1
invokevirtual org.apache.bcel.classfile.CodeException.getCatchType:()I
invokevirtual org.apache.bcel.classfile.ConstantPool.getConstant:(I)Lorg/apache/bcel/classfile/Constant;
astore 2
start local 2 3: aload 2
instanceof org.apache.bcel.classfile.ConstantClass
ifeq 5
4: new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
checkcast org.apache.bcel.classfile.ConstantClass
aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
invokevirtual org.apache.bcel.classfile.ConstantClass.getBytes:(Lorg/apache/bcel/classfile/ConstantPool;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
5: StackMap locals: org.apache.bcel.classfile.Constant
StackMap stack:
ldc "Ljava/lang/Throwable;"
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 6 1 e Lorg/apache/bcel/classfile/CodeException;
3 6 2 c Lorg/apache/bcel/classfile/Constant;
MethodParameters:
Name Flags
dbc
e
public void mergeJumps(edu.umd.cs.findbugs.visitclass.DismantleBytecode);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.needToMerge:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.needToMerge:Z
3: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.zeroOneComing:I
if_icmpne 18
4: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
5: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.top:Z
6: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 2
start local 2 7: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.oneMeansNull:Z
ifeq 10
8: aload 2
bipush 20
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
9: goto 11
10: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 2
bipush 19
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
11: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
bipush 8
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
12: aload 2
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setCouldBeZero:(Z)V
13: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
14: aload 0
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack.zeroOneComing:I
15: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 17
16: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Updated to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
return
end local 2 18: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 19: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isTop:()Z
ifne 26
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
iconst_3
if_icmpeq 20
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
iconst_3
if_icmpne 26
20: StackMap locals: int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
21: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 3
start local 3 22: aload 3
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setCouldBeZero:(Z)V
23: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
24: aload 0
aload 0
iconst_0
dup_x1
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
25: iconst_1
istore 2
end local 3 26: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 27: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.util.BitSet.get:(I)Z
ifeq 29
28: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
29: StackMap locals: java.util.List
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isReachOnlyByBranch:()Z
istore 4
start local 4 30: aload 3
ifnull 68
31: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
32: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpStackEntries:Ljava/util/Map;
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 5
start local 5 33: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG2:Z
ifeq 44
34: iload 4
ifeq 39
35: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Reached by branch at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: aload 5
ifnull 44
37: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " and stack "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
38: goto 44
StackMap locals: int java.util.List
StackMap stack:
39: aload 3
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifeq 41
40: aload 5
ifnull 44
aload 5
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifne 44
41: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Merging at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
42: aload 5
ifnull 44
43: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " and stack "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isTop:()Z
ifeq 52
45: aload 0
new java.util.ArrayList
dup
aload 3
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
46: aload 5
ifnull 49
47: aload 0
new java.util.ArrayList
dup
aload 5
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
48: goto 50
49: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.clear:()V
50: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
51: return
52: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isReachOnlyByBranch:()Z
ifeq 61
53: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
54: aload 0
new java.util.ArrayList
dup
aload 3
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
55: iload 2
ifne 65
56: aload 5
ifnull 59
57: aload 0
new java.util.ArrayList
dup
aload 5
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
58: goto 65
59: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.clear:()V
60: goto 65
61: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
62: aload 0
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
aload 3
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.mergeLists:(Ljava/util/List;Ljava/util/List;Z)Z
pop
63: iload 2
ifne 65
aload 5
ifnull 65
64: aload 0
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
aload 5
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.mergeLists:(Ljava/util/List;Ljava/util/List;Z)Z
pop
65: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 87
66: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " merged lvValues "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 67: goto 87
StackMap locals:
StackMap stack:
68: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isReachOnlyByBranch:()Z
ifeq 87
iload 2
ifne 87
69: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.clear:()V
70: aconst_null
astore 5
start local 5 71: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getCode:()Lorg/apache/bcel/classfile/Code;
invokevirtual org.apache.bcel.classfile.Code.getExceptionTable:()[Lorg/apache/bcel/classfile/CodeException;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 80
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.util.List int edu.umd.cs.findbugs.OpcodeStack$Item top int int org.apache.bcel.classfile.CodeException[]
StackMap stack:
72: aload 9
iload 7
aaload
astore 6
start local 6 73: aload 6
invokevirtual org.apache.bcel.classfile.CodeException.getHandlerPC:()I
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
if_icmpne 79
74: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 1
aload 6
invokestatic edu.umd.cs.findbugs.OpcodeStack.getExceptionSig:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;Lorg/apache/bcel/classfile/CodeException;)Ljava/lang/String;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 10
start local 10 75: aload 5
ifnonnull 78
76: aload 10
astore 5
77: goto 79
78: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.util.List int edu.umd.cs.findbugs.OpcodeStack$Item org.apache.bcel.classfile.CodeException int int org.apache.bcel.classfile.CodeException[] edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 5
aload 10
invokestatic edu.umd.cs.findbugs.OpcodeStack$Item.merge:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
end local 10 end local 6 79: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.util.List int edu.umd.cs.findbugs.OpcodeStack$Item top int int org.apache.bcel.classfile.CodeException[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
80: iload 7
iload 8
if_icmplt 72
81: aload 5
ifnull 86
82: aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
83: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
84: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
85: goto 87
86: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.util.List int edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
end local 5 87: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 88 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 88 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
7 18 2 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
19 88 2 stackUpdated Z
22 26 3 topItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
27 88 3 jumpEntry Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
30 88 4 wasReachOnlyByBranch Z
33 67 5 jumpStackEntry Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
71 87 5 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
73 79 6 e Lorg/apache/bcel/classfile/CodeException;
75 79 10 newItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
dbc
private void setLastUpdate(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
invokeinterface java.util.List.size:()I
iload 1
if_icmple 1
3: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
iload 1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 5 1 reg I
0 5 2 pc I
MethodParameters:
Name Flags
reg
pc
public int getLastUpdate(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
invokeinterface java.util.List.size:()I
iload 1
if_icmpgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 3 1 reg I
MethodParameters:
Name Flags
reg
public int getNumLastUpdates();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
public void sawOpcode(edu.umd.cs.findbugs.visitclass.DismantleBytecode, int);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.isRegisterStore:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setLastUpdate:(II)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.precomputation:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
3: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.needToMerge:Z
4: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isTop:()Z
ifeq 9
5: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.encountedTop:Z
6: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 8
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%4d: %14s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
aastore
dup
iconst_2
aload 0
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
8: StackMap locals:
StackMap stack:
return
9: StackMap locals:
StackMap stack:
iload 2
sipush 167
if_icmpne 31
10: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
iconst_3
iadd
istore 8
start local 8 11: iload 8
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getMaxPC:()I
if_icmpgt 31
12: aload 1
iconst_1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPrevOpcode:(I)I
istore 9
start local 9 13: aload 1
iconst_2
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPrevOpcode:(I)I
istore 10
start local 10 14: aload 1
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
iconst_3
iadd
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getCodeByte:(I)I
istore 11
start local 11 15: iload 9
iconst_3
if_icmpeq 16
iload 9
iconst_4
if_icmpne 31
16: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top int int int int
StackMap stack:
iload 10
sipush 198
if_icmpeq 17
iload 10
sipush 199
if_icmpne 31
17: StackMap locals:
StackMap stack:
iload 11
iconst_3
if_icmpeq 18
iload 11
iconst_4
if_icmpne 31
StackMap locals:
StackMap stack:
18: iload 9
iload 11
if_icmpeq 31
19: aload 0
iload 9
iconst_3
if_icmpne 20
iconst_1
goto 21
StackMap locals:
StackMap stack: edu.umd.cs.findbugs.OpcodeStack
20: iconst_0
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top int int int int
StackMap stack: edu.umd.cs.findbugs.OpcodeStack int
21: putfield edu.umd.cs.findbugs.OpcodeStack.oneMeansNull:Z
22: iload 10
sipush 198
if_icmpeq 26
23: aload 0
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.oneMeansNull:Z
ifeq 24
iconst_0
goto 25
StackMap locals:
StackMap stack: edu.umd.cs.findbugs.OpcodeStack
24: iconst_1
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top int int int int
StackMap stack: edu.umd.cs.findbugs.OpcodeStack int
25: putfield edu.umd.cs.findbugs.OpcodeStack.oneMeansNull:Z
26: StackMap locals:
StackMap stack:
aload 0
iload 8
iconst_1
iadd
putfield edu.umd.cs.findbugs.OpcodeStack.zeroOneComing:I
27: aload 0
aload 0
iconst_0
dup_x1
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
end local 11 28: goto 31
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top int int int
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
29: astore 11
start local 11 30: aload 11
athrow
end local 11 end local 10 end local 9 end local 8 31: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
iload 2
lookupswitch { // 3
3: 39
4: 32
167: 34
default: 44
}
32: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
33: goto 45
34: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
iconst_1
if_icmpne 37
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchOffset:()I
iconst_4
if_icmpne 37
35: aload 0
iconst_2
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
36: goto 45
37: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
38: goto 45
39: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
iconst_2
if_icmpne 42
40: aload 0
iconst_3
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
41: goto 45
42: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
43: goto 45
44: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
45: StackMap locals:
StackMap stack:
iload 2
lookupswitch { // 3
3: 46
4: 53
167: 48
default: 58
}
46: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
47: goto 59
48: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
iconst_1
if_icmpne 51
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchOffset:()I
iconst_4
if_icmpne 51
49: aload 0
iconst_2
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
50: goto 59
51: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
52: goto 59
53: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
iconst_2
if_icmpne 56
54: aload 0
iconst_3
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
55: goto 59
56: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
57: goto 59
58: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
59: StackMap locals:
StackMap stack:
iload 2
tableswitch { // 0 - 200
0: 255
1: 275
2: 267
3: 267
4: 267
5: 267
6: 267
7: 267
8: 267
9: 269
10: 269
11: 273
12: 273
13: 273
14: 271
15: 271
16: 332
17: 332
18: 97
19: 97
20: 97
21: 72
22: 76
23: 68
24: 64
25: 60
26: 74
27: 74
28: 74
29: 74
30: 78
31: 78
32: 78
33: 78
34: 70
35: 70
36: 70
37: 70
38: 66
39: 66
40: 66
41: 66
42: 62
43: 62
44: 62
45: 62
46: 221
47: 327
48: 324
49: 321
50: 452
51: 311
52: 316
53: 221
54: 277
55: 277
56: 277
57: 277
58: 277
59: 285
60: 285
61: 285
62: 285
63: 287
64: 287
65: 287
66: 287
67: 283
68: 283
69: 283
70: 283
71: 281
72: 281
73: 281
74: 281
75: 279
76: 279
77: 279
78: 279
79: 330
80: 330
81: 330
82: 330
83: 330
84: 330
85: 330
86: 330
87: 136
88: 217
89: 224
90: 228
91: 230
92: 226
93: 232
94: 234
95: 265
96: 334
97: 362
98: 372
99: 376
100: 334
101: 362
102: 372
103: 376
104: 334
105: 362
106: 372
107: 376
108: 334
109: 362
110: 372
111: 376
112: 334
113: 362
114: 372
115: 376
116: 338
117: 344
118: 350
119: 356
120: 334
121: 362
122: 334
123: 362
124: 334
125: 362
126: 334
127: 362
128: 334
129: 362
130: 334
131: 362
132: 236
133: 389
134: 408
135: 414
136: 401
137: 408
138: 414
139: 401
140: 389
141: 414
142: 401
143: 389
144: 408
145: 380
146: 385
147: 396
148: 366
149: 368
150: 368
151: 370
152: 370
153: 103
154: 103
155: 103
156: 103
157: 103
158: 103
159: 144
160: 144
161: 144
162: 144
163: 144
164: 144
165: 144
166: 144
167: 259
168: 460
169: 256
170: 121
171: 121
172: 132
173: 132
174: 132
175: 132
176: 132
177: 256
178: 80
179: 138
180: 289
181: 141
182: 475
183: 475
184: 475
185: 475
186: 477
187: 420
188: 424
189: 431
190: 306
191: 242
192: 247
193: 100
194: 136
195: 136
196: 479
197: 442
198: 103
199: 103
200: 259
default: 479
}
60: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalObjectLoad:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)V
61: goto 495
62: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
bipush 42
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalObjectLoad:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)V
63: goto 495
64: StackMap locals:
StackMap stack:
aload 0
ldc "D"
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
65: goto 495
66: StackMap locals:
StackMap stack:
aload 0
ldc "D"
iload 2
bipush 38
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
67: goto 495
68: StackMap locals:
StackMap stack:
aload 0
ldc "F"
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
69: goto 495
70: StackMap locals:
StackMap stack:
aload 0
ldc "F"
iload 2
bipush 34
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
71: goto 495
72: StackMap locals:
StackMap stack:
aload 0
ldc "I"
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
73: goto 495
74: StackMap locals:
StackMap stack:
aload 0
ldc "I"
iload 2
bipush 26
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
75: goto 495
76: StackMap locals:
StackMap stack:
aload 0
ldc "J"
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
77: goto 495
78: StackMap locals:
StackMap stack:
aload 0
ldc "J"
iload 2
bipush 30
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
79: goto 495
80: StackMap locals:
StackMap stack:
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getFieldSummary:()Ledu/umd/cs/findbugs/ba/FieldSummary;
astore 8
start local 8 81: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getXFieldOperand:()Ledu/umd/cs/findbugs/ba/XField;
astore 9
start local 9 82: aload 9
ifnull 90
aload 8
invokevirtual edu.umd.cs.findbugs.ba.FieldSummary.isComplete:()Z
ifeq 90
aload 9
invokeinterface edu.umd.cs.findbugs.ba.XField.isPublic:()Z
ifne 90
83: aload 8
aload 9
invokevirtual edu.umd.cs.findbugs.ba.FieldSummary.getSummary:(Ledu/umd/cs/findbugs/ba/XField;)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 10
start local 10 84: aload 10
ifnull 90
85: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 10
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 11
start local 11 86: aload 11
aload 9
ldc 2147483647
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setLoadedFromField:(Ledu/umd/cs/findbugs/ba/XField;I)V
87: aload 11
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
88: aload 0
aload 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
89: goto 495
end local 11 end local 10 90: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top edu.umd.cs.findbugs.ba.FieldSummary edu.umd.cs.findbugs.ba.XField
StackMap stack:
aload 1
invokestatic edu.umd.cs.findbugs.FieldAnnotation.fromReferencedField:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/FieldAnnotation;
astore 10
start local 10 91: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSigConstantOperand:()Ljava/lang/String;
aload 10
ldc 2147483647
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ledu/umd/cs/findbugs/FieldAnnotation;I)V
astore 11
start local 11 92: ldc "separator"
aload 10
invokevirtual edu.umd.cs.findbugs.FieldAnnotation.getFieldName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 94
ldc "java.io.File"
aload 10
invokevirtual edu.umd.cs.findbugs.FieldAnnotation.getClassName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 94
93: aload 11
bipush 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
94: StackMap locals: edu.umd.cs.findbugs.FieldAnnotation edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 11
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
95: aload 0
aload 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
96: goto 495
end local 11 end local 10 end local 9 end local 8 97: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getConstantRefOperand:()Lorg/apache/bcel/classfile/Constant;
astore 7
start local 7 98: aload 0
aload 1
aload 7
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByConstant:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;Lorg/apache/bcel/classfile/Constant;)V
99: goto 495
end local 7 100: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
101: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
102: goto 495
103: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
104: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 8
start local 8 105: iload 2
sipush 155
if_icmpeq 106
iload 2
sipush 158
if_icmpne 107
106: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
aload 8
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
putfield edu.umd.cs.findbugs.OpcodeStack.registerTestedFoundToBeNonnegative:I
107: StackMap locals:
StackMap stack:
aload 8
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.valueCouldBeNegative:()Z
ifeq 119
iload 2
sipush 155
if_icmpeq 108
iload 2
sipush 158
if_icmpeq 108
iload 2
sipush 157
if_icmpeq 108
iload 2
sipush 156
if_icmpne 119
108: StackMap locals:
StackMap stack:
aload 8
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
istore 9
start local 9 109: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 113
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top edu.umd.cs.findbugs.OpcodeStack$Item int top java.util.Iterator
StackMap stack:
110: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 10
start local 10 111: aload 10
ifnull 113
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
iload 9
if_icmpne 113
112: aload 10
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 10 113: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 110
114: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 118
StackMap locals:
StackMap stack:
115: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 10
start local 10 116: aload 10
ifnull 118
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
iload 9
if_icmpne 118
117: aload 10
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 10 118: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 115
end local 9 end local 8 119: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchTarget:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.addJumpValue:(II)V
120: goto 495
121: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
122: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
123: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
124: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchTarget:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.addJumpValue:(II)V
125: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchTarget:()I
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchOffset:()I
isub
istore 8
start local 8 126: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSwitchOffsets:()[I
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 130
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top int top int int int[]
StackMap stack:
127: aload 12
iload 10
iaload
istore 9
start local 9 128: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
iload 9
iload 8
iadd
invokevirtual edu.umd.cs.findbugs.OpcodeStack.addJumpValue:(II)V
end local 9 129: iinc 10 1
StackMap locals:
StackMap stack:
130: iload 10
iload 11
if_icmplt 127
131: goto 495
end local 8 132: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
133: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
134: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
135: goto 495
136: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
137: goto 495
138: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
139: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getXFieldOperand:()Ledu/umd/cs/findbugs/ba/XField;
invokevirtual edu.umd.cs.findbugs.OpcodeStack.eraseKnowledgeOf:(Ledu/umd/cs/findbugs/ba/XField;)V
140: goto 495
141: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
142: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getXFieldOperand:()Ledu/umd/cs/findbugs/ba/XField;
invokevirtual edu.umd.cs.findbugs.OpcodeStack.eraseKnowledgeOf:(Ledu/umd/cs/findbugs/ba/XField;)V
143: goto 495
144: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
145: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 9
start local 9 146: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 10
start local 10 147: aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
astore 11
start local 11 148: aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
astore 12
start local 12 149: iconst_0
istore 13
start local 13 150: iconst_0
istore 14
start local 14 151: iload 2
sipush 166
if_icmpeq 152
iload 2
sipush 165
if_icmpne 161
152: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item java.lang.Object java.lang.Object int int
StackMap stack:
aload 11
ifnull 153
aload 12
ifnull 153
aload 11
aload 12
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 156
StackMap locals:
StackMap stack:
153: aload 11
ifnull 155
154: aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isNull:()Z
ifne 156
StackMap locals:
StackMap stack:
155: aload 12
ifnull 196
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isNull:()Z
ifeq 196
156: StackMap locals:
StackMap stack:
iconst_1
istore 14
157: iload 2
sipush 166
if_icmpne 158
iconst_1
goto 159
StackMap locals:
StackMap stack:
158: iconst_0
StackMap locals:
StackMap stack: int
159: istore 13
160: goto 196
StackMap locals:
StackMap stack:
161: aload 11
instanceof java.lang.Integer
ifeq 196
aload 12
instanceof java.lang.Integer
ifeq 196
162: aload 11
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 15
start local 15 163: aload 12
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 16
start local 16 164: iload 2
tableswitch { // 159 - 164
159: 165
160: 170
161: 190
162: 175
163: 180
164: 185
default: 195
}
165: StackMap locals: int int
StackMap stack:
iload 15
iload 16
if_icmpne 166
iconst_1
goto 167
StackMap locals:
StackMap stack:
166: iconst_0
StackMap locals:
StackMap stack: int
167: istore 13
168: iconst_1
istore 14
169: goto 196
170: StackMap locals:
StackMap stack:
iload 15
iload 16
if_icmpeq 171
iconst_1
goto 172
StackMap locals:
StackMap stack:
171: iconst_0
StackMap locals:
StackMap stack: int
172: istore 13
173: iconst_1
istore 14
174: goto 196
175: StackMap locals:
StackMap stack:
iload 15
iload 16
if_icmplt 176
iconst_1
goto 177
StackMap locals:
StackMap stack:
176: iconst_0
StackMap locals:
StackMap stack: int
177: istore 13
178: iconst_1
istore 14
179: goto 196
180: StackMap locals:
StackMap stack:
iload 15
iload 16
if_icmple 181
iconst_1
goto 182
StackMap locals:
StackMap stack:
181: iconst_0
StackMap locals:
StackMap stack: int
182: istore 13
183: iconst_1
istore 14
184: goto 196
185: StackMap locals:
StackMap stack:
iload 15
iload 16
if_icmpgt 186
iconst_1
goto 187
StackMap locals:
StackMap stack:
186: iconst_0
StackMap locals:
StackMap stack: int
187: istore 13
188: iconst_1
istore 14
189: goto 196
190: StackMap locals:
StackMap stack:
iload 15
iload 16
if_icmpge 191
iconst_1
goto 192
StackMap locals:
StackMap stack:
191: iconst_0
StackMap locals:
StackMap stack: int
192: istore 13
193: iconst_1
istore 14
194: goto 196
195: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.$assertionsDisabled:Z
ifne 196
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 16 end local 15 196: StackMap locals:
StackMap stack:
iload 14
ifeq 202
197: iload 13
ifeq 495
198: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchTarget:()I
istore 15
start local 15 199: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
iload 15
invokevirtual edu.umd.cs.findbugs.OpcodeStack.addJumpValue:(II)V
200: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
201: goto 495
end local 15 202: StackMap locals:
StackMap stack:
aload 9
ldc -2147483648
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.hasConstantValue:(I)Z
ifeq 203
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.mightRarelyBeNegative:()Z
ifne 204
203: StackMap locals:
StackMap stack:
aload 10
ldc -2147483648
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.hasConstantValue:(I)Z
ifeq 214
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.mightRarelyBeNegative:()Z
ifeq 214
204: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 208
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item java.lang.Object java.lang.Object int int top java.util.Iterator
StackMap stack:
205: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 15
start local 15 206: aload 15
ifnull 208
aload 15
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.mightRarelyBeNegative:()Z
ifeq 208
207: aload 15
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 15 208: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 205
209: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 213
StackMap locals:
StackMap stack:
210: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 15
start local 15 211: aload 15
ifnull 213
aload 15
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.mightRarelyBeNegative:()Z
ifeq 213
212: aload 15
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 15 213: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 210
214: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item java.lang.Object java.lang.Object int int
StackMap stack:
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchTarget:()I
istore 15
start local 15 215: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
iload 15
invokevirtual edu.umd.cs.findbugs.OpcodeStack.addJumpValue:(II)V
216: goto 495
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 217: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 218: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSize:()I
iconst_1
if_icmpne 495
219: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
220: goto 495
end local 5 221: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
222: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
223: goto 495
224: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleDup:()V
225: goto 495
226: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleDup2:()V
227: goto 495
228: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleDupX1:()V
229: goto 495
230: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleDupX2:()V
231: goto 495
232: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleDup2X1:()V
233: goto 495
234: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleDup2X2:()V
235: goto 495
236: StackMap locals:
StackMap stack:
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
istore 3
start local 3 237: aload 0
iload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getLVValue:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 238: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getIntConstant:()I
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 6
start local 6 239: aload 0
aload 1
bipush 96
aload 6
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByIntMath:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
240: aload 0
iload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalStore:(I)V
241: goto 495
end local 6 end local 5 end local 3 242: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
243: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
244: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
245: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
246: goto 495
247: StackMap locals:
StackMap stack:
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getClassConstantOperand:()Ljava/lang/String;
astore 9
start local 9 248: aload 9
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 250
249: new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
250: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top java.lang.String
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 251: aload 5
getfield edu.umd.cs.findbugs.OpcodeStack$Item.signature:Ljava/lang/String;
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 253
252: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 5
aload 9
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ljava/lang/String;)V
astore 5
253: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item top top top java.lang.String
StackMap stack:
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
254: goto 495
end local 9 end local 5 255: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
goto 495
256: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
257: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
258: goto 495
259: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
260: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
261: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchTarget:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.addJumpValue:(II)V
262: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.clear:()V
263: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
264: goto 495
265: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleSwap:()V
266: goto 495
267: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 2
iconst_3
isub
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
268: goto 495
269: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
iload 2
bipush 9
isub
i2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
270: goto 495
271: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
iload 2
bipush 14
isub
i2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
272: goto 495
273: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
iload 2
bipush 11
isub
i2f
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
274: goto 495
275: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:()V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
276: goto 495
277: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getRegisterOperand:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalStore:(I)V
278: goto 495
279: StackMap locals:
StackMap stack:
aload 0
iload 2
bipush 75
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalStore:(I)V
280: goto 495
281: StackMap locals:
StackMap stack:
aload 0
iload 2
bipush 71
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalStore:(I)V
282: goto 495
283: StackMap locals:
StackMap stack:
aload 0
iload 2
bipush 67
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalStore:(I)V
284: goto 495
285: StackMap locals:
StackMap stack:
aload 0
iload 2
bipush 59
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalStore:(I)V
286: goto 495
287: StackMap locals:
StackMap stack:
aload 0
iload 2
bipush 63
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalStore:(I)V
288: goto 495
289: StackMap locals:
StackMap stack:
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getFieldSummary:()Ledu/umd/cs/findbugs/ba/FieldSummary;
astore 9
start local 9 290: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getXFieldOperand:()Ledu/umd/cs/findbugs/ba/XField;
astore 10
start local 10 291: aload 10
ifnull 300
aload 9
invokevirtual edu.umd.cs.findbugs.ba.FieldSummary.isComplete:()Z
ifeq 300
aload 10
invokeinterface edu.umd.cs.findbugs.ba.XField.isPublic:()Z
ifne 300
292: aload 9
aload 10
invokevirtual edu.umd.cs.findbugs.ba.FieldSummary.getSummary:(Ledu/umd/cs/findbugs/ba/XField;)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 11
start local 11 293: aload 11
ifnull 300
294: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 12
start local 12 295: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 11
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 13
start local 13 296: aload 13
aload 10
aload 12
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getRegisterNumber:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setLoadedFromField:(Ledu/umd/cs/findbugs/ba/XField;I)V
297: aload 13
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
298: aload 0
aload 13
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
299: goto 495
end local 13 end local 12 end local 11 300: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top edu.umd.cs.findbugs.ba.FieldSummary edu.umd.cs.findbugs.ba.XField
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 11
start local 11 301: aload 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getRegisterNumber:()I
istore 12
start local 12 302: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSigConstantOperand:()Ljava/lang/String;
aload 1
invokestatic edu.umd.cs.findbugs.FieldAnnotation.fromReferencedField:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/FieldAnnotation;
iload 12
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ledu/umd/cs/findbugs/FieldAnnotation;I)V
astore 13
start local 13 303: aload 13
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
304: aload 0
aload 13
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 13 end local 12 end local 11 end local 10 end local 9 305: goto 495
306: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 9
start local 9 307: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 10
start local 10 308: aload 10
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
309: aload 0
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 10 end local 9 310: goto 495
311: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
312: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 9
start local 9 313: aload 9
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
314: aload 0
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
315: goto 495
end local 9 316: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
317: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 9
start local 9 318: aload 9
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
319: aload 0
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
320: goto 495
end local 9 321: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
322: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
323: goto 495
324: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
325: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
326: goto 495
327: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
328: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
329: goto 495
330: StackMap locals:
StackMap stack:
aload 0
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
331: goto 495
332: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getIntConstant:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
333: goto 495
334: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 335: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 6
start local 6 336: aload 0
aload 1
iload 2
aload 6
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByIntMath:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
337: goto 495
end local 6 end local 5 338: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 339: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Integer
ifeq 342
340: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
ineg
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
341: goto 495
342: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
343: goto 495
end local 5 344: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 345: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Long
ifeq 348
346: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToLong:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
lneg
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
347: goto 495
348: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
349: goto 495
end local 5 350: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 351: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Float
ifeq 354
352: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
fneg
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
353: goto 495
354: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
355: goto 495
end local 5 356: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 357: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Double
ifeq 360
358: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
dneg
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
359: goto 495
360: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
361: goto 495
end local 5 362: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 363: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 6
start local 6 364: aload 0
iload 2
aload 6
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLongMath:(ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
365: goto 495
end local 6 end local 5 366: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleLcmp:()V
367: goto 495
368: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleFcmp:(I)V
369: goto 495
370: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.handleDcmp:(I)V
371: goto 495
372: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 373: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 6
start local 6 374: aload 0
iload 2
aload 5
aload 6
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByFloatMath:(ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
375: goto 495
end local 6 end local 5 376: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 377: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 6
start local 6 378: aload 0
iload 2
aload 5
aload 6
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByDoubleMath:(ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
379: goto 495
end local 6 end local 5 380: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 381: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 5
ldc "B"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ljava/lang/String;)V
astore 9
start local 9 382: aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setCouldBeNegative:()V
383: aload 0
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 9 384: goto 495
end local 5 385: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 386: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 5
ldc "C"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ljava/lang/String;)V
astore 9
start local 9 387: aload 0
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 9 388: goto 495
end local 5 389: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 390: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 5
ldc "J"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ljava/lang/String;)V
astore 9
start local 9 391: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
istore 10
start local 10 392: iload 10
iconst_1
if_icmpeq 394
iload 2
sipush 133
if_icmpne 394
393: aload 9
bipush 21
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
394: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item top top top edu.umd.cs.findbugs.OpcodeStack$Item int
StackMap stack:
aload 0
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 10 end local 9 395: goto 495
end local 5 396: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 9
start local 9 397: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 9
ldc "S"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ljava/lang/String;)V
astore 10
start local 10 398: aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setCouldBeNegative:()V
399: aload 0
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 10 end local 9 400: goto 495
401: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 402: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
istore 9
start local 9 403: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 5
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ljava/lang/String;)V
astore 5
404: iload 9
ifne 406
405: aload 5
bipush 22
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
406: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item top top top int
StackMap stack:
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
407: goto 495
end local 9 end local 5 408: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 409: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 412
410: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
411: goto 495
412: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
413: goto 495
end local 5 414: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 415: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 418
416: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
417: goto 495
418: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
419: goto 495
end local 5 420: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getClassConstantOperand:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 10
start local 10 421: aload 10
bipush 18
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
422: aload 0
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 10 423: goto 495
424: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 10
start local 10 425: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getIntConstant:()I
i2b
invokestatic org.apache.bcel.generic.BasicType.getType:(B)Lorg/apache/bcel/generic/BasicType;
invokevirtual org.apache.bcel.generic.BasicType.getSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 426: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 4
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 11
start local 11 427: aload 11
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
428: aload 11
bipush 18
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
429: aload 0
aload 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
430: goto 495
end local 11 end local 10 end local 4 431: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 10
start local 10 432: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getClassConstantOperand:()Ljava/lang/String;
astore 4
start local 4 433: aload 4
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 436
434: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
435: goto 437
436: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top java.lang.String top top top top top edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
new java.lang.StringBuilder
dup
ldc "[L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
437: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 4
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 11
start local 11 438: aload 11
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
439: aload 11
bipush 18
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
440: aload 0
aload 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
441: goto 495
end local 11 end local 10 end local 4 442: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getIntConstant:()I
istore 10
start local 10 443: iconst_0
istore 11
start local 11 444: goto 447
445: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top top int int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
446: iinc 11 1
StackMap locals:
StackMap stack:
447: iload 11
iload 10
if_icmplt 445
end local 11 448: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getClassConstantOperand:()Ljava/lang/String;
astore 4
start local 4 449: aload 0
aload 4
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushBySignature:(Ljava/lang/String;Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
450: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
bipush 18
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
451: goto 495
end local 10 end local 4 452: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
453: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 454: aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
astore 11
start local 11 455: aload 11
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 458
456: aload 0
aload 11
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushBySignature:(Ljava/lang/String;Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
457: goto 495
458: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top edu.umd.cs.findbugs.OpcodeStack$Item top top top top top java.lang.String
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:()V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 11 459: goto 495
end local 5 460: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
461: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
462: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc ""
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
463: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchTarget:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.addJumpValue:(II)V
464: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
465: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getBranchOffset:()I
ifge 473
466: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 11
start local 11 467: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.clear:()V
468: iconst_0
istore 12
start local 12 469: goto 472
470: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top top top int int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
471: iinc 12 1
StackMap locals:
StackMap stack:
472: iload 12
iload 11
if_icmplt 470
end local 12 end local 11 473: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
474: goto 495
475: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.processMethodCall:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)V
476: goto 495
477: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.processInvokeDynamic:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
478: goto 495
479: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "OpCode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not supported "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
480: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 8
start local 8 481: new java.lang.StringBuilder
dup
ldc "Error processing opcode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " @ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
482: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getFullyQualifiedMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
483: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 484: aload 9
aload 8
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
485: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 487
486: aload 8
invokevirtual java.lang.RuntimeException.printStackTrace:()V
487: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top java.lang.RuntimeException java.lang.String
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.clear:()V
488: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
end local 9 end local 8 489: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 497
490: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%4d: %14s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
aastore
dup
iconst_2
aload 0
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
goto 497
491: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack: java.lang.Throwable
astore 17
492: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 494
493: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%4d: %14s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
aastore
dup
iconst_2
aload 0
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
494: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int top top top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 17
athrow
495: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 497
496: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%4d: %14s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
aastore
dup
iconst_2
aload 0
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
497: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 498 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 498 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 498 2 seen I
237 242 3 register I
426 431 4 signature Ljava/lang/String;
433 442 4 signature Ljava/lang/String;
449 452 4 signature Ljava/lang/String;
218 221 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
238 242 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
251 255 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
335 338 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
339 344 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
345 350 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
351 356 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
357 362 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
363 366 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
373 376 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
377 380 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
381 385 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
386 389 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
390 396 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
402 408 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
409 414 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
415 420 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
454 460 5 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
239 242 6 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
336 338 6 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
364 366 6 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
374 376 6 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
378 380 6 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
98 100 7 cons Lorg/apache/bcel/classfile/Constant;
11 31 8 nextPC I
13 31 9 prevOpcode1 I
14 31 10 prevOpcode2 I
15 28 11 nextOpcode I
30 31 11 e Ljava/lang/ArrayIndexOutOfBoundsException;
81 97 8 fieldSummary Ledu/umd/cs/findbugs/ba/FieldSummary;
82 97 9 fieldOperand Ledu/umd/cs/findbugs/ba/XField;
84 90 10 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
86 90 11 itm Ledu/umd/cs/findbugs/OpcodeStack$Item;
91 97 10 field Ledu/umd/cs/findbugs/FieldAnnotation;
92 97 11 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
105 119 8 topItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
109 119 9 specialKind I
111 113 10 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
116 118 10 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
126 132 8 pc I
128 129 9 offset I
146 217 9 right Ledu/umd/cs/findbugs/OpcodeStack$Item;
147 217 10 left Ledu/umd/cs/findbugs/OpcodeStack$Item;
148 217 11 lConstant Ljava/lang/Object;
149 217 12 rConstant Ljava/lang/Object;
150 217 13 takeJump Z
151 217 14 handled Z
163 196 15 lC I
164 196 16 rC I
199 202 15 branchTarget I
206 208 15 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
211 213 15 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
215 217 15 branchTarget I
248 255 9 castTo Ljava/lang/String;
290 305 9 fieldSummary Ledu/umd/cs/findbugs/ba/FieldSummary;
291 305 10 fieldOperand Ledu/umd/cs/findbugs/ba/XField;
293 300 11 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
295 300 12 addr Ledu/umd/cs/findbugs/OpcodeStack$Item;
296 300 13 itm Ledu/umd/cs/findbugs/OpcodeStack$Item;
301 305 11 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
302 305 12 reg I
303 305 13 valueLoaded Ledu/umd/cs/findbugs/OpcodeStack$Item;
307 310 9 array Ledu/umd/cs/findbugs/OpcodeStack$Item;
308 310 10 newItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
313 316 9 newItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
318 321 9 newItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
382 384 9 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
387 388 9 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
391 395 9 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
392 395 10 specialKind I
397 400 9 item1 Ledu/umd/cs/findbugs/OpcodeStack$Item;
398 400 10 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
403 408 9 oldSpecialKind I
421 423 10 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
425 431 10 length Ledu/umd/cs/findbugs/OpcodeStack$Item;
427 431 11 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
432 442 10 length Ledu/umd/cs/findbugs/OpcodeStack$Item;
438 442 11 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
443 452 10 dims I
444 448 11 i I
455 459 11 arraySig Ljava/lang/String;
467 473 11 stackSize I
469 473 12 i I
481 489 8 e Ljava/lang/RuntimeException;
484 489 9 msg Ljava/lang/String;
Exception table:
from to target type
14 28 29 Class java.lang.ArrayIndexOutOfBoundsException
4 6 480 Class java.lang.RuntimeException
9 480 480 Class java.lang.RuntimeException
4 6 491 any
9 489 491 any
MethodParameters:
Name Flags
dbc
seen
private void eraseKnowledgeOf(edu.umd.cs.findbugs.ba.XField);
descriptor: (Ledu/umd/cs/findbugs/ba/XField;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.ba.XField top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 2
start local 2 4: aload 2
ifnull 6
aload 1
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getXField:()Ledu/umd/cs/findbugs/ba/XField;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
aconst_null
iconst_m1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setLoadedFromField:(Ledu/umd/cs/findbugs/ba/XField;I)V
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals:
StackMap stack:
8: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 2
start local 2 9: aload 2
ifnull 11
aload 1
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getXField:()Ledu/umd/cs/findbugs/ba/XField;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
10: aload 2
aconst_null
iconst_m1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setLoadedFromField:(Ledu/umd/cs/findbugs/ba/XField;I)V
end local 2 11: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 13 1 fieldOperand Ledu/umd/cs/findbugs/ba/XField;
4 6 2 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
9 11 2 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
fieldOperand
public void precomputation(edu.umd.cs.findbugs.visitclass.DismantleBytecode);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.registerTestedFoundToBeNonnegative:I
iflt 15
1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 3
start local 3 4: aload 3
ifnull 6
aload 3
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.registerTestedFoundToBeNonnegative:I
if_icmpne 6
5: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
iload 2
aload 3
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.cloneAndSetSpecialKind:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 2 8: iconst_0
istore 2
start local 2 9: goto 14
10: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 3
start local 3 11: aload 3
ifnull 13
aload 3
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.registerTestedFoundToBeNonnegative:I
if_icmpne 13
12: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
iload 2
aload 3
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.cloneAndSetSpecialKind:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 3 13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 10
end local 2 15: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack.registerTestedFoundToBeNonnegative:I
16: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.mergeJumps:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 18 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
2 8 2 i I
4 6 3 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
9 15 2 i I
11 13 3 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
dbc
private int constantToInt(edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.Number
ifeq 3
2: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Character
ifeq 5
4: aload 2
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
ireturn
5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 6 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
1 6 2 constant Ljava/lang/Object;
MethodParameters:
Name Flags
it
private float constantToFloat(edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.floatValue:()F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 1 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
it
private double constantToDouble(edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 1 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
it
private long constantToLong(edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 1 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
it
private void handleDcmp(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 3
start local 3 2: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 18
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 18
3: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
dstore 4
start local 4 4: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
dstore 6
start local 6 5: dload 4
invokestatic java.lang.Double.isNaN:(D)Z
ifne 6
dload 6
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 10
6: StackMap locals: edu.umd.cs.findbugs.OpcodeStack int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item double double
StackMap stack:
iload 1
sipush 152
if_icmpne 9
7: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
10: StackMap locals:
StackMap stack:
dload 6
dload 4
dcmpg
ifge 13
11: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
12: goto 19
StackMap locals:
StackMap stack:
13: dload 6
dload 4
dcmpl
ifle 16
14: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 6 end local 4 17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 20 1 opcode I
1 20 2 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 20 3 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
4 17 4 d D
5 17 6 d2 D
MethodParameters:
Name Flags
opcode
private void handleFcmp(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 3
start local 3 2: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 18
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 18
3: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
fstore 4
start local 4 4: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
fstore 5
start local 5 5: fload 4
invokestatic java.lang.Float.isNaN:(F)Z
ifne 6
fload 5
invokestatic java.lang.Float.isNaN:(F)Z
ifeq 10
6: StackMap locals: edu.umd.cs.findbugs.OpcodeStack int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item float float
StackMap stack:
iload 1
sipush 150
if_icmpne 9
7: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
10: StackMap locals:
StackMap stack:
fload 5
fload 4
fcmpg
ifge 13
11: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
12: goto 19
StackMap locals:
StackMap stack:
13: fload 5
fload 4
fcmpl
ifle 16
14: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 5 end local 4 17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 20 1 opcode I
1 20 2 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 20 3 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
4 17 4 f F
5 17 5 f2 F
MethodParameters:
Name Flags
opcode
private void handleLcmp();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 1
start local 1 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 2: aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 13
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 13
3: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToLong:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
lstore 3
start local 3 4: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToLong:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
lstore 5
start local 5 5: lload 5
lload 3
lcmp
ifge 8
6: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
7: goto 14
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item long long
StackMap stack:
8: lload 5
lload 3
lcmp
ifle 11
9: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
10: goto 14
11: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 5 end local 3 12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 15 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 15 2 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
4 12 3 l J
5 12 5 l2 J
private void handleSwap();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 1
start local 1 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 2: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
3: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 5 1 i1 Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 5 2 i2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
private void handleDup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
2: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 4 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
private void handleDupX1();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 1
start local 1 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 2: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
3: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
4: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 6 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 6 2 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
private void handleDup2();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 1
start local 1 1: aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSize:()I
iconst_2
if_icmpne 5
2: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
3: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
4: goto 10
5: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 6: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
7: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
8: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
9: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 11 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
6 10 2 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
private void handleDup2X1();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 3
start local 3 2: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
astore 1
start local 1 3: ldc "J"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
ldc "D"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
4: StackMap locals: java.lang.String edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
5: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
6: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
7: goto 14
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 4
start local 4 9: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
10: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
11: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
12: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
13: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ledu/umd/cs/findbugs/OpcodeStack;
3 15 1 signature Ljava/lang/String;
1 15 2 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 15 3 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
9 14 4 it3 Ledu/umd/cs/findbugs/OpcodeStack$Item;
private void handleDup2X2();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 1
start local 1 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 2: aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isWide:()Z
ifeq 14
3: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isWide:()Z
ifeq 8
4: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
5: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
6: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
7: goto 29
8: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 3
start local 3 9: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
10: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
11: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
12: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 3 13: goto 29
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 3
start local 3 15: aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isWide:()Z
ifeq 22
16: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
17: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
18: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
19: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
20: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
21: goto 29
22: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 4
start local 4 23: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
24: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
25: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
26: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
27: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
28: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 4 end local 3 29: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 30 1 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 30 2 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
9 13 3 it3 Ledu/umd/cs/findbugs/OpcodeStack$Item;
15 29 3 it3 Ledu/umd/cs/findbugs/OpcodeStack$Item;
23 29 4 it4 Ledu/umd/cs/findbugs/OpcodeStack$Item;
private void handleDupX2();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 3
start local 3 2: aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
astore 1
start local 1 3: ldc "J"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
ldc "D"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
4: StackMap locals: java.lang.String edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
5: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
6: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
7: goto 13
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 4
start local 4 9: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
10: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
11: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
12: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 4 13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ledu/umd/cs/findbugs/OpcodeStack;
3 14 1 signature Ljava/lang/String;
1 14 2 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 14 3 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
9 13 4 it3 Ledu/umd/cs/findbugs/OpcodeStack$Item;
private static void addBoxedType(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 8
StackMap locals: java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
ldc "TYPE"
invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 5
start local 5 3: getstatic edu.umd.cs.findbugs.OpcodeStack.boxedTypes:Ljava/util/HashMap;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.util.ClassName.toSlashedClassName:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: goto 7
end local 5 StackMap locals: java.lang.Class[] java.lang.Class int int java.lang.Class[]
StackMap stack: java.lang.Exception
5: astore 6
start local 6 6: new java.lang.AssertionError
dup
aload 6
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 6 end local 1 7: StackMap locals: java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
iload 3
if_icmplt 1
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 clss [Ljava/lang/Class;
2 7 1 c Ljava/lang/Class<*>;
3 5 5 primitiveType Ljava/lang/Class<*>;
6 7 6 e Ljava/lang/Exception;
Exception table:
from to target type
2 4 5 Class java.lang.IllegalArgumentException
2 4 5 Class java.lang.IllegalAccessException
2 4 5 Class java.lang.NoSuchFieldException
2 4 5 Class java.lang.SecurityException
Signature: ([Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clss
private void markConstantValueUnknown(edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aconst_null
putfield edu.umd.cs.findbugs.OpcodeStack$Item.constValue:Ljava/lang/Object;
1: aload 1
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
iflt 5
2: aload 0
aload 1
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getLVValue:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
start local 2 3: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 2
aconst_null
putfield edu.umd.cs.findbugs.OpcodeStack$Item.constValue:Ljava/lang/Object;
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 6 1 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
3 5 2 sbItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
item
private void processMethodCall(edu.umd.cs.findbugs.visitclass.DismantleBytecode, int);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getClassConstantOperand:()Ljava/lang/String;
astore 3
start local 3 1: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getNameConstantOperand:()Ljava/lang/String;
astore 4
start local 4 2: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSigConstantOperand:()Ljava/lang/String;
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: iconst_0
istore 7
start local 7 5: iconst_0
istore 8
start local 8 6: aconst_null
astore 9
start local 9 7: aconst_null
astore 10
start local 10 8: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackDepth:()I
ifle 10
9: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 10
10: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.lang.String java.lang.String java.lang.String java.lang.String int int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 5
invokestatic edu.umd.cs.findbugs.visitclass.PreorderVisitor.getNumberArguments:(Ljava/lang/String;)I
istore 11
start local 11 11: getstatic edu.umd.cs.findbugs.OpcodeStack.boxedTypes:Ljava/util/HashMap;
aload 3
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 31
12: aload 10
ifnull 31
13: ldc "valueOf"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 5
ldc "String"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 18
StackMap locals: int
StackMap stack:
14: aload 4
new java.lang.StringBuilder
dup
getstatic edu.umd.cs.findbugs.OpcodeStack.boxedTypes:Ljava/util/HashMap;
aload 3
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: ldc "Value"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
17: ifeq 31
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 12
start local 12 19: new edu.umd.cs.findbugs.ba.SignatureParser
dup
aload 5
invokespecial edu.umd.cs.findbugs.ba.SignatureParser.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.ba.SignatureParser.getReturnTypeSignature:()Ljava/lang/String;
astore 13
start local 13 20: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 12
aload 13
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ljava/lang/String;)V
astore 14
start local 14 21: aload 14
getfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
ifnonnull 23
22: aload 14
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
23: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item java.lang.String edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 14
getfield edu.umd.cs.findbugs.OpcodeStack$Item.specialKind:I
ifne 29
24: ldc "B"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
ldc "Ljava/lang/Boolean;"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
25: StackMap locals:
StackMap stack:
aload 14
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack$Item.specialKind:I
26: goto 29
StackMap locals:
StackMap stack:
27: ldc "C"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
ldc "Ljava/lang/Character;"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
28: StackMap locals:
StackMap stack:
aload 14
bipush 14
putfield edu.umd.cs.findbugs.OpcodeStack$Item.specialKind:I
29: StackMap locals:
StackMap stack:
aload 0
aload 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
30: return
end local 14 end local 13 end local 12 31: StackMap locals:
StackMap stack:
iload 2
sipush 184
if_icmpne 32
iconst_0
goto 33
StackMap locals:
StackMap stack:
32: iconst_1
StackMap locals:
StackMap stack: int
33: istore 12
start local 12 34: iload 12
istore 13
start local 13 35: goto 43
36: StackMap locals: int int
StackMap stack:
iload 13
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackDepth:()I
if_icmplt 38
37: goto 44
38: StackMap locals:
StackMap stack:
aload 0
iload 13
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 14
start local 14 39: aload 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
astore 15
start local 15 40: ldc "Ljava/lang/StringBuilder;"
aload 15
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 41
ldc "Ljava/lang/StringBuffer;"
aload 15
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 42
41: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item java.lang.String
StackMap stack:
aload 0
aload 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack.markConstantValueUnknown:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 15 end local 14 42: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
43: iload 13
iload 12
iload 11
iadd
if_icmplt 36
end local 13 44: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 45: iload 2
sipush 183
if_icmpne 50
ldc "<init>"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 50
aload 3
ldc "java/io"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 50
aload 3
ldc "Writer"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 50
46: iload 11
ifle 50
47: aload 0
iload 11
iconst_1
isub
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 14
start local 14 48: aload 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isServletWriter:()Z
ifeq 50
49: iconst_1
istore 13
end local 14 50: StackMap locals: int
StackMap stack:
aload 10
ifnull 51
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isServletParameterTainted:()Z
ifeq 51
iconst_1
goto 52
StackMap locals:
StackMap stack:
51: iconst_0
StackMap locals:
StackMap stack: int
52: istore 14
start local 14 53: aconst_null
astore 15
start local 15 54: iload 14
ifeq 56
55: aload 10
getfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
astore 15
56: StackMap locals: int edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection
StackMap stack:
ldc "java/lang/StringBuffer"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 57
ldc "java/lang/StringBuilder"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 93
57: StackMap locals:
StackMap stack:
ldc "<init>"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 67
58: ldc "(Ljava/lang/String;)V"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 64
59: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 60: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
61: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isServletParameterTainted:()Z
ifeq 165
62: iconst_1
istore 7
end local 16 63: goto 165
StackMap locals:
StackMap stack:
64: ldc "()V"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 165
65: ldc ""
astore 6
66: goto 165
StackMap locals:
StackMap stack:
67: ldc "toString"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 73
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackDepth:()I
iconst_1
if_icmplt 73
68: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 69: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
70: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isServletParameterTainted:()Z
ifeq 165
71: iconst_1
istore 7
end local 16 72: goto 165
StackMap locals:
StackMap stack:
73: ldc "append"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 165
74: aload 5
ldc "II)"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpne 86
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackDepth:()I
iconst_2
if_icmplt 86
75: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 9
76: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 77: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isServletParameterTainted:()Z
ifne 78
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isServletParameterTainted:()Z
ifeq 79
78: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
iconst_1
istore 7
79: StackMap locals:
StackMap stack:
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
astore 17
start local 17 80: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
astore 18
start local 18 81: aload 17
ifnull 84
aload 18
ifnull 84
82: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 18
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
83: goto 165
84: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 0
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack.markConstantValueUnknown:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 18 end local 17 end local 16 85: goto 165
StackMap locals:
StackMap stack:
86: aload 5
ldc "([CII)"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 91
87: iconst_1
istore 8
88: aload 0
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 9
89: aload 0
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack.markConstantValueUnknown:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
90: goto 165
91: StackMap locals:
StackMap stack:
iconst_1
istore 8
92: goto 165
StackMap locals:
StackMap stack:
93: iload 2
sipush 183
if_icmpne 106
ldc "java/io/FileOutputStream"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 106
ldc "<init>"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 106
94: ldc "(Ljava/io/File;Z)V"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 95
ldc "(Ljava/lang/String;Z)V"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 106
StackMap locals:
StackMap stack:
95: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_3
if_icmple 106
96: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 97: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
astore 17
start local 17 98: aload 17
instanceof java.lang.Integer
ifeq 165
aload 17
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iconst_1
if_icmpne 165
99: aload 0
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
100: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 18
start local 18 101: ldc "Ljava/io/FileOutputStream;"
aload 18
getfield edu.umd.cs.findbugs.OpcodeStack$Item.signature:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 105
102: aload 18
bipush 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
103: aload 18
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
104: aload 18
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
105: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item java.lang.Object edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
return
end local 18 end local 17 end local 16 106: StackMap locals:
StackMap stack:
iload 2
sipush 183
if_icmpne 116
ldc "java/io/BufferedOutputStream"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 116
ldc "<init>"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 116
107: ldc "(Ljava/io/OutputStream;)V"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 116
108: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
bipush 16
if_icmpne 165
109: ldc "Ljava/io/BufferedOutputStream;"
aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
getfield edu.umd.cs.findbugs.OpcodeStack$Item.signature:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 165
110: aload 0
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
111: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 112: aload 16
bipush 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
113: aload 16
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
114: aload 16
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
115: return
end local 16 116: StackMap locals:
StackMap stack:
iload 2
sipush 185
if_icmpne 118
ldc "getParameter"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 118
117: ldc "javax/servlet/http/HttpServletRequest"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 119
StackMap locals:
StackMap stack:
118: ldc "javax/servlet/http/ServletRequest"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 131
119: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 120: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
121: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Ljava/lang/String;"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 17
start local 17 122: aload 17
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setServletParameterTainted:()V
123: aload 17
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
124: aconst_null
astore 18
start local 18 125: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.String
ifeq 127
126: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
checkcast java.lang.String
astore 18
127: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item java.lang.String
StackMap stack:
aload 17
new edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection
dup
aload 18
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokespecial edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection.<init>:(Ljava/lang/String;I)V
putfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
128: aload 17
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
129: aload 0
aload 17
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
130: return
end local 18 end local 17 end local 16 131: StackMap locals:
StackMap stack:
iload 2
sipush 185
if_icmpne 133
ldc "getQueryString"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 133
132: ldc "javax/servlet/http/HttpServletRequest"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 134
StackMap locals:
StackMap stack:
133: ldc "javax/servlet/http/ServletRequest"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 141
134: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
135: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Ljava/lang/String;"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 16
start local 16 136: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setServletParameterTainted:()V
137: aload 16
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
138: aload 16
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
139: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
140: return
end local 16 141: StackMap locals:
StackMap stack:
iload 2
sipush 185
if_icmpne 143
ldc "getHeader"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 143
142: ldc "javax/servlet/http/HttpServletRequest"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 144
StackMap locals:
StackMap stack:
143: ldc "javax/servlet/http/ServletRequest"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 152
144: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
145: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
146: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Ljava/lang/String;"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 16
start local 16 147: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setServletParameterTainted:()V
148: aload 16
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
149: aload 16
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
150: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
151: return
end local 16 152: StackMap locals:
StackMap stack:
iload 2
sipush 184
if_icmpne 157
ldc "asList"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 157
ldc "java/util/Arrays"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 157
153: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
154: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Ljava/util/Arrays$ArrayList;"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 16
start local 16 155: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
156: return
end local 16 157: StackMap locals:
StackMap stack:
iload 2
sipush 184
if_icmpne 165
ldc "(Ljava/util/List;)Ljava/util/List;"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 165
158: ldc "java/util/Collections"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 165
159: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 160: ldc "Ljava/util/Arrays$ArrayList;"
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 164
161: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Ljava/util/Arrays$ArrayList;"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 17
start local 17 162: aload 0
aload 17
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
163: return
end local 17 164: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 16 165: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
sipush 184
if_icmpeq 166
iconst_1
goto 167
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.lang.String java.lang.String java.lang.String java.lang.String int int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item int int int int edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection
StackMap stack: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode
166: iconst_0
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.lang.String java.lang.String java.lang.String java.lang.String int int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item int int int int edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection
StackMap stack: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int
167: invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByInvoke:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;Z)V
168: aload 9
ifnull 170
aload 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.isNewlyAllocated:()Z
ifeq 170
169: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
bipush 18
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
170: StackMap locals:
StackMap stack:
iload 13
ifeq 172
171: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setIsServletWriter:()V
172: StackMap locals:
StackMap stack:
iload 8
ifne 173
aload 6
ifnonnull 173
iload 7
ifeq 187
StackMap locals:
StackMap stack:
173: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackDepth:()I
ifle 187
174: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 16
start local 16 175: aload 16
aload 6
putfield edu.umd.cs.findbugs.OpcodeStack$Item.constValue:Ljava/lang/Object;
176: iload 8
ifne 179
iload 7
ifeq 179
177: aload 16
aload 10
getfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
178: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setServletParameterTainted:()V
179: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 9
ifnull 186
180: aload 16
aload 9
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
putfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
181: aload 16
aload 9
getfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
182: aload 16
getfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
ifnonnull 184
183: aload 16
aload 9
getfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
184: StackMap locals:
StackMap stack:
aload 9
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
iflt 186
185: aload 0
aload 9
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setLVValue:(ILedu/umd/cs/findbugs/OpcodeStack$Item;)V
186: StackMap locals:
StackMap stack:
return
end local 16 187: StackMap locals:
StackMap stack:
ldc "java/util/Random"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 188
ldc "java/security/SecureRandom"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 194
188: StackMap locals:
StackMap stack:
ldc "nextInt"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 189
ldc "()I"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 190
189: StackMap locals:
StackMap stack:
ldc "nextLong"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 194
ldc "()J"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 194
190: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 16
start local 16 191: aload 16
iconst_2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
192: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 16 193: goto 246
StackMap locals:
StackMap stack:
194: ldc "size"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 201
ldc "()I"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 201
195: aload 3
invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
ldc "java.util.Collection"
invokestatic edu.umd.cs.findbugs.ba.ch.Subtypes2.instanceOf:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 201
196: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 16
start local 16 197: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
ifne 199
198: aload 16
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
199: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 16 200: goto 246
StackMap locals:
StackMap stack:
201: ldc "java/lang/String"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 220
iload 11
ifne 220
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.String
ifeq 220
202: aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
checkcast java.lang.String
astore 16
start local 16 203: aload 4
dup
astore 18
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1776922004: 204
-1183762670: 205
-1106363674: 206
3568674: 207
default: 214
}
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.lang.String java.lang.String java.lang.String java.lang.String int int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item int int int int edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection java.lang.String top java.lang.String
StackMap stack:
204: aload 18
ldc "toString"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 212
goto 214
StackMap locals:
StackMap stack:
205: aload 18
ldc "intern"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 212
goto 214
StackMap locals:
StackMap stack:
206: aload 18
ldc "length"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 208
goto 214
StackMap locals:
StackMap stack:
207: aload 18
ldc "trim"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 210
goto 214
208: StackMap locals:
StackMap stack:
aload 16
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 17
start local 17 209: goto 215
end local 17 210: StackMap locals:
StackMap stack:
aload 16
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 17
start local 17 211: goto 215
end local 17 212: StackMap locals:
StackMap stack:
aload 16
astore 17
start local 17 213: goto 215
end local 17 214: StackMap locals:
StackMap stack:
aconst_null
astore 17
start local 17 215: StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.lang.String java.lang.String java.lang.String java.lang.String int int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item int int int int edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection java.lang.String java.lang.Object
StackMap stack:
aload 17
ifnull 246
216: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 19
start local 19 217: aload 19
aload 17
putfield edu.umd.cs.findbugs.OpcodeStack$Item.constValue:Ljava/lang/Object;
218: aload 0
aload 19
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 19 end local 17 end local 16 219: goto 246
StackMap locals:
StackMap stack:
220: aload 3
invokestatic edu.umd.cs.findbugs.util.ClassName.isMathClass:(Ljava/lang/String;)Z
ifeq 231
ldc "abs"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 231
221: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 16
start local 16 222: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
iconst_4
if_icmpne 225
223: aload 16
bipush 13
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
224: goto 229
StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
225: aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
iconst_2
if_icmpne 228
226: aload 16
bipush 12
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
227: goto 229
228: StackMap locals:
StackMap stack:
aload 16
bipush 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
229: StackMap locals:
StackMap stack:
aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 16 230: goto 246
StackMap locals:
StackMap stack:
231: iload 2
sipush 182
if_icmpne 232
ldc "hashCode"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 232
ldc "()I"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 235
StackMap locals:
StackMap stack:
232: iload 2
sipush 184
if_icmpne 239
233: ldc "java/lang/System"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 239
ldc "identityHashCode"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 239
234: ldc "(Ljava/lang/Object;)I"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 239
235: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 16
start local 16 236: aload 16
iconst_4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
237: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 16 238: goto 246
StackMap locals:
StackMap stack:
239: iload 14
ifeq 246
240: aload 4
ldc "encode"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 241
ldc "javax/servlet/http/HttpServletResponse"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 242
StackMap locals:
StackMap stack:
241: ldc "trim"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 246
ldc "java/lang/String"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 246
242: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 16
start local 16 243: aload 16
bipush 17
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
244: aload 16
aload 15
putfield edu.umd.cs.findbugs.OpcodeStack$Item.injection:Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
245: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 16 246: StackMap locals:
StackMap stack:
aload 5
ldc ")V"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 250
247: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 16
start local 16 248: aload 16
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
249: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 16 250: StackMap locals:
StackMap stack:
return
end local 15 end local 14 end local 13 end local 12 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 251 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 251 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 251 2 seen I
1 251 3 clsName Ljava/lang/String;
2 251 4 methodName Ljava/lang/String;
3 251 5 signature Ljava/lang/String;
4 251 6 appenderValue Ljava/lang/String;
5 251 7 servletRequestParameterTainted Z
6 251 8 sawUnknownAppend Z
7 251 9 sbItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
8 251 10 topItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
11 251 11 numberArguments I
19 31 12 value Ledu/umd/cs/findbugs/OpcodeStack$Item;
20 31 13 newSignature Ljava/lang/String;
21 31 14 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
34 251 12 firstArgument I
35 44 13 i I
39 42 14 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
40 42 15 itemSignature Ljava/lang/String;
45 251 13 initializingServletWriter Z
48 50 14 firstArg Ledu/umd/cs/findbugs/OpcodeStack$Item;
53 251 14 topIsTainted Z
54 251 15 injection Ledu/umd/cs/findbugs/OpcodeStack$HttpParameterInjection;
60 63 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
69 72 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
77 85 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
80 85 17 sbVal Ljava/lang/Object;
81 85 18 sVal Ljava/lang/Object;
97 106 16 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
98 106 17 value Ljava/lang/Object;
101 106 18 newTop Ledu/umd/cs/findbugs/OpcodeStack$Item;
112 116 16 newTop Ledu/umd/cs/findbugs/OpcodeStack$Item;
120 131 16 requestParameter Ledu/umd/cs/findbugs/OpcodeStack$Item;
122 131 17 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
125 131 18 parameterName Ljava/lang/String;
136 141 16 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
147 152 16 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
155 157 16 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
160 165 16 requestParameter Ledu/umd/cs/findbugs/OpcodeStack$Item;
162 164 17 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
175 187 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
191 193 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
197 200 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
203 219 16 input Ljava/lang/String;
209 210 17 result Ljava/lang/Object;
211 212 17 result Ljava/lang/Object;
213 214 17 result Ljava/lang/Object;
215 219 17 result Ljava/lang/Object;
217 219 19 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
222 230 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
236 238 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
243 246 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
248 250 16 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
dbc
seen
private void processInvokeDynamic(edu.umd.cs.findbugs.visitclass.DismantleBytecode);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSigConstantOperand:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokestatic edu.umd.cs.findbugs.visitclass.PreorderVisitor.getNumberArguments:(Ljava/lang/String;)I
istore 3
start local 3 2: aload 0
iload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
3: aload 0
new edu.umd.cs.findbugs.ba.SignatureParser
dup
aload 2
invokespecial edu.umd.cs.findbugs.ba.SignatureParser.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.ba.SignatureParser.getReturnTypeSignature:()Ljava/lang/String;
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushBySignature:(Ljava/lang/String;Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 5 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
1 5 2 signature Ljava/lang/String;
2 5 3 numberArguments I
MethodParameters:
Name Flags
dbc
private boolean mergeLists(java.util.List<edu.umd.cs.findbugs.OpcodeStack$Item>, java.util.List<edu.umd.cs.findbugs.OpcodeStack$Item>, );
descriptor: (Ljava/util/List;Ljava/util/List;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface java.util.List.size:()I
istore 4
start local 4 1: aload 2
invokeinterface java.util.List.size:()I
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: iload 3
ifeq 9
iload 4
iload 5
if_icmpeq 9
4: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG2:Z
ifeq 33
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Bad merging items"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "current items: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "jump items: "
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;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: goto 33
9: StackMap locals: int int int
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG2:Z
ifeq 14
10: iload 4
iload 5
if_icmpeq 14
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Bad merging %d items from %d items%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "current items: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "jump items: "
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;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 15: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG2:Z
ifeq 17
16: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 7
17: StackMap locals: java.util.List
StackMap stack:
iload 4
iload 5
invokestatic java.lang.Math.min:(II)I
istore 8
start local 8 18: iconst_0
istore 9
start local 9 19: goto 27
20: StackMap locals: int int
StackMap stack:
aload 1
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 10
start local 10 21: aload 2
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 11
start local 11 22: aload 10
aload 11
invokestatic edu.umd.cs.findbugs.OpcodeStack$Item.merge:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 12
start local 12 23: aload 12
ifnull 26
aload 12
aload 10
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.equals:(Ljava/lang/Object;)Z
ifne 26
24: aload 1
iload 9
aload 12
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
25: iconst_1
istore 6
end local 12 end local 11 end local 10 26: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
27: iload 9
iload 8
if_icmplt 20
end local 9 28: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG2:Z
ifeq 33
iload 6
ifeq 33
29: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Merge results:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "updating: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
31: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " with: "
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;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
32: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " gives: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 8 end local 7 33: StackMap locals:
StackMap stack:
iload 6
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 34 1 mergeInto Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
0 34 2 mergeFrom Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
0 34 3 errorIfSizesDoNotMatch Z
1 34 4 intoSize I
2 34 5 fromSize I
3 34 6 changed Z
15 33 7 mergeIntoCopy Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
18 33 8 common I
19 28 9 i I
21 26 10 oldValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
22 26 11 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
23 26 12 merged Ledu/umd/cs/findbugs/OpcodeStack$Item;
Signature: (Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;Z)Z
MethodParameters:
Name Flags
mergeInto
mergeFrom
errorIfSizesDoNotMatch
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.clear:()V
1: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.clear:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/OpcodeStack;
public void printJumpEntries();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 1
start local 1 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpStackEntries:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 3: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 4: aload 2
ifnull 7
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%4d: %s::%s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
6: goto 8
7: StackMap locals: java.util.List java.util.List
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%4d: ::%s%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 3 end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
iload 1
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 1
StackMap locals:
StackMap stack:
9: iload 1
ifge 2
end local 1 10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 10 1 i I
3 8 2 stack Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
4 8 3 locals Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
public boolean isJumpTarget(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.get:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 1 1 pc I
MethodParameters:
Name Flags
pc
private void addJumpValue(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Set jump entry at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.methodName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " pc to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 4
3: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.backwardsBranch:Z
4: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 5: aload 3
ifnonnull 13
6: aload 0
ldc "new target"
iload 1
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setJumpInfoChangedByBackwardBranch:(Ljava/lang/String;II)V
7: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setJumpInfoChangedByNewTarget:()V
8: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
new java.util.ArrayList
dup
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
iload 2
invokevirtual java.util.BitSet.set:(I)V
10: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 19
11: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpStackEntries:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
new java.util.ArrayList
dup
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: goto 19
13: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 3
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.mergeLists:(Ljava/util/List;Ljava/util/List;Z)Z
ifeq 15
14: aload 0
ldc "locals"
iload 1
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setJumpInfoChangedByBackwardBranch:(Ljava/lang/String;II)V
15: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpStackEntries:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 4
start local 4 16: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 19
aload 4
ifnull 19
17: aload 0
aload 4
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.mergeLists:(Ljava/util/List;Ljava/util/List;Z)Z
ifeq 19
18: aload 0
ldc "stack"
iload 1
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setJumpInfoChangedByBackwardBranch:(Ljava/lang/String;II)V
end local 4 19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 20 1 from I
0 20 2 target I
5 20 3 atTarget Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
16 19 4 stackAtTarget Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
MethodParameters:
Name Flags
from
target
public void learnFrom(edu.umd.cs.findbugs.OpcodeStack$JumpInfo);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
new java.util.HashMap
dup
aload 1
getfield edu.umd.cs.findbugs.OpcodeStack$JumpInfo.jumpEntries:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
putfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
3: aload 0
new java.util.HashMap
dup
aload 1
getfield edu.umd.cs.findbugs.OpcodeStack$JumpInfo.jumpStackEntries:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
putfield edu.umd.cs.findbugs.OpcodeStack.jumpStackEntries:Ljava/util/Map;
4: aload 0
aload 1
getfield edu.umd.cs.findbugs.OpcodeStack$JumpInfo.jumpEntryLocations:Ljava/util/BitSet;
invokevirtual java.util.BitSet.clone:()Ljava/lang/Object;
checkcast java.util.BitSet
putfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 6 1 info Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;
MethodParameters:
Name Flags
info
public void initialize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
1: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntries:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpStackEntries:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpEntryLocations:Ljava/util/BitSet;
invokevirtual java.util.BitSet.clear:()V
4: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.encountedTop:Z
5: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.backwardsBranch:Z
6: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lastUpdate:Ljava/util/List;
invokeinterface java.util.List.clear:()V
7: aload 0
aload 0
iconst_0
dup_x1
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToZeroOneState:I
putfield edu.umd.cs.findbugs.OpcodeStack.convertJumpToOneZeroState:I
8: aload 0
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack.zeroOneComing:I
9: aload 0
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack.registerTestedFoundToBeNonnegative:I
10: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ledu/umd/cs/findbugs/OpcodeStack;
public int resetForMethodEntry(edu.umd.cs.findbugs.visitclass.DismantleBytecode);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
1: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.initialize:()V
2: aload 0
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.OpcodeStack.resetForMethodEntry0:(Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)I
istore 2
start local 2 3: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getMethod:()Lorg/apache/bcel/classfile/Method;
invokevirtual org.apache.bcel.classfile.Method.getCode:()Lorg/apache/bcel/classfile/Code;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: iload 2
ireturn
6: StackMap locals: int org.apache.bcel.classfile.Code
StackMap stack:
aconst_null
astore 4
start local 4 7: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.useIterativeAnalysis:Z
ifeq 16
8: aload 1
instanceof edu.umd.cs.findbugs.bcel.OpcodeStackDetector$WithCustomJumpInfo
ifeq 11
9: aload 1
checkcast edu.umd.cs.findbugs.bcel.OpcodeStackDetector$WithCustomJumpInfo
invokevirtual edu.umd.cs.findbugs.bcel.OpcodeStackDetector$WithCustomJumpInfo.customJumpInfo:()Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;
astore 4
10: goto 17
StackMap locals: edu.umd.cs.findbugs.OpcodeStack$JumpInfo
StackMap stack:
11: aload 1
instanceof edu.umd.cs.findbugs.bcel.OpcodeStackDetector
ifeq 14
aload 1
checkcast edu.umd.cs.findbugs.bcel.OpcodeStackDetector
invokevirtual edu.umd.cs.findbugs.bcel.OpcodeStackDetector.isUsingCustomUserValue:()Z
ifne 14
12: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getJumpInfo:()Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;
astore 4
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getJumpInfoFromStackMap:()Ledu/umd/cs/findbugs/StackMapAnalyzer$JumpInfoFromStackMap;
astore 4
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getJumpInfoFromStackMap:()Ledu/umd/cs/findbugs/StackMapAnalyzer$JumpInfoFromStackMap;
astore 4
17: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.learnFrom:(Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;)V
18: iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 19 1 visitor Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
3 19 2 result I
4 19 3 code Lorg/apache/bcel/classfile/Code;
7 19 4 jump Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;
MethodParameters:
Name Flags
visitor final
int nullSafeSize(java.util.Collection<?>);
descriptor: (Ljava/util/Collection;)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Collection.size:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 3 1 c Ljava/util/Collection<*>;
Signature: (Ljava/util/Collection<*>;)I
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.CheckForNull()
RuntimeVisibleParameterAnnotations:
0:
javax.annotation.CheckForNull()
MethodParameters:
Name Flags
c
private edu.umd.cs.findbugs.OpcodeStack$JumpInfo getJumpInfo();
descriptor: ()Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
astore 1
start local 1 1: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getThisClass:()Lorg/apache/bcel/classfile/JavaClass;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getMethod:()Lorg/apache/bcel/classfile/Method;
invokestatic edu.umd.cs.findbugs.ba.XFactory.createXMethod:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;)Ledu/umd/cs/findbugs/ba/XMethod;
astore 2
start local 2 2: aload 2
instanceof edu.umd.cs.findbugs.classfile.analysis.MethodInfo
ifeq 6
3: aload 2
checkcast edu.umd.cs.findbugs.classfile.analysis.MethodInfo
astore 3
start local 3 4: aload 3
invokevirtual edu.umd.cs.findbugs.classfile.analysis.MethodInfo.hasBackBranch:()Z
ifne 6
5: aconst_null
areturn
end local 3 6: StackMap locals: edu.umd.cs.findbugs.classfile.IAnalysisCache edu.umd.cs.findbugs.ba.XMethod
StackMap stack:
aload 1
ldc Ledu/umd/cs/findbugs/OpcodeStack$JumpInfo;
aload 2
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getMethodDescriptor:()Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getMethodAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/MethodDescriptor;)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$JumpInfo
7: areturn
8: StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
astore 3
start local 3 9: ldc "Error getting jump information"
aload 3
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
10: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 11 1 analysisCache Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
2 11 2 xMethod Ledu/umd/cs/findbugs/ba/XMethod;
4 6 3 mi Ledu/umd/cs/findbugs/classfile/analysis/MethodInfo;
9 11 3 e Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
Exception table:
from to target type
6 7 8 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
private edu.umd.cs.findbugs.StackMapAnalyzer$JumpInfoFromStackMap getJumpInfoFromStackMap();
descriptor: ()Ledu/umd/cs/findbugs/StackMapAnalyzer$JumpInfoFromStackMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
astore 1
start local 1 1: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getThisClass:()Lorg/apache/bcel/classfile/JavaClass;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getMethod:()Lorg/apache/bcel/classfile/Method;
invokestatic edu.umd.cs.findbugs.ba.XFactory.createXMethod:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;)Ledu/umd/cs/findbugs/ba/XMethod;
astore 2
start local 2 2: aload 2
instanceof edu.umd.cs.findbugs.classfile.analysis.MethodInfo
ifeq 6
3: aload 2
checkcast edu.umd.cs.findbugs.classfile.analysis.MethodInfo
astore 3
start local 3 4: aload 3
invokevirtual edu.umd.cs.findbugs.classfile.analysis.MethodInfo.hasBackBranch:()Z
ifne 6
5: aconst_null
areturn
end local 3 6: StackMap locals: edu.umd.cs.findbugs.classfile.IAnalysisCache edu.umd.cs.findbugs.ba.XMethod
StackMap stack:
aload 1
ldc Ledu/umd/cs/findbugs/StackMapAnalyzer$JumpInfoFromStackMap;
aload 2
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getMethodDescriptor:()Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getMethodAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/MethodDescriptor;)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.StackMapAnalyzer$JumpInfoFromStackMap
7: areturn
8: StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
astore 3
start local 3 9: ldc "Error getting jump information from StackMap"
aload 3
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
10: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ledu/umd/cs/findbugs/OpcodeStack;
1 11 1 analysisCache Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
2 11 2 xMethod Ledu/umd/cs/findbugs/ba/XMethod;
4 6 3 mi Ledu/umd/cs/findbugs/classfile/analysis/MethodInfo;
9 11 3 e Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
Exception table:
from to target type
6 7 8 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
public void setJumpInfoChangedByBackwardBranch(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
if_icmpge 2
1: return
2: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 4
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isJumpInfoChangedByBackwardsBranch:()Z
ifne 4
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%s jump info at %d changed by jump from %d%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
4: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setJumpInfoChangedByBackwardsBranch:(II)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 6 1 kind Ljava/lang/String;
0 6 2 from I
0 6 3 to I
MethodParameters:
Name Flags
kind
from
to
private int resetForMethodEntry0(edu.umd.cs.findbugs.visitclass.PreorderVisitor);
descriptor: (Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getClassName:()Ljava/lang/String;
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getMethod:()Lorg/apache/bcel/classfile/Method;
invokevirtual edu.umd.cs.findbugs.OpcodeStack.resetForMethodEntry0:(Ljava/lang/String;Lorg/apache/bcel/classfile/Method;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 1 1 visitor Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;
MethodParameters:
Name Flags
visitor
int resetForMethodEntry0(java.lang.String, org.apache.bcel.classfile.Method);
descriptor: (Ljava/lang/String;Lorg/apache/bcel/classfile/Method;)I
flags: (0x0000)
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
putfield edu.umd.cs.findbugs.OpcodeStack.methodName:Ljava/lang/String;
1: getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 3
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " --- "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.bcel.classfile.Method.getSignature:()Ljava/lang/String;
astore 3
start local 3 4: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.clear:()V
5: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.clear:()V
6: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.top:Z
7: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.encountedTop:Z
8: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.backwardsBranch:Z
9: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.clearJumpInfoChangedByBackwardsBranch:()V
10: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.clearJumpInfoChangedByNewTarget:()V
11: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setReachOnlyByBranch:(Z)V
12: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
13: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.exceptionHandlers:Ljava/util/BitSet;
invokevirtual java.util.BitSet.clear:()V
14: aload 2
invokevirtual org.apache.bcel.classfile.Method.getCode:()Lorg/apache/bcel/classfile/Code;
astore 4
start local 4 15: aload 4
ifnull 23
16: aload 4
invokevirtual org.apache.bcel.classfile.Code.getExceptionTable:()[Lorg/apache/bcel/classfile/CodeException;
astore 5
start local 5 17: aload 5
ifnull 23
18: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 22
StackMap locals: edu.umd.cs.findbugs.OpcodeStack java.lang.String org.apache.bcel.classfile.Method java.lang.String org.apache.bcel.classfile.Code org.apache.bcel.classfile.CodeException[] top int int org.apache.bcel.classfile.CodeException[]
StackMap stack:
19: aload 9
iload 7
aaload
astore 6
start local 6 20: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.exceptionHandlers:Ljava/util/BitSet;
aload 6
invokevirtual org.apache.bcel.classfile.CodeException.getHandlerPC:()I
invokevirtual java.util.BitSet.set:(I)V
end local 6 21: iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 8
if_icmplt 19
end local 5 23: StackMap locals: edu.umd.cs.findbugs.OpcodeStack java.lang.String org.apache.bcel.classfile.Method java.lang.String org.apache.bcel.classfile.Code
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 25
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " --- "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 3
invokestatic org.apache.bcel.generic.Type.getArgumentTypes:(Ljava/lang/String;)[Lorg/apache/bcel/generic/Type;
astore 5
start local 5 26: iconst_0
istore 6
start local 6 27: aload 2
invokevirtual org.apache.bcel.classfile.Method.isStatic:()Z
ifne 31
28: new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 6
invokestatic edu.umd.cs.findbugs.OpcodeStack$Item.initialArgument:(Ljava/lang/String;I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 7
start local 7 29: aload 0
iload 6
aload 7
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setLVValue:(ILedu/umd/cs/findbugs/OpcodeStack$Item;)V
30: iload 6
aload 7
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSize:()I
iadd
istore 6
end local 7 31: StackMap locals: org.apache.bcel.generic.Type[] int
StackMap stack:
aload 5
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 37
StackMap locals: edu.umd.cs.findbugs.OpcodeStack java.lang.String org.apache.bcel.classfile.Method java.lang.String org.apache.bcel.classfile.Code org.apache.bcel.generic.Type[] int top int int org.apache.bcel.generic.Type[]
StackMap stack:
32: aload 10
iload 8
aaload
astore 7
start local 7 33: aload 7
invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
iload 6
invokestatic edu.umd.cs.findbugs.OpcodeStack$Item.initialArgument:(Ljava/lang/String;I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 11
start local 11 34: aload 0
iload 6
aload 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setLVValue:(ILedu/umd/cs/findbugs/OpcodeStack$Item;)V
35: iload 6
aload 11
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSize:()I
iadd
istore 6
end local 11 end local 7 36: iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
iload 9
if_icmplt 32
38: iload 6
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 39 1 className Ljava/lang/String;
0 39 2 m Lorg/apache/bcel/classfile/Method;
4 39 3 signature Ljava/lang/String;
15 39 4 code Lorg/apache/bcel/classfile/Code;
17 23 5 exceptionTable [Lorg/apache/bcel/classfile/CodeException;
20 21 6 ex Lorg/apache/bcel/classfile/CodeException;
26 39 5 argTypes [Lorg/apache/bcel/generic/Type;
27 39 6 reg I
29 31 7 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
33 36 7 argType Lorg/apache/bcel/generic/Type;
34 36 11 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
1:
MethodParameters:
Name Flags
className
m
public int getStackDepth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
public edu.umd.cs.findbugs.OpcodeStack$Item getStackItem(int);
descriptor: (I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 9
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Can't get stack offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " @ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getFullyQualifiedMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: ldc " is not a value stack offset"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
7: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
8: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Lfindbugs/OpcodeStackError;"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 2
start local 2 10: iload 2
iload 1
isub
istore 3
start local 3 11: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
12: areturn
13: StackMap locals: edu.umd.cs.findbugs.OpcodeStack int int int
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
pop
14: new java.lang.ArrayIndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "Requested item at offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in a stack of size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", made request for position "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 17 1 stackOffset I
10 17 2 tos I
11 17 3 pos I
Exception table:
from to target type
11 12 13 Class java.lang.ArrayIndexOutOfBoundsException
MethodParameters:
Name Flags
stackOffset
private edu.umd.cs.findbugs.OpcodeStack$Item pop();
descriptor: ()Ledu/umd/cs/findbugs/OpcodeStack$Item;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
public void replace(int, edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (ILedu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iflt 1
iload 1
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 8
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Can't get replace stack offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " @ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.v:Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getFullyQualifiedMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: ldc " is not a value stack offset"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
7: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
8: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 3
start local 3 9: iload 3
iload 1
isub
istore 4
start local 4 10: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
iload 4
aload 2
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 12 1 stackOffset I
0 12 2 value Ledu/umd/cs/findbugs/OpcodeStack$Item;
9 12 3 tos I
10 12 4 pos I
MethodParameters:
Name Flags
stackOffset
value
public void replaceTop(edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
1: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 3 1 newTop Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
newTop
private void pop(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
pop
2: StackMap locals:
StackMap stack:
iload 1
iinc 1 -1
ifgt 1
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 4 1 count I
MethodParameters:
Name Flags
count
private void push(edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 2 1 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
i
private void pushByConstant(edu.umd.cs.findbugs.visitclass.DismantleBytecode, org.apache.bcel.classfile.Constant);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;Lorg/apache/bcel/classfile/Constant;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.apache.bcel.classfile.ConstantClass
ifeq 3
1: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Ljava/lang/Class;"
aload 2
checkcast org.apache.bcel.classfile.ConstantClass
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
invokevirtual org.apache.bcel.classfile.ConstantClass.getConstantValue:(Lorg/apache/bcel/classfile/ConstantPool;)Ljava/lang/Object;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
2: goto 20
StackMap locals:
StackMap stack:
3: aload 2
instanceof org.apache.bcel.classfile.ConstantInteger
ifeq 6
4: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
aload 2
checkcast org.apache.bcel.classfile.ConstantInteger
invokevirtual org.apache.bcel.classfile.ConstantInteger.getBytes:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
5: goto 20
StackMap locals:
StackMap stack:
6: aload 2
instanceof org.apache.bcel.classfile.ConstantString
ifeq 10
7: aload 2
checkcast org.apache.bcel.classfile.ConstantString
invokevirtual org.apache.bcel.classfile.ConstantString.getStringIndex:()I
istore 3
start local 3 8: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "Ljava/lang/String;"
aload 0
aload 1
iload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStringFromIndex:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)Ljava/lang/String;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 3 9: goto 20
StackMap locals:
StackMap stack:
10: aload 2
instanceof org.apache.bcel.classfile.ConstantFloat
ifeq 13
11: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 2
checkcast org.apache.bcel.classfile.ConstantFloat
invokevirtual org.apache.bcel.classfile.ConstantFloat.getBytes:()F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
12: goto 20
StackMap locals:
StackMap stack:
13: aload 2
instanceof org.apache.bcel.classfile.ConstantDouble
ifeq 16
14: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 2
checkcast org.apache.bcel.classfile.ConstantDouble
invokevirtual org.apache.bcel.classfile.ConstantDouble.getBytes:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
15: goto 20
StackMap locals:
StackMap stack:
16: aload 2
instanceof org.apache.bcel.classfile.ConstantLong
ifeq 19
17: aload 0
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
aload 2
checkcast org.apache.bcel.classfile.ConstantLong
invokevirtual org.apache.bcel.classfile.ConstantLong.getBytes:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
18: goto 20
19: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
ldc "StaticConstant type not expected"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 21 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 21 2 c Lorg/apache/bcel/classfile/Constant;
8 9 3 s I
MethodParameters:
Name Flags
dbc
c
private void pushByLocalObjectLoad(edu.umd.cs.findbugs.visitclass.DismantleBytecode, int);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getMethod:()Lorg/apache/bcel/classfile/Method;
astore 3
start local 3 1: aload 3
invokevirtual org.apache.bcel.classfile.Method.getLocalVariableTable:()Lorg/apache/bcel/classfile/LocalVariableTable;
astore 4
start local 4 2: aload 4
ifnull 8
3: aload 4
iload 2
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokestatic edu.umd.cs.findbugs.visitclass.LVTHelper.getLocalVariableAtPC:(Lorg/apache/bcel/classfile/LocalVariableTable;II)Lorg/apache/bcel/classfile/LocalVariable;
astore 5
start local 5 4: aload 5
ifnull 8
5: aload 5
invokevirtual org.apache.bcel.classfile.LocalVariable.getSignature:()Ljava/lang/String;
astore 6
start local 6 6: aload 0
aload 6
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
7: return
end local 6 end local 5 8: StackMap locals: org.apache.bcel.classfile.Method org.apache.bcel.classfile.LocalVariableTable
StackMap stack:
aload 0
ldc "Ljava/lang/Object;"
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushByLocalLoad:(Ljava/lang/String;I)V
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 10 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 10 2 register I
1 10 3 m Lorg/apache/bcel/classfile/Method;
2 10 4 lvt Lorg/apache/bcel/classfile/LocalVariableTable;
4 8 5 lv Lorg/apache/bcel/classfile/LocalVariable;
6 8 6 signature Ljava/lang/String;
MethodParameters:
Name Flags
dbc
register
private void pushByIntMath(edu.umd.cs.findbugs.visitclass.DismantleBytecode, int, edu.umd.cs.findbugs.OpcodeStack$Item, edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 5
start local 5 1: aload 3
ifnull 2
aload 4
ifnonnull 4
2: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
3: return
4: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 8
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "pushByIntMath "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getFullyQualifiedMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " @ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6: getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 43
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 43
9: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 6
start local 6 10: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 7
start local 7 11: iload 2
bipush 108
if_icmpeq 12
iload 2
bipush 112
if_icmpne 15
StackMap locals: int int
StackMap stack:
12: iload 7
ifne 15
13: aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
14: return
15: StackMap locals:
StackMap stack:
iload 2
lookupswitch { // 11
96: 16
100: 18
104: 20
108: 22
112: 24
120: 35
122: 39
124: 41
126: 26
128: 31
130: 33
default: 42
}
16: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
iadd
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
17: goto 101
18: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
isub
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
19: goto 101
20: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
imul
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
21: goto 101
22: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
idiv
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
23: goto 101
24: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
irem
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
25: goto 101
26: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
iand
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
27: iload 7
sipush 255
iand
ifne 28
iload 7
ifne 29
StackMap locals:
StackMap stack:
28: iload 6
sipush 255
iand
ifne 101
iload 6
ifeq 101
29: StackMap locals:
StackMap stack:
aload 5
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
30: goto 101
31: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
ior
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
32: goto 101
33: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
ixor
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
34: goto 101
35: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
ishl
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
36: iload 7
bipush 8
if_icmplt 101
37: aload 5
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
38: goto 101
39: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
ishr
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
40: goto 101
41: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iload 6
iload 7
iushr
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
end local 7 end local 6 42: StackMap locals:
StackMap stack:
goto 101
StackMap locals:
StackMap stack:
43: iload 2
bipush 120
if_icmpeq 44
iload 2
bipush 122
if_icmpeq 44
iload 2
bipush 124
if_icmpne 57
44: StackMap locals:
StackMap stack:
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 52
45: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 6
start local 6 46: iload 6
bipush 31
iand
ifne 49
47: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 3
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 5
48: goto 101
StackMap locals: int
StackMap stack:
49: iload 2
bipush 120
if_icmpne 101
iload 6
bipush 31
iand
bipush 8
if_icmplt 101
50: aload 5
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 6 51: goto 101
StackMap locals:
StackMap stack:
52: aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 101
53: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 6
start local 6 54: iload 6
ifne 101
55: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_0
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
end local 6 56: goto 101
StackMap locals:
StackMap stack:
57: aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 68
iload 2
bipush 126
if_icmpne 68
58: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 6
start local 6 59: iload 6
ifne 62
60: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_0
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
61: goto 101
StackMap locals: int
StackMap stack:
62: iload 6
sipush 255
iand
ifne 65
63: aload 5
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
64: goto 101
StackMap locals:
StackMap stack:
65: iload 6
iflt 101
66: aload 5
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 6 67: goto 101
StackMap locals:
StackMap stack:
68: aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 79
iload 2
bipush 126
if_icmpne 79
69: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 6
start local 6 70: iload 6
ifne 73
71: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "I"
iconst_0
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;I)V
astore 5
72: goto 101
StackMap locals: int
StackMap stack:
73: iload 6
sipush 255
iand
ifne 76
74: aload 5
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
75: goto 101
StackMap locals:
StackMap stack:
76: iload 6
iflt 101
77: aload 5
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 6 78: goto 101
StackMap locals:
StackMap stack:
79: iload 2
bipush 126
if_icmpne 83
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
bipush 19
if_icmpne 83
80: aload 5
bipush 19
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
81: aload 5
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
82: goto 101
StackMap locals:
StackMap stack:
83: iload 2
bipush 126
if_icmpne 87
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
bipush 19
if_icmpne 87
84: aload 5
bipush 19
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
85: aload 5
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
86: goto 101
StackMap locals:
StackMap stack:
87: iload 2
sipush 128
if_icmpne 91
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
bipush 20
if_icmpne 91
88: aload 5
bipush 20
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
89: aload 5
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
90: goto 101
StackMap locals:
StackMap stack:
91: iload 2
sipush 128
if_icmpne 101
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
bipush 20
if_icmpne 101
92: aload 5
bipush 20
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
93: aload 5
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
94: goto 101
StackMap locals:
StackMap stack: java.lang.ArithmeticException
95: pop
goto 101
96: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 97: new java.lang.StringBuilder
dup
ldc "Error processing2 "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
getstatic edu.umd.cs.findbugs.OpcodeStack.OPCODE_NAMES:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " @ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
98: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getFullyQualifiedMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
99: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 100: aload 7
aload 6
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
end local 7 end local 6 101: StackMap locals:
StackMap stack:
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
iconst_5
if_icmpne 106
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 106
102: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 6
start local 6 103: iload 2
bipush 108
if_icmpne 104
iload 6
iconst_2
if_icmpeq 105
StackMap locals: int
StackMap stack:
104: iload 2
bipush 122
if_icmpne 106
iload 6
iconst_1
if_icmpne 106
105: StackMap locals:
StackMap stack:
aload 5
bipush 6
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 6 106: StackMap locals:
StackMap stack:
iload 2
bipush 96
if_icmpne 109
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
ifne 109
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnonnull 109
107: aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnonnull 109
108: aload 5
iconst_5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
109: StackMap locals:
StackMap stack:
iload 2
bipush 112
if_icmpne 111
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
iconst_4
if_icmpne 111
110: aload 5
bipush 9
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
111: StackMap locals:
StackMap stack:
iload 2
bipush 112
if_icmpne 113
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKind:()I
iconst_2
if_icmpne 113
112: aload 5
bipush 8
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
113: StackMap locals:
StackMap stack:
iload 2
bipush 112
if_icmpne 120
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.checkForIntegerMinValue:()Z
ifeq 120
114: aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 119
115: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
istore 6
start local 6 116: iload 6
invokestatic edu.umd.cs.findbugs.util.Util.isPowerOfTwo:(I)Z
ifne 120
117: aload 5
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKindForRemainder:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
end local 6 118: goto 120
119: StackMap locals:
StackMap stack:
aload 5
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSpecialKindForRemainder:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
120: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.OpcodeStack.DEBUG:Z
ifeq 122
121: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "push: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
122: StackMap locals:
StackMap stack:
aload 5
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
123: aload 0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
124: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 125 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 125 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 125 2 seen I
0 125 3 lhs Ledu/umd/cs/findbugs/OpcodeStack$Item;
0 125 4 rhs Ledu/umd/cs/findbugs/OpcodeStack$Item;
1 125 5 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
10 42 6 lhsValue I
11 42 7 rhsValue I
46 51 6 constant I
54 56 6 constant I
59 67 6 value I
70 78 6 value I
97 101 6 e Ljava/lang/RuntimeException;
100 101 7 msg Ljava/lang/String;
103 106 6 rhsValue I
116 118 6 rhsValue I
Exception table:
from to target type
4 14 95 Class java.lang.ArithmeticException
15 94 95 Class java.lang.ArithmeticException
4 14 96 Class java.lang.RuntimeException
15 94 96 Class java.lang.RuntimeException
MethodParameters:
Name Flags
dbc
seen
lhs
rhs
private void pushByLongMath(int, edu.umd.cs.findbugs.OpcodeStack$Item, edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 4
start local 4 1: aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 42
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 42
2: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToLong:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
lstore 5
start local 5 3: iload 1
bipush 121
if_icmpne 8
4: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
lshl
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
5: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
bipush 8
if_icmplt 52
6: aload 4
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
7: goto 52
StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item long
StackMap stack:
8: iload 1
bipush 123
if_icmpne 11
9: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
lshr
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
10: goto 52
StackMap locals:
StackMap stack:
11: iload 1
bipush 125
if_icmpne 14
12: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
lushr
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
13: goto 52
14: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToLong:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
lstore 7
start local 7 15: iload 1
bipush 97
if_icmpne 18
16: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
17: goto 52
StackMap locals: long
StackMap stack:
18: iload 1
bipush 101
if_icmpne 21
19: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
lsub
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
20: goto 52
StackMap locals:
StackMap stack:
21: iload 1
bipush 105
if_icmpne 24
22: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
lmul
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
23: goto 52
StackMap locals:
StackMap stack:
24: iload 1
bipush 109
if_icmpne 27
25: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
26: goto 52
StackMap locals:
StackMap stack:
27: iload 1
bipush 127
if_icmpne 33
28: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
29: lload 7
ldc 255
land
lconst_0
lcmp
ifne 30
lload 7
lconst_0
lcmp
ifne 31
StackMap locals:
StackMap stack:
30: lload 5
ldc 255
land
lconst_0
lcmp
ifne 52
lload 5
lconst_0
lcmp
ifeq 52
31: StackMap locals:
StackMap stack:
aload 4
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
32: goto 52
StackMap locals:
StackMap stack:
33: iload 1
sipush 129
if_icmpne 36
34: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
lor
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
35: goto 52
StackMap locals:
StackMap stack:
36: iload 1
sipush 131
if_icmpne 39
37: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
lxor
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
38: goto 52
StackMap locals:
StackMap stack:
39: iload 1
bipush 113
if_icmpne 52
40: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "J"
lload 5
lload 7
lrem
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
end local 7 end local 5 41: goto 52
StackMap locals:
StackMap stack:
42: aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 45
iload 1
bipush 121
if_icmpne 45
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToInt:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)I
bipush 8
if_icmplt 45
43: aload 4
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
44: goto 52
StackMap locals:
StackMap stack:
45: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 48
iload 1
bipush 127
if_icmpne 48
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToLong:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
ldc 255
land
lconst_0
lcmp
ifne 48
46: aload 4
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
47: goto 52
StackMap locals:
StackMap stack:
48: aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
ifnull 52
iload 1
bipush 127
if_icmpne 52
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToLong:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)J
ldc 255
land
lconst_0
lcmp
ifne 52
49: aload 4
iconst_3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
50: goto 52
StackMap locals:
StackMap stack: java.lang.RuntimeException
51: pop
52: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
53: return
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 Ledu/umd/cs/findbugs/OpcodeStack;
0 54 1 seen I
0 54 2 lhs Ledu/umd/cs/findbugs/OpcodeStack$Item;
0 54 3 rhs Ledu/umd/cs/findbugs/OpcodeStack$Item;
1 54 4 newValue Ledu/umd/cs/findbugs/OpcodeStack$Item;
3 41 5 lhsValue J
15 41 7 rhsValue J
Exception table:
from to target type
1 50 51 Class java.lang.RuntimeException
MethodParameters:
Name Flags
seen
lhs
rhs
private void pushByFloatMath(int, edu.umd.cs.findbugs.OpcodeStack$Item, edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: bipush 7
istore 5
start local 5 1: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Float
ifeq 19
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Float
ifeq 19
2: iload 1
bipush 98
if_icmpne 5
3: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
fadd
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 4: goto 22
end local 4 StackMap locals: edu.umd.cs.findbugs.OpcodeStack int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item top int
StackMap stack:
5: iload 1
bipush 102
if_icmpne 8
6: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
fsub
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 7: goto 22
end local 4 StackMap locals:
StackMap stack:
8: iload 1
bipush 106
if_icmpne 11
9: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
fmul
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 10: goto 22
end local 4 StackMap locals:
StackMap stack:
11: iload 1
bipush 110
if_icmpne 14
12: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
fdiv
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 13: goto 22
end local 4 StackMap locals:
StackMap stack:
14: iload 1
bipush 114
if_icmpne 17
15: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToFloat:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)F
frem
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 16: goto 22
end local 4 17: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 4
start local 4 18: goto 22
end local 4 19: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "F"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 4
start local 4 20: iload 1
bipush 111
if_icmpne 22
21: bipush 15
istore 5
22: StackMap locals: edu.umd.cs.findbugs.OpcodeStack int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item int
StackMap stack:
aload 4
iload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
23: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
24: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 25 1 seen I
0 25 2 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
0 25 3 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
4 5 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
7 8 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
10 11 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
13 14 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
16 17 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
18 19 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
20 25 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
1 25 5 specialKind I
MethodParameters:
Name Flags
seen
it
it2
private void pushByDoubleMath(int, edu.umd.cs.findbugs.OpcodeStack$Item, edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (ILedu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: bipush 7
istore 5
start local 5 1: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Double
ifeq 19
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getConstant:()Ljava/lang/Object;
instanceof java.lang.Double
ifeq 19
2: iload 1
bipush 99
if_icmpne 5
3: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
dadd
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 4: goto 22
end local 4 StackMap locals: edu.umd.cs.findbugs.OpcodeStack int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item top int
StackMap stack:
5: iload 1
bipush 103
if_icmpne 8
6: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
dsub
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 7: goto 22
end local 4 StackMap locals:
StackMap stack:
8: iload 1
bipush 107
if_icmpne 11
9: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 10: goto 22
end local 4 StackMap locals:
StackMap stack:
11: iload 1
bipush 111
if_icmpne 14
12: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 13: goto 22
end local 4 StackMap locals:
StackMap stack:
14: iload 1
bipush 115
if_icmpne 17
15: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.constantToDouble:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)D
drem
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 4
start local 4 16: goto 22
end local 4 17: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 4
start local 4 18: goto 22
end local 4 19: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
ldc "D"
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;)V
astore 4
start local 4 20: iload 1
bipush 111
if_icmpne 22
21: bipush 15
istore 5
22: StackMap locals: edu.umd.cs.findbugs.OpcodeStack int edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item int
StackMap stack:
aload 4
iload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
23: aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
24: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 25 1 seen I
0 25 2 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
0 25 3 it2 Ledu/umd/cs/findbugs/OpcodeStack$Item;
4 5 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
7 8 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
10 11 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
13 14 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
16 17 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
18 19 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
20 25 4 result Ledu/umd/cs/findbugs/OpcodeStack$Item;
1 25 5 specialKind I
MethodParameters:
Name Flags
seen
it
it2
private void pushByInvoke(edu.umd.cs.findbugs.visitclass.DismantleBytecode, boolean);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSigConstantOperand:()Ljava/lang/String;
astore 3
start local 3 1: ldc "<init>"
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getNameConstantOperand:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
aload 3
ldc ")V"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 12
iload 2
ifeq 12
2: aload 0
aload 3
invokestatic edu.umd.cs.findbugs.visitclass.PreorderVisitor.getNumberArguments:(Ljava/lang/String;)I
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
3: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 4
start local 4 4: aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackDepth:()I
ifle 11
5: aload 0
iconst_0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 5
start local 5 6: aload 4
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.equals:(Ljava/lang/Object;)Z
ifeq 11
7: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 5
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 5
8: aload 5
aload 1
invokestatic edu.umd.cs.findbugs.ba.XFactory.createReferencedXMethod:(Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/ba/XMethod;
putfield edu.umd.cs.findbugs.OpcodeStack$Item.source:Ledu/umd/cs/findbugs/ba/ClassMember;
9: aload 5
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
putfield edu.umd.cs.findbugs.OpcodeStack$Item.pc:I
10: aload 0
iconst_0
aload 5
invokevirtual edu.umd.cs.findbugs.OpcodeStack.replace:(ILedu/umd/cs/findbugs/OpcodeStack$Item;)V
end local 5 11: StackMap locals: java.lang.String edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
return
end local 4 12: StackMap locals:
StackMap stack:
aload 0
aload 3
invokestatic edu.umd.cs.findbugs.visitclass.PreorderVisitor.getNumberArguments:(Ljava/lang/String;)I
iload 2
ifeq 13
iconst_1
goto 14
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.lang.String
StackMap stack: edu.umd.cs.findbugs.OpcodeStack int
13: iconst_0
StackMap locals: edu.umd.cs.findbugs.OpcodeStack edu.umd.cs.findbugs.visitclass.DismantleBytecode int java.lang.String
StackMap stack: edu.umd.cs.findbugs.OpcodeStack int int
14: iadd
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:(I)V
15: aload 0
new edu.umd.cs.findbugs.ba.SignatureParser
dup
aload 3
invokespecial edu.umd.cs.findbugs.ba.SignatureParser.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.ba.SignatureParser.getReturnTypeSignature:()Ljava/lang/String;
aload 1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pushBySignature:(Ljava/lang/String;Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 17 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 17 2 popThis Z
1 17 3 signature Ljava/lang/String;
4 12 4 constructed Ledu/umd/cs/findbugs/OpcodeStack$Item;
6 11 5 next Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
dbc
popThis
public edu.umd.cs.findbugs.OpcodeStack$Item getItemMethodInvokedOn(edu.umd.cs.findbugs.visitclass.DismantleBytecode);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/OpcodeStack$Item;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getOpcode:()I
istore 2
start local 2 1: iload 2
tableswitch { // 182 - 185
182: 2
183: 2
184: 5
185: 2
default: 5
}
2: StackMap locals: int
StackMap stack:
aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSigConstantOperand:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
invokestatic edu.umd.cs.findbugs.visitclass.PreorderVisitor.getNumberArguments:(Ljava/lang/String;)I
istore 4
start local 4 4: aload 0
iload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
areturn
end local 4 end local 3 5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Not visiting an instance method call"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 6 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
1 6 2 opcode I
3 5 3 signature Ljava/lang/String;
4 5 4 stackOffset I
MethodParameters:
Name Flags
dbc
private java.lang.String getStringFromIndex(edu.umd.cs.findbugs.visitclass.DismantleBytecode, int);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
iload 2
invokevirtual org.apache.bcel.classfile.ConstantPool.getConstant:(I)Lorg/apache/bcel/classfile/Constant;
checkcast org.apache.bcel.classfile.ConstantUtf8
astore 3
start local 3 1: aload 3
invokevirtual org.apache.bcel.classfile.ConstantUtf8.getBytes:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 2 1 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
0 2 2 i I
1 2 3 name Lorg/apache/bcel/classfile/ConstantUtf8;
MethodParameters:
Name Flags
dbc
i
private void pushBySignature(java.lang.String, edu.umd.cs.findbugs.visitclass.DismantleBytecode);
descriptor: (Ljava/lang/String;Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: ldc "V"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 1
aconst_null
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 3
start local 3 3: aload 2
ifnull 5
4: aload 3
aload 2
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getPC:()I
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setPC:(I)V
5: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
ldc "B"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 3
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
7: goto 10
StackMap locals:
StackMap stack:
8: ldc "C"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 3
bipush 14
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.setSpecialKind:(I)V
10: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 12 1 s Ljava/lang/String;
0 12 2 dbc Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
3 12 3 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
s
dbc
private void pushByLocalStore(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
invokevirtual edu.umd.cs.findbugs.OpcodeStack.pop:()Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 2
start local 2 1: aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getRegisterNumber:()I
iload 1
if_icmpeq 4
2: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
iload 1
invokestatic edu.umd.cs.findbugs.OpcodeStack.clearRegisterLoad:(Ljava/util/List;I)V
3: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.stack:Ljava/util/List;
iload 1
invokestatic edu.umd.cs.findbugs.OpcodeStack.clearRegisterLoad:(Ljava/util/List;I)V
4: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 2
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
iconst_m1
if_icmpne 6
5: aload 2
iload 1
putfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
6: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setLVValue:(ILedu/umd/cs/findbugs/OpcodeStack$Item;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 8 1 register I
1 8 2 it Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
register
private static void clearRegisterLoad(java.util.List<edu.umd.cs.findbugs.OpcodeStack$Item>, );
descriptor: (Ljava/util/List;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 11
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 3
start local 3 3: aload 3
ifnull 10
aload 3
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
iload 1
if_icmpeq 4
aload 3
getfield edu.umd.cs.findbugs.OpcodeStack$Item.fieldLoadedFromRegister:I
iload 1
if_icmpne 10
4: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 3
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 3
5: aload 3
getfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
iload 1
if_icmpne 7
6: aload 3
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
7: StackMap locals:
StackMap stack:
aload 3
getfield edu.umd.cs.findbugs.OpcodeStack$Item.fieldLoadedFromRegister:I
iload 1
if_icmpne 9
8: aload 3
iconst_m1
putfield edu.umd.cs.findbugs.OpcodeStack$Item.fieldLoadedFromRegister:I
9: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 3
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 2 12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 list Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;
0 13 1 register I
1 12 2 pos I
3 10 3 i Ledu/umd/cs/findbugs/OpcodeStack$Item;
Signature: (Ljava/util/List<Ledu/umd/cs/findbugs/OpcodeStack$Item;>;I)V
MethodParameters:
Name Flags
list
register
private void pushByLocalLoad(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 0
iload 2
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getLVValue:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 3
start local 3 1: aload 3
astore 4
start local 4 2: ldc "Ljava/lang/Object;"
aload 4
getfield edu.umd.cs.findbugs.OpcodeStack$Item.signature:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
ldc "Ljava/lang/Object;"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
3: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 3
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 4
4: aload 4
aload 1
putfield edu.umd.cs.findbugs.OpcodeStack$Item.signature:Ljava/lang/String;
5: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getRegisterNumber:()I
ifge 9
6: aload 4
aload 3
if_acmpne 8
7: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
aload 3
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
astore 4
8: StackMap locals:
StackMap stack:
aload 4
iload 2
putfield edu.umd.cs.findbugs.OpcodeStack$Item.registerNumber:I
9: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.push:(Ledu/umd/cs/findbugs/OpcodeStack$Item;)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 11 1 signature Ljava/lang/String;
0 11 2 register I
1 11 3 oldItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
2 11 4 newItem Ledu/umd/cs/findbugs/OpcodeStack$Item;
MethodParameters:
Name Flags
signature
register
private void setLVValue(int, edu.umd.cs.findbugs.OpcodeStack$Item);
descriptor: (ILedu/umd/cs/findbugs/OpcodeStack$Item;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.size:()I
isub
iconst_1
iadd
istore 3
start local 3 1: goto 3
2: StackMap locals: int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
aconst_null
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals:
StackMap stack:
iload 3
iinc 3 -1
ifgt 2
4: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.useIterativeAnalysis:Z
ifne 6
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.seenTransferOfControl:Z
ifeq 6
5: aload 2
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
invokestatic edu.umd.cs.findbugs.OpcodeStack$Item.merge:(Ledu/umd/cs/findbugs/OpcodeStack$Item;Ledu/umd/cs/findbugs/OpcodeStack$Item;)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 2
6: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
iload 1
aload 2
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 8 1 index I
0 8 2 value Ledu/umd/cs/findbugs/OpcodeStack$Item;
1 8 3 addCount I
MethodParameters:
Name Flags
index
value
public edu.umd.cs.findbugs.OpcodeStack$Item getLVValue(int);
descriptor: (I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 2
1: new edu.umd.cs.findbugs.OpcodeStack$Item
dup
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.OpcodeStack$Item
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
areturn
5: StackMap locals: edu.umd.cs.findbugs.OpcodeStack$Item
StackMap stack:
new edu.umd.cs.findbugs.OpcodeStack$Item
dup
invokespecial edu.umd.cs.findbugs.OpcodeStack$Item.<init>:()V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 6 1 index I
3 6 2 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
javax.annotation.Nonnull()
MethodParameters:
Name Flags
index
public int getNumLocalValues();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.lvValues:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
private void setTop(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 4
1: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.top:Z
ifne 6
2: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.top:Z
3: goto 6
StackMap locals:
StackMap stack:
4: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.top:Z
ifeq 6
5: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.top:Z
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 7 1 top Z
MethodParameters:
Name Flags
top
public boolean isTop();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.top:Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/OpcodeStack;
void setReachOnlyByBranch(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: aload 0
iconst_1
invokevirtual edu.umd.cs.findbugs.OpcodeStack.setTop:(Z)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield edu.umd.cs.findbugs.OpcodeStack.reachOnlyByBranch:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 4 1 reachOnlyByBranch Z
MethodParameters:
Name Flags
reachOnlyByBranch
boolean isReachOnlyByBranch();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.reachOnlyByBranch:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
boolean isJumpInfoChangedByBackwardsBranch();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpInfoChangedByBackwardsBranch:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
void clearJumpInfoChangedByBackwardsBranch();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.jumpInfoChangedByBackwardsBranch:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/OpcodeStack;
void setJumpInfoChangedByBackwardsBranch(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.jumpInfoChangedByBackwardsBranch:Z
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/OpcodeStack;
0 2 1 from I
0 2 2 to I
MethodParameters:
Name Flags
from
to
protected boolean isJumpInfoChangedByNewTarget();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.OpcodeStack.jumpInfoChangedByNewTarget:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/OpcodeStack;
void clearJumpInfoChangedByNewTarget();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield edu.umd.cs.findbugs.OpcodeStack.jumpInfoChangedByNewTarget:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/OpcodeStack;
protected void setJumpInfoChangedByNewTarget();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield edu.umd.cs.findbugs.OpcodeStack.jumpInfoChangedByNewTarget:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/OpcodeStack;
}
SourceFile: "OpcodeStack.java"
NestMembers:
edu.umd.cs.findbugs.OpcodeStack$CustomUserValue edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection edu.umd.cs.findbugs.OpcodeStack$Item edu.umd.cs.findbugs.OpcodeStack$Item$SpecialKind edu.umd.cs.findbugs.OpcodeStack$JumpInfo edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory$JumpStackComputation
InnerClasses:
public abstract CustomUserValue = edu.umd.cs.findbugs.OpcodeStack$CustomUserValue of edu.umd.cs.findbugs.OpcodeStack
HttpParameterInjection = edu.umd.cs.findbugs.OpcodeStack$HttpParameterInjection of edu.umd.cs.findbugs.OpcodeStack
public Item = edu.umd.cs.findbugs.OpcodeStack$Item of edu.umd.cs.findbugs.OpcodeStack
public JumpInfo = edu.umd.cs.findbugs.OpcodeStack$JumpInfo of edu.umd.cs.findbugs.OpcodeStack
public JumpInfoFactory = edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory of edu.umd.cs.findbugs.OpcodeStack
JumpInfoFromStackMap = edu.umd.cs.findbugs.StackMapAnalyzer$JumpInfoFromStackMap of edu.umd.cs.findbugs.StackMapAnalyzer
public abstract WithCustomJumpInfo = edu.umd.cs.findbugs.bcel.OpcodeStackDetector$WithCustomJumpInfo of edu.umd.cs.findbugs.bcel.OpcodeStackDetector