Package org.apache.bcel.generic
Class TargetLostException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- org.apache.bcel.generic.TargetLostException
-
- All Implemented Interfaces:
java.io.Serializable
public final class TargetLostException extends java.lang.ExceptionThrown byInstructionListwhen one or multiple disposed instructions are still being referenced by anInstructionTargeterobject. I.e. theInstructionTargeterhas to be notified that (one of) theInstructionHandleit is referencing is being removed from theInstructionListand thus not valid anymore.Making this an exception instead of a return value forces the user to handle these case explicitly in a try { ... } catch. The following code illustrates how this may be done:
... try { il.delete(start_ih, end_ih); } catch (TargetLostException e) { for (InstructionHandle target : e.getTargets()) { for (InstructionTargeter targeter : target.getTargeters()) { targeter.updateTarget(target, new_target); } } }
-
-
Field Summary
Fields Modifier and Type Field Description private static longserialVersionUIDprivate InstructionHandle[]targets
-
Constructor Summary
Constructors Constructor Description TargetLostException(InstructionHandle[] targets, java.lang.String message)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InstructionHandle[]getTargets()Gets the list of instructions still being targeted.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
targets
private final InstructionHandle[] targets
-
-
Constructor Detail
-
TargetLostException
TargetLostException(InstructionHandle[] targets, java.lang.String message)
-
-
Method Detail
-
getTargets
public InstructionHandle[] getTargets()
Gets the list of instructions still being targeted.- Returns:
- list of instructions still being targeted.
-
-