Package org.apache.bcel.generic

# Interface InstructionTargeter

All Known Implementing Classes:
  `BranchInstruction`, `CodeExceptionGen`, `GOTO`, `GOTO_W`, `GotoInstruction`, `IF_ACMPEQ`, `IF_ACMPNE`, `IF_ICMPEQ`, `IF_ICMPGE`, `IF_ICMPGT`, `IF_ICMPLE`, `IF_ICMPLT`, `IF_ICMPNE`, `IFEQ`, `IFGE`, `IFGT`, `IfInstruction`, `IFLE`, `IFLT`, `IFNE`, `IFNONNULL`, `IFNULL`, `JSR`, `JSR_W`, `JsrInstruction`, `LineNumberGen`, `LocalVariableGen`, `LOOKUPSWITCH`, `Select`, `TABLESWITCH`

public interface InstructionTargeter
Denote that a class targets InstructionHandles within an InstructionList. Namely the following implementers:

See Also:
  - `BranchHandle`
  - `LocalVariableGen`
  - `CodeExceptionGen`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `containsTarget(InstructionHandle ih)`
  Checks whether this targeter targets the specified instruction handle.
  `void`
  `updateTarget(InstructionHandle oldIh, InstructionHandle newIh)`
  Replaces the target of this targeter from this old handle to the new handle.

- ## Method Details

  - ### containsTarget

    boolean containsTarget(InstructionHandle ih)
    Checks whether this targeter targets the specified instruction handle.

  - ### updateTarget

    void updateTarget(InstructionHandle oldIh, InstructionHandle newIh) throws ClassGenException
    Replaces the target of this targeter from this old handle to the new handle.
    Parameters:
      `oldIh` - the old handle
      `newIh` - the new handle
    Throws:
      `ClassGenException` - if oldIh is not targeted by this object