# 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
Denotes that a class targets InstructionHandles within an InstructionList.

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `containsTarget(InstructionHandle instructionHandle)`
  Tests 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 instructionHandle)
    Tests whether this targeter targets the specified instruction handle.
    Parameters:
      `instructionHandle` - the instruction handle to test.
    Returns:
      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