# Class IfInstruction

java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.BranchInstruction
org.apache.bcel.generic.IfInstruction

All Implemented Interfaces:
  `Cloneable, InstructionTargeter, StackConsumer`

Direct Known Subclasses:
  `IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL`

public abstract class IfInstruction extends BranchInstruction implements StackConsumer
Super class for the IFxxx family of instructions.

- ## Field Summary

  ### Fields inherited from class BranchInstruction

  `index, position, target`

  ### Fields inherited from class Instruction

  `length, opcode`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `IfInstruction(short opcode, InstructionHandle target)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract IfInstruction`
  `negate()`

  ### Methods inherited from class BranchInstruction

  `containsTarget, dump, getIndex, getPosition, getTarget, getTargetOffset, getTargetOffset, initFromFile, setIndex, setPosition, setTarget, toString, updatePosition, updateTarget`

  ### Methods inherited from class Instruction

  `accept, consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString, toString`

  ### Methods inherited from class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface StackConsumer

  `consumeStack`

- ## Constructor Details

  - ### IfInstruction

    protected IfInstruction(short opcode, InstructionHandle target)
    Parameters:
      `opcode` - opcode of instruction
      `target` - Target instruction to branch to

- ## Method Details

  - ### negate

    public abstract IfInstruction negate()
    Returns:
      negation of instruction, for example IFEQ.negate() == IFNE