# Class CHECKCAST

java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.CPInstruction
org.apache.bcel.generic.CHECKCAST

All Implemented Interfaces:
  `Cloneable, ExceptionThrower, IndexedInstruction, LoadClass, StackConsumer, StackProducer, TypedInstruction`

public class CHECKCAST extends CPInstruction implements LoadClass, ExceptionThrower, StackProducer, StackConsumer
CHECKCAST - Check whether object is of given type

    Stack: ..., objectref -> ..., objectref

- ## Field Summary

  ### Fields inherited from class CPInstruction

  `index`

  ### Fields inherited from class Instruction

  `length, opcode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CHECKCAST(int index)`
  Check whether object is of given type

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `accept(Visitor v)`
  Call corresponding visitor method(s).
  `Class<?>[]`
  `getExceptions()`
  Gets the exceptions that may be thrown by this instruction.
  `ObjectType`
  `getLoadClassType(ConstantPoolGen cpg)`
  Returns the `ObjectType` of the referenced class or interface that may be loaded and resolved.

  ### Methods inherited from class CPInstruction

  `dump, getIndex, getType, initFromFile, setIndex, toString, toString`

  ### Methods inherited from class Instruction

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

  ### Methods inherited from class Object

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

  ### Methods inherited from interface LoadClass

  `getType`

  ### Methods inherited from interface StackConsumer

  `consumeStack`

  ### Methods inherited from interface StackProducer

  `produceStack`

- ## Constructor Details

  - ### CHECKCAST

    public CHECKCAST(int index)
    Check whether object is of given type
    Parameters:
      `index` - index to class in constant pool.

- ## Method Details

  - ### accept

    public void accept(Visitor v)
    Call corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, that is, the most specific visitXXX() call comes last.
    Specified by:
      `accept` in class `Instruction`
    Parameters:
      `v` - Visitor object.

  - ### getExceptions

    public Class<?>[] getExceptions()
    Description copied from interface: `ExceptionThrower`
    Gets the exceptions that may be thrown by this instruction.
    Specified by:
      `getExceptions` in interface `ExceptionThrower`
    Returns:
      exceptions this instruction may cause.

  - ### getLoadClassType

    public ObjectType getLoadClassType(ConstantPoolGen cpg)
    Description copied from interface: `LoadClass`
    Returns the `ObjectType` of the referenced class or interface that may be loaded and resolved.
    Specified by:
      `getLoadClassType` in interface `LoadClass`
    Parameters:
      `cpg` - A ConstantPoolGen.
    Returns:
      object type that may be loaded or null if a primitive is referenced.