Class PruneUnconditionalExceptionThrowerEdges
java.lang.Object
edu.umd.cs.findbugs.ba.PruneUnconditionalExceptionThrowerEdges
- All Implemented Interfaces:
EdgeTypes
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AnalysisContextprivate final CFGprivate booleanprivate final org.apache.bcel.generic.ConstantPoolGenprivate static final booleanprivate final org.apache.bcel.generic.MethodGenprivate final TypeDataflowprivate static final Stringprivate static final PatternFields inherited from interface 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 booleanvoidexecute()private booleanisUnconditionalThrower(XMethod xMethod) booleanReturn whether or not the CFG was modified.
-
Field Details
-
DEBUG
private static final boolean DEBUG -
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
-
-
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
- 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
-