FileDocCategorySizeDatePackage
ANEWARRAY.javaAPI DocJava SE 5 API4672Fri Aug 26 14:55:18 BST 2005com.sun.org.apache.bcel.internal.generic

ANEWARRAY

public class ANEWARRAY extends CPInstruction implements ExceptionThrower, StackProducer, LoadClass, AllocationInstruction
ANEWARRAY - Create new array of references
Stack: ..., count -> ..., arrayref
version
$Id: ANEWARRAY.java,v 1.1.1.1 2001/10/29 20:00:05 jvanzyl Exp $
author
M. Dahm

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

public ANEWARRAY(int index)

    super(com.sun.org.apache.bcel.internal.Constants.ANEWARRAY, 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.visitAllocationInstruction(this);
    v.visitExceptionThrower(this);
    v.visitStackProducer(this);
    v.visitTypedInstruction(this);
    v.visitCPInstruction(this);
    v.visitANEWARRAY(this);
  
public java.lang.Class[]getExceptions()

    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.NEGATIVE_ARRAY_SIZE_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;