Klasse CodeExceptionGen

java.lang.Object
org.aspectj.apache.bcel.generic.CodeExceptionGen
Alle implementierten Schnittstellen:
Serializable, Cloneable, InstructionTargeter

public final class CodeExceptionGen extends Object implements InstructionTargeter, Cloneable, Serializable
This class represents an exception handler, i.e., specifies the region where a handler is active and an instruction where the actual handling is done. pool as parameters. Opposed to the JVM specification the end of the handled region is set to be inclusive, i.e. all instructions between start and end are protected including the start and end instructions (handles) themselves. The end of the region is automatically mapped to be exclusive when calling getCodeException(), i.e., there is no difference semantically.
Version:
$Id: CodeExceptionGen.java,v 1.5 2008/05/28 23:52:56 aclement Exp $
Autor:
M. Dahm
Siehe auch:
  • Konstruktordetails

    • CodeExceptionGen

      public CodeExceptionGen(InstructionHandle start_pc, InstructionHandle end_pc, InstructionHandle handler_pc, ObjectType catch_type)
      Add an exception handler, i.e., specify region where a handler is active and an instruction where the actual handling is done.
      Parameter:
      start_pc - Start of handled region (inclusive)
      end_pc - End of handled region (inclusive)
      handler_pc - Where handling is done
      catch_type - which exception is handled, null for ANY
  • Methodendetails

    • getCodeException

      public CodeException getCodeException(ConstantPool cp)
      Get CodeException object.
      This relies on that the instruction list has already been dumped to byte code or or that the `setPositions' methods has been called for the instruction list.
      Parameter:
      cp - constant pool
    • setStartPC

      public void setStartPC(InstructionHandle start_pc)
    • setEndPC

      public void setEndPC(InstructionHandle end_pc)
    • setHandlerPC

      public void setHandlerPC(InstructionHandle handler_pc)
    • updateTarget

      public void updateTarget(InstructionHandle old_ih, InstructionHandle new_ih)
      Angegeben von:
      updateTarget in Schnittstelle InstructionTargeter
      Parameter:
      old_ih - old target, either start or end
      new_ih - new target
    • containsTarget

      public boolean containsTarget(InstructionHandle ih)
      Angegeben von:
      containsTarget in Schnittstelle InstructionTargeter
      Gibt zurück:
      true, if ih is target of this handler
    • setCatchType

      public void setCatchType(ObjectType catch_type)
      Sets the type of the Exception to catch. Set 'null' for ANY.
    • getCatchType

      public ObjectType getCatchType()
      Gets the type of the Exception to catch, 'null' for ANY.
    • getStartPC

      public InstructionHandle getStartPC()
      Gibt zurück:
      start of handled region (inclusive)
    • getEndPC

      public InstructionHandle getEndPC()
      Gibt zurück:
      end of handled region (inclusive)
    • getHandlerPC

      public InstructionHandle getHandlerPC()
      Gibt zurück:
      start of handler
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • clone

      public Object clone()
      Setzt außer Kraft:
      clone in Klasse Object