Class PruneUnconditionalExceptionThrowerEdges

  • All Implemented Interfaces:
    EdgeTypes

    public class PruneUnconditionalExceptionThrowerEdges
    extends java.lang.Object
    implements EdgeTypes
    • Field Detail

      • DEBUG

        private static final boolean DEBUG
      • DEBUG_DIFFERENCES

        private static final boolean DEBUG_DIFFERENCES
      • UNCONDITIONAL_THROWER_METHOD_NAMES

        private static final java.lang.String UNCONDITIONAL_THROWER_METHOD_NAMES
      • methodGen

        private final org.apache.bcel.generic.MethodGen methodGen
      • cfg

        private final CFG cfg
      • cpg

        private final org.apache.bcel.generic.ConstantPoolGen cpg
      • cfgModified

        private boolean cfgModified
      • unconditionalThrowerPattern

        private static final java.util.regex.Pattern unconditionalThrowerPattern
      • RETURN_OPCODE_SET

        private static final java.util.BitSet RETURN_OPCODE_SET
    • Constructor Detail

      • PruneUnconditionalExceptionThrowerEdges

        public PruneUnconditionalExceptionThrowerEdges​(org.apache.bcel.classfile.JavaClass javaClass,
                                                       org.apache.bcel.classfile.Method method,
                                                       org.apache.bcel.generic.MethodGen methodGen,
                                                       CFG cfg,
                                                       org.apache.bcel.generic.ConstantPoolGen cpg,
                                                       TypeDataflow typeDataflow,
                                                       AnalysisContext analysisContext)
    • Method Detail

      • isUnconditionalThrower

        private boolean isUnconditionalThrower​(XMethod xMethod)
      • doesMethodUnconditionallyThrowException

        @Deprecated
        public static java.lang.Boolean doesMethodUnconditionallyThrowException​(XMethod xMethod,
                                                                                org.apache.bcel.classfile.JavaClass javaClass,
                                                                                org.apache.bcel.classfile.Method method)
        Parameters:
        xMethod -
        javaClass -
        method -
        Returns:
        true if method unconditionally throws
      • doesMethodUnconditionallyThrowException

        public static boolean doesMethodUnconditionallyThrowException​(XMethod xMethod)
        Parameters:
        xMethod -
        Returns:
        true if method unconditionally throws
      • wasCFGModified

        public boolean wasCFGModified()
        Return whether or not the CFG was modified.
        Returns:
        true if CFG was modified, false otherwise