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 static final booleanprivate final org.apache.bcel.generic.MethodGenprivate static final BitSetprivate 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 booleanstatic BooleandoesMethodUnconditionallyThrowException(XMethod xMethod, org.apache.bcel.classfile.JavaClass javaClass, org.apache.bcel.classfile.Method method) Deprecated.voidexecute()private booleanisUnconditionalThrower(XMethod xMethod) booleanReturn 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