Package edu.umd.cs.findbugs.ba
Class ExceptionHandlerMap
java.lang.Object
edu.umd.cs.findbugs.ba.ExceptionHandlerMap
This class provides a convenient way of determining the exception handlers
for instructions in a method. Essentially, it's a a map of InstructionHandles
to lists of CodeExceptionGen objects. This class also maps instructions which
are the start of exception handlers to the CodeExceptionGen object
representing the handler.
- Author:
- David Hovemeyer
-
Constructor Summary
ConstructorDescriptionExceptionHandlerMap
(org.apache.bcel.generic.MethodGen methodGen, TypeMerger merger) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.bcel.generic.CodeExceptionGen
getHandlerForStartInstruction
(org.apache.bcel.generic.InstructionHandle start) If the given instruction is the start of an exception handler, get the CodeExceptionGen object representing the handler.List
<org.apache.bcel.generic.CodeExceptionGen> getHandlerList
(org.apache.bcel.generic.InstructionHandle handle) Get the list of exception handlers (CodeExceptionGen objects) which are specified to handle exceptions for the instruction whose handle is given.static org.apache.bcel.generic.CodeExceptionGen
merge
(TypeMerger m, org.apache.bcel.generic.CodeExceptionGen e1, org.apache.bcel.generic.CodeExceptionGen e2)
-
Constructor Details
-
ExceptionHandlerMap
Constructor.- Parameters:
methodGen
- the method to build the map for
-
-
Method Details
-
getHandlerList
public List<org.apache.bcel.generic.CodeExceptionGen> getHandlerList(org.apache.bcel.generic.InstructionHandle handle) Get the list of exception handlers (CodeExceptionGen objects) which are specified to handle exceptions for the instruction whose handle is given. Note that the handlers in the returned list are in order of priority, as defined in the method's exception handler table.- Parameters:
handle
- the handle of the instruction we want the exception handlers for- Returns:
- the list of exception handlers, or null if there are no handlers registered for the instruction
-
getHandlerForStartInstruction
public org.apache.bcel.generic.CodeExceptionGen getHandlerForStartInstruction(org.apache.bcel.generic.InstructionHandle start) If the given instruction is the start of an exception handler, get the CodeExceptionGen object representing the handler.- Parameters:
start
- the instruction- Returns:
- the CodeExceptionGen object, or null if the instruction is not the start of an exception handler
-
merge
public static org.apache.bcel.generic.CodeExceptionGen merge(@CheckForNull TypeMerger m, org.apache.bcel.generic.CodeExceptionGen e1, org.apache.bcel.generic.CodeExceptionGen e2)
-