Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.bcel.generic
Class TargetLostException  view TargetLostException download TargetLostException.java

java.lang.Object
  extended byjava.lang.Throwable
      extended byjava.lang.Exception
          extended byorg.apache.bcel.generic.TargetLostException
All Implemented Interfaces:
java.io.Serializable

public final class TargetLostException
extends java.lang.Exception

Thrown by InstructionList.remove() when one or multiple disposed instruction are still being referenced by a 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) {
       InstructionHandle[] targets = e.getTargets();
	 for(int i=0; i < targets.length; i++) {
	   InstructionTargeter[] targeters = targets[i].getTargeters();
     
	   for(int j=0; j < targeters.length; j++)
	     targeters[j].updateTarget(targets[i], new_target);
       }
     }
 

Version:
$Id: TargetLostException.java 386056 2006-03-15 11:31:56Z tcurdt $

Nested Class Summary
 
Nested classes inherited from class java.lang.Throwable
 
Field Summary
private  InstructionHandle[] targets
           
 
Fields inherited from class java.lang.Exception
 
Fields inherited from class java.lang.Throwable
 
Constructor Summary
(package private) TargetLostException(InstructionHandle[] t, java.lang.String mesg)
           
 
Method Summary
 InstructionHandle[] getTargets()
           
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

targets

private InstructionHandle[] targets
Constructor Detail

TargetLostException

TargetLostException(InstructionHandle[] t,
                    java.lang.String mesg)
Method Detail

getTargets

public InstructionHandle[] getTargets()