Package edu.umd.cs.findbugs.ba
Class PruneUnconditionalExceptionThrowerEdges
java.lang.Object
edu.umd.cs.findbugs.ba.PruneUnconditionalExceptionThrowerEdges
- All Implemented Interfaces:
EdgeTypes
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AnalysisContext
private final CFG
private boolean
private final org.apache.bcel.generic.ConstantPoolGen
private static final boolean
private static final boolean
private final org.apache.bcel.generic.MethodGen
private static final BitSet
private final TypeDataflow
private static final String
private static final Pattern
Fields inherited from interface edu.umd.cs.findbugs.ba.EdgeTypes
BACKEDGE_SOURCE_EDGE, BACKEDGE_TARGET_EDGE, CHECKED_EXCEPTIONS_FLAG, EXIT_EDGE, EXPLICIT_EXCEPTIONS_FLAG, FALL_THROUGH_EDGE, GOTO_EDGE, HANDLED_EXCEPTION_EDGE, IFCMP_EDGE, JSR_EDGE, RET_EDGE, RETURN_EDGE, START_EDGE, SWITCH_DEFAULT_EDGE, SWITCH_EDGE, UNHANDLED_EXCEPTION_EDGE, UNKNOWN_EDGE
-
Constructor Summary
ConstructorsConstructorDescriptionPruneUnconditionalExceptionThrowerEdges
(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 Summary
Modifier and TypeMethodDescriptionstatic boolean
static Boolean
doesMethodUnconditionallyThrowException
(XMethod xMethod, org.apache.bcel.classfile.JavaClass javaClass, org.apache.bcel.classfile.Method method) Deprecated.void
execute()
private boolean
isUnconditionalThrower
(XMethod xMethod) boolean
Return whether or not the CFG was modified.
-
Field Details
-
DEBUG
private static final boolean DEBUG -
DEBUG_DIFFERENCES
private static final boolean DEBUG_DIFFERENCES -
UNCONDITIONAL_THROWER_METHOD_NAMES
-
methodGen
private final org.apache.bcel.generic.MethodGen methodGen -
cfg
-
cpg
private final org.apache.bcel.generic.ConstantPoolGen cpg -
typeDataflow
-
analysisContext
-
cfgModified
private boolean cfgModified -
unconditionalThrowerPattern
-
RETURN_OPCODE_SET
-
-
Constructor Details
-
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 Details
-
execute
- Throws:
DataflowAnalysisException
-
isUnconditionalThrower
-
doesMethodUnconditionallyThrowException
@Deprecated public static Boolean doesMethodUnconditionallyThrowException(XMethod xMethod, org.apache.bcel.classfile.JavaClass javaClass, org.apache.bcel.classfile.Method method) Deprecated.UsedoesMethodUnconditionallyThrowException(XMethod)
instead- Parameters:
xMethod
-javaClass
-method
-- Returns:
- true if method unconditionally throws
-
doesMethodUnconditionallyThrowException
- 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
-
doesMethodUnconditionallyThrowException(XMethod)
instead