public class edu.umd.cs.findbugs.DeepSubtypeAnalysis
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: edu.umd.cs.findbugs.DeepSubtypeAnalysis
super_class: java.lang.Object
{
private static org.apache.bcel.classfile.JavaClass serializable;
descriptor: Lorg/apache/bcel/classfile/JavaClass;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.apache.bcel.classfile.JavaClass collection;
descriptor: Lorg/apache/bcel/classfile/JavaClass;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.apache.bcel.classfile.JavaClass comparator;
descriptor: Lorg/apache/bcel/classfile/JavaClass;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.apache.bcel.classfile.JavaClass map;
descriptor: Lorg/apache/bcel/classfile/JavaClass;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.apache.bcel.classfile.JavaClass remote;
descriptor: Lorg/apache/bcel/classfile/JavaClass;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.ClassNotFoundException storedException;
descriptor: Ljava/lang/ClassNotFoundException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: ldc "dsa.debug"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
1: ldc "java.io.Serializable"
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.serializable:Lorg/apache/bcel/classfile/JavaClass;
2: ldc "java.util.Collection"
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.collection:Lorg/apache/bcel/classfile/JavaClass;
3: ldc "java.util.Map"
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.map:Lorg/apache/bcel/classfile/JavaClass;
4: ldc "java.util.Comparator"
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.comparator:Lorg/apache/bcel/classfile/JavaClass;
5: goto 8
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
6: astore 0
start local 0 7: aload 0
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.storedException:Ljava/lang/ClassNotFoundException;
end local 0 8: StackMap locals:
StackMap stack:
ldc "java.rmi.Remote"
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.remote:Lorg/apache/bcel/classfile/JavaClass;
9: goto 13
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
10: astore 0
start local 0 11: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.storedException:Ljava/lang/ClassNotFoundException;
ifnonnull 13
12: aload 0
putstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.storedException:Ljava/lang/ClassNotFoundException;
end local 0 13: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
7 8 0 e Ljava/lang/ClassNotFoundException;
11 13 0 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
1 5 6 Class java.lang.ClassNotFoundException
8 9 10 Class java.lang.ClassNotFoundException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/DeepSubtypeAnalysis;
public static double isDeepSerializable(org.apache.bcel.generic.ReferenceType);
descriptor: (Lorg/apache/bcel/generic/ReferenceType;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
instanceof org.apache.bcel.generic.ArrayType
ifeq 7
1: aload 0
checkcast org.apache.bcel.generic.ArrayType
astore 1
start local 1 2: aload 1
invokevirtual org.apache.bcel.generic.ArrayType.getBasicType:()Lorg/apache/bcel/generic/Type;
astore 2
start local 2 3: aload 2
instanceof org.apache.bcel.generic.ReferenceType
ifeq 6
4: aload 2
checkcast org.apache.bcel.generic.ReferenceType
astore 0
5: goto 7
6: StackMap locals: org.apache.bcel.generic.ArrayType org.apache.bcel.generic.Type
StackMap stack:
dconst_1
dreturn
end local 2 end local 1 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.bcel.generic.ReferenceType.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.isDeepSerializable:(Ljava/lang/String;)D
dstore 1
start local 1 8: aload 0
instanceof edu.umd.cs.findbugs.ba.generic.GenericObjectType
ifeq 18
aload 0
invokestatic edu.umd.cs.findbugs.ba.ch.Subtypes2.isContainer:(Lorg/apache/bcel/generic/ReferenceType;)Z
ifeq 18
9: aload 0
checkcast edu.umd.cs.findbugs.ba.generic.GenericObjectType
astore 3
start local 3 10: aload 3
invokevirtual edu.umd.cs.findbugs.ba.generic.GenericObjectType.getParameters:()Ljava/util/List;
astore 4
start local 4 11: aload 4
ifnull 18
12: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: org.apache.bcel.generic.ReferenceType double edu.umd.cs.findbugs.ba.generic.GenericObjectType java.util.List top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.bcel.generic.ReferenceType
astore 5
start local 5 14: aload 5
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.isDeepSerializable:(Lorg/apache/bcel/generic/ReferenceType;)D
dstore 7
start local 7 15: dload 1
dload 7
dcmpl
ifle 17
16: dload 7
dstore 1
end local 7 end local 5 17: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 4 end local 3 18: StackMap locals: org.apache.bcel.generic.ReferenceType double
StackMap stack:
dload 1
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 type Lorg/apache/bcel/generic/ReferenceType;
2 7 1 a Lorg/apache/bcel/generic/ArrayType;
3 7 2 t Lorg/apache/bcel/generic/Type;
8 19 1 result D
10 18 3 gt Ledu/umd/cs/findbugs/ba/generic/GenericObjectType;
11 18 4 parameters Ljava/util/List<+Lorg/apache/bcel/generic/ReferenceType;>;
14 17 5 t Lorg/apache/bcel/generic/ReferenceType;
15 17 7 r D
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
type
public static org.apache.bcel.generic.ReferenceType getLeastSerializableTypeComponent(org.apache.bcel.generic.ReferenceType);
descriptor: (Lorg/apache/bcel/generic/ReferenceType;)Lorg/apache/bcel/generic/ReferenceType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
instanceof org.apache.bcel.generic.ArrayType
ifeq 7
1: aload 0
checkcast org.apache.bcel.generic.ArrayType
astore 1
start local 1 2: aload 1
invokevirtual org.apache.bcel.generic.ArrayType.getBasicType:()Lorg/apache/bcel/generic/Type;
astore 2
start local 2 3: aload 2
instanceof org.apache.bcel.generic.ReferenceType
ifeq 6
4: aload 2
checkcast org.apache.bcel.generic.ReferenceType
astore 0
5: goto 7
6: StackMap locals: org.apache.bcel.generic.ArrayType org.apache.bcel.generic.Type
StackMap stack:
aload 0
areturn
end local 2 end local 1 7: StackMap locals:
StackMap stack:
aload 0
astore 1
start local 1 8: aload 0
invokevirtual org.apache.bcel.generic.ReferenceType.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.isDeepSerializable:(Ljava/lang/String;)D
dstore 2
start local 2 9: aload 0
instanceof edu.umd.cs.findbugs.ba.generic.GenericObjectType
ifeq 20
aload 0
invokestatic edu.umd.cs.findbugs.ba.ch.Subtypes2.isContainer:(Lorg/apache/bcel/generic/ReferenceType;)Z
ifeq 20
10: aload 0
checkcast edu.umd.cs.findbugs.ba.generic.GenericObjectType
astore 4
start local 4 11: aload 4
invokevirtual edu.umd.cs.findbugs.ba.generic.GenericObjectType.getParameters:()Ljava/util/List;
astore 5
start local 5 12: aload 5
ifnull 20
13: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 19
StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType double edu.umd.cs.findbugs.ba.generic.GenericObjectType java.util.List top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.bcel.generic.ReferenceType
astore 6
start local 6 15: aload 6
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.isDeepSerializable:(Lorg/apache/bcel/generic/ReferenceType;)D
dstore 8
start local 8 16: dload 2
dload 8
dcmpl
ifle 19
17: dload 8
dstore 2
18: aload 6
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.getLeastSerializableTypeComponent:(Lorg/apache/bcel/generic/ReferenceType;)Lorg/apache/bcel/generic/ReferenceType;
astore 1
end local 8 end local 6 19: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 5 end local 4 20: StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType double
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 type Lorg/apache/bcel/generic/ReferenceType;
2 7 1 a Lorg/apache/bcel/generic/ArrayType;
3 7 2 t Lorg/apache/bcel/generic/Type;
8 21 1 result Lorg/apache/bcel/generic/ReferenceType;
9 21 2 value D
11 20 4 gt Ledu/umd/cs/findbugs/ba/generic/GenericObjectType;
12 20 5 parameters Ljava/util/List<+Lorg/apache/bcel/generic/ReferenceType;>;
15 19 6 t Lorg/apache/bcel/generic/ReferenceType;
16 19 8 r D
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
type
public static double isDeepSerializable(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.storedException:Ljava/lang/ClassNotFoundException;
ifnull 2
1: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.storedException:Ljava/lang/ClassNotFoundException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.isPrimitiveComponentClass:(Ljava/lang/String;)Z
ifeq 6
3: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
ifeq 5
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "regSig \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" is primitive component class"
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
5: StackMap locals:
StackMap stack:
dconst_1
dreturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.getComponentClass:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 7: ldc "java.lang.Object"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: ldc 0.99
dreturn
9: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
astore 2
start local 2 10: aload 2
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.isDeepSerializable:(Lorg/apache/bcel/classfile/JavaClass;)D
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 refSig Ljava/lang/String;
7 11 1 refName Ljava/lang/String;
10 11 2 refJavaClass Lorg/apache/bcel/classfile/JavaClass;
Exceptions:
throws java.lang.ClassNotFoundException
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
MethodParameters:
Name Flags
refSig
public static double isDeepRemote(org.apache.bcel.generic.ReferenceType);
descriptor: (Lorg/apache/bcel/generic/ReferenceType;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.bcel.generic.ReferenceType.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.isDeepRemote:(Ljava/lang/String;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 refType Lorg/apache/bcel/generic/ReferenceType;
MethodParameters:
Name Flags
refType
public static double isDeepRemote(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.remote:Lorg/apache/bcel/classfile/JavaClass;
ifnonnull 2
1: ldc 0.1
dreturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.getComponentClass:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 3: ldc "java.lang.Object"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: ldc 0.99
dreturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
astore 2
start local 2 6: aload 2
getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.remote:Lorg/apache/bcel/classfile/JavaClass;
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
7: dreturn
end local 2 8: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
9: ldc 0.99
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 refSig Ljava/lang/String;
3 10 1 refName Ljava/lang/String;
6 8 2 refJavaClass Lorg/apache/bcel/classfile/JavaClass;
Exception table:
from to target type
5 7 8 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
refSig
private static boolean isPrimitiveComponentClass(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 1 1
3: StackMap locals:
StackMap stack:
iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmpge 4
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 2
4: StackMap locals:
StackMap stack:
iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmpge 5
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 5
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 refSig Ljava/lang/String;
1 6 1 c I
MethodParameters:
Name Flags
refSig
public static java.lang.String getComponentClass(org.apache.bcel.generic.ReferenceType);
descriptor: (Lorg/apache/bcel/generic/ReferenceType;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.bcel.generic.ReferenceType.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.getComponentClass:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 refType Lorg/apache/bcel/generic/ReferenceType;
MethodParameters:
Name Flags
refType
public static java.lang.String getComponentClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 1
3: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 5
4: aload 0
iconst_1
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 refSig Ljava/lang/String;
MethodParameters:
Name Flags
refSig
public static double isDeepSerializable(org.apache.bcel.classfile.JavaClass);
descriptor: (Lorg/apache/bcel/classfile/JavaClass;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=17, args_size=1
start local 0 0: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.storedException:Ljava/lang/ClassNotFoundException;
ifnull 2
1: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.storedException:Ljava/lang/ClassNotFoundException;
athrow
2: StackMap locals:
StackMap stack:
ldc "java.lang.Object"
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc 0.4
dreturn
4: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
ifeq 6
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "checking "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
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
6: StackMap locals:
StackMap stack:
aload 0
getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.serializable:Lorg/apache/bcel/classfile/JavaClass;
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
dstore 1
start local 1 7: dload 1
ldc 0.9
dcmpl
iflt 11
8: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
ifeq 10
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Direct high serializable result: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: StackMap locals: double
StackMap stack:
dload 1
dreturn
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.isFinal:()Z
ifeq 13
12: dload 1
dreturn
13: StackMap locals:
StackMap stack:
aload 0
getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.collection:Lorg/apache/bcel/classfile/JavaClass;
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
dstore 3
start local 3 14: aload 0
getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.map:Lorg/apache/bcel/classfile/JavaClass;
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
dstore 5
start local 5 15: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.isInterface:()Z
ifne 16
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.isAbstract:()Z
ifeq 19
16: StackMap locals: double double
StackMap stack:
dload 1
dload 5
dload 3
invokestatic java.lang.Math.max:(DD)D
ldc 0.95
dmul
invokestatic java.lang.Math.max:(DD)D
dstore 1
17: dload 1
ldc 0.9
dcmpl
iflt 19
18: dload 1
dreturn
19: StackMap locals:
StackMap stack:
aload 0
invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptor:(Lorg/apache/bcel/classfile/JavaClass;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
astore 7
start local 7 20: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getSubtypes2:()Ledu/umd/cs/findbugs/ba/ch/Subtypes2;
astore 8
start local 8 21: aload 8
aload 7
invokevirtual edu.umd.cs.findbugs.ba.ch.Subtypes2.getDirectSubtypes:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/util/Set;
astore 9
start local 9 22: aload 9
aload 7
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
23: ldc 0.6
dstore 10
start local 10 24: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.isAbstract:()Z
ifne 25
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.isInterface:()Z
ifeq 28
25: StackMap locals: org.apache.bcel.classfile.JavaClass double double double edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.ba.ch.Subtypes2 java.util.Set double
StackMap stack:
ldc 0.8
dstore 10
26: dload 1
ldc 0.4
invokestatic java.lang.Math.max:(DD)D
dstore 1
27: goto 30
StackMap locals:
StackMap stack:
28: aload 9
invokeinterface java.util.Set.isEmpty:()Z
ifeq 30
29: ldc 0.2
dstore 10
30: StackMap locals:
StackMap stack:
dconst_1
dload 10
dadd
ldc 2.0
ddiv
dstore 12
start local 12 31: dload 1
dload 12
dload 3
dmul
invokestatic java.lang.Math.max:(DD)D
dstore 1
32: dload 1
ldc 0.9
dcmpl
iflt 36
33: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
ifeq 35
34: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "High collection result: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: StackMap locals: double
StackMap stack:
dload 1
dreturn
36: StackMap locals:
StackMap stack:
dload 1
dload 12
dload 5
dmul
invokestatic java.lang.Math.max:(DD)D
dstore 1
37: dload 1
ldc 0.9
dcmpl
iflt 41
38: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
ifeq 40
39: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "High map result: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
40: StackMap locals:
StackMap stack:
dload 1
dreturn
41: StackMap locals:
StackMap stack:
dload 1
dload 12
ldc 0.5
dmul
aload 0
getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.comparator:Lorg/apache/bcel/classfile/JavaClass;
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
dmul
invokestatic java.lang.Math.max:(DD)D
dstore 1
42: dload 1
ldc 0.9
dcmpl
iflt 46
43: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
ifeq 45
44: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "High comparator result: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
45: StackMap locals:
StackMap stack:
dload 1
dreturn
46: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 15
goto 52
StackMap locals: org.apache.bcel.classfile.JavaClass double double double edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.ba.ch.Subtypes2 java.util.Set double double top java.util.Iterator
StackMap stack:
47: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
astore 14
start local 14 48: aload 14
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getDottedClassName:()Ljava/lang/String;
invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
astore 16
start local 16 49: dload 1
dload 10
aload 16
getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.serializable:Lorg/apache/bcel/classfile/JavaClass;
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
dmul
invokestatic java.lang.Math.max:(DD)D
dstore 1
50: dload 1
ldc 0.9
dcmpl
iflt 52
51: dload 1
dreturn
end local 16 end local 14 52: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 47
53: getstatic edu.umd.cs.findbugs.DeepSubtypeAnalysis.DEBUG:Z
ifeq 55
54: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "No high results; max: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
55: StackMap locals: org.apache.bcel.classfile.JavaClass double double double edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.ba.ch.Subtypes2 java.util.Set double double
StackMap stack:
dload 1
dreturn
end local 12 end local 10 end local 9 end local 8 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 x Lorg/apache/bcel/classfile/JavaClass;
7 56 1 result D
14 56 3 collectionResult D
15 56 5 mapResult D
20 56 7 classDescriptor Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
21 56 8 subtypes2 Ledu/umd/cs/findbugs/ba/ch/Subtypes2;
22 56 9 directSubtypes Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
24 56 10 confidence D
31 56 12 confidence2 D
48 52 14 subtype Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
49 52 16 subJavaClass Lorg/apache/bcel/classfile/JavaClass;
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
x
public static double deepInstanceOf(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Ljava/lang/String;Ljava/lang/String;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/String;
0 1 1 y Ljava/lang/String;
Exceptions:
throws java.lang.ClassNotFoundException
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
1:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
MethodParameters:
Name Flags
x
y
public static double deepInstanceOf(org.apache.bcel.classfile.JavaClass, org.apache.bcel.classfile.JavaClass);
descriptor: (Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Lorg/apache/bcel/classfile/JavaClass;
0 1 1 y Lorg/apache/bcel/classfile/JavaClass;
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
x
y
}
SourceFile: "DeepSubtypeAnalysis.java"