FileDocCategorySizeDatePackage
CHECKCAST.javaAPI DocJava SE 6 API4799Tue Jun 10 00:22:18 BST 2008com.sun.org.apache.bcel.internal.generic

CHECKCAST

public class CHECKCAST extends CPInstruction implements ExceptionThrower, StackProducer, LoadClass, StackConsumer
CHECKCAST - Check whether object is of given type
Stack: ..., objectref -> ..., objectref
version
$Id: CHECKCAST.java,v 1.1.2.1 2005/07/31 23:44:46 jeffsuttor Exp $
author
M. Dahm

Fields Summary
Constructors Summary
CHECKCAST()
Empty constructor needed for the Class.newInstance() statement in Instruction.readInstruction(). Not to be used otherwise.

public CHECKCAST(int index)
Check whether object is of given type

param
n index to class in constant pool

    super(com.sun.org.apache.bcel.internal.Constants.CHECKCAST, index);
  
Methods Summary
public voidaccept(com.sun.org.apache.bcel.internal.generic.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, i.e., the most specific visitXXX() call comes last.

param
v Visitor object

    v.visitLoadClass(this);
    v.visitExceptionThrower(this);
    v.visitStackProducer(this);
    v.visitStackConsumer(this);
    v.visitTypedInstruction(this);
    v.visitCPInstruction(this);
    v.visitCHECKCAST(this);
  
public java.lang.Class[]getExceptions()

return
exceptions this instruction may cause

    Class[] cs = new Class[1 + ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length];

    System.arraycopy(ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION, 0,
		     cs, 0, ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length);
    cs[ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length] =
      ExceptionConstants.CLASS_CAST_EXCEPTION;
    return cs;
  
public com.sun.org.apache.bcel.internal.generic.ObjectTypegetLoadClassType(com.sun.org.apache.bcel.internal.generic.ConstantPoolGen cpg)

    Type t = getType(cpg);

    if(t instanceof ArrayType)
      t = ((ArrayType) t).getBasicType();

    return (t instanceof ObjectType)? (ObjectType) t : null;