Class DeepSubtypeAnalysis

java.lang.Object
edu.umd.cs.findbugs.DeepSubtypeAnalysis

public class DeepSubtypeAnalysis extends Object
  • 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

      private static ClassNotFoundException 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

      public static double isDeepRemote(String refSig)
    • isPrimitiveComponentClass

      private static boolean isPrimitiveComponentClass(String refSig)
    • getComponentClass

      public static String getComponentClass(org.apache.bcel.generic.ReferenceType refType)
    • getComponentClass

      public static String getComponentClass(String refSig)
    • 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 object
      y - 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 object
      y - Type queried about
      Returns:
      0 - 1 value indicating probability
      Throws:
      ClassNotFoundException