Class TargetLostException

  • All Implemented Interfaces:
    java.io.Serializable

    public final class TargetLostException
    extends java.lang.Exception
    Thrown by InstructionList.remove() when one or multiple disposed instructions are still being referenced by an InstructionTargeter object. I.e. the InstructionTargeter has to be notified that (one of) the InstructionHandle it is referencing is being removed from the InstructionList and thus not valid anymore.

    Making this an exception instead of a return value forces the user to handle these case explicitely 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);
                 }
             }
         }
     
    See Also:
    InstructionHandle, InstructionList, InstructionTargeter, Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      InstructionHandle[] getTargets()  
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • getTargets

        public InstructionHandle[] getTargets()
        Returns:
        list of instructions still being targeted.