Package edu.umd.cs.findbugs
Class DeepSubtypeAnalysis
java.lang.Object
edu.umd.cs.findbugs.DeepSubtypeAnalysis
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static org.apache.bcel.classfile.JavaClass
private static org.apache.bcel.classfile.JavaClass
private static final boolean
private static org.apache.bcel.classfile.JavaClass
private static org.apache.bcel.classfile.JavaClass
private static org.apache.bcel.classfile.JavaClass
private static ClassNotFoundException
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic double
deepInstanceOf
(String x, String y) Given two JavaClasses, try to estimate the probability that an reference of type x is also an instance of type y.static double
deepInstanceOf
(org.apache.bcel.classfile.JavaClass x, org.apache.bcel.classfile.JavaClass y) Given two JavaClasses, try to estimate the probability that an reference of type x is also an instance of type y.static String
getComponentClass
(String refSig) static String
getComponentClass
(org.apache.bcel.generic.ReferenceType refType) static org.apache.bcel.generic.ReferenceType
getLeastSerializableTypeComponent
(org.apache.bcel.generic.ReferenceType type) static double
isDeepRemote
(String refSig) static double
isDeepRemote
(org.apache.bcel.generic.ReferenceType refType) static double
isDeepSerializable
(String refSig) static double
isDeepSerializable
(org.apache.bcel.classfile.JavaClass x) static double
isDeepSerializable
(org.apache.bcel.generic.ReferenceType type) private static boolean
isPrimitiveComponentClass
(String refSig)
-
Field Details
-
serializable
private static org.apache.bcel.classfile.JavaClass serializable -
collection
private static org.apache.bcel.classfile.JavaClass collection -
comparator
private static org.apache.bcel.classfile.JavaClass comparator -
map
private static org.apache.bcel.classfile.JavaClass map -
remote
private static org.apache.bcel.classfile.JavaClass remote -
storedException
-
DEBUG
private static final boolean DEBUG
-
-
Constructor Details
-
DeepSubtypeAnalysis
public DeepSubtypeAnalysis()
-
-
Method Details
-
isDeepSerializable
public static double isDeepSerializable(org.apache.bcel.generic.ReferenceType type) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
getLeastSerializableTypeComponent
public static org.apache.bcel.generic.ReferenceType getLeastSerializableTypeComponent(org.apache.bcel.generic.ReferenceType type) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
isDeepSerializable
public static double isDeepSerializable(@DottedClassName String refSig) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
isDeepRemote
public static double isDeepRemote(org.apache.bcel.generic.ReferenceType refType) -
isDeepRemote
-
isPrimitiveComponentClass
-
getComponentClass
-
getComponentClass
-
isDeepSerializable
public static double isDeepSerializable(org.apache.bcel.classfile.JavaClass x) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
deepInstanceOf
public static double deepInstanceOf(@DottedClassName String x, @DottedClassName String y) throws ClassNotFoundException Given two JavaClasses, try to estimate the probability that an reference of type x is also an instance of type y. Will return 0 only if it is impossible and 1 only if it is guaranteed.- Parameters:
x
- Known type of objecty
- Type queried about- Returns:
- 0 - 1 value indicating probability
- Throws:
ClassNotFoundException
-
deepInstanceOf
public static double deepInstanceOf(org.apache.bcel.classfile.JavaClass x, org.apache.bcel.classfile.JavaClass y) throws ClassNotFoundException Given two JavaClasses, try to estimate the probability that an reference of type x is also an instance of type y. Will return 0 only if it is impossible and 1 only if it is guaranteed.- Parameters:
x
- Known type of objecty
- Type queried about- Returns:
- 0 - 1 value indicating probability
- Throws:
ClassNotFoundException
-