FileDocCategorySizeDatePackage
InsnInterfaceInvoke.javaAPI DocGlassfish v2 API4326Fri May 04 22:34:28 BST 2007com.sun.jdo.api.persistence.enhancer.classfile

InsnInterfaceInvoke

public class InsnInterfaceInvoke extends InsnConstOp
Special instruction form for the opc_invokeinterface instruction

Fields Summary
private int
nArgsOp
Constructors Summary
public InsnInterfaceInvoke(ConstInterfaceMethodRef methodRefOp, int nArgsOp)
constructor for opc_invokeinterface

    this(methodRefOp, nArgsOp, NO_OFFSET);
  
InsnInterfaceInvoke(ConstInterfaceMethodRef methodRefOp, int nArgsOp, int offset)

    super(opc_invokeinterface, methodRefOp, offset);

    this.nArgsOp = nArgsOp; 

    if (methodRefOp == null || nArgsOp < 0)
	throw new InsnError ("attempt to create an opc_invokeinterface" +//NOI18N
			     " with invalid operands");//NOI18N
  
Methods Summary
public java.lang.StringargTypes()
What are the types of the stack operands ?

    return super.argTypes();
  
public booleanbranches()

    return false;
  
public ConstInterfaceMethodRefmethod()
Return the interface to be invoked

    return (ConstInterfaceMethodRef) value();
  
public intnArgs()
Return the number of arguments to the interface

    return nArgsOp;
  
public intnStackArgs()

    return super.nStackArgs();
  
public intnStackResults()

    return super.nStackResults();
  
voidprint(java.io.PrintStream out, int indent)

    ClassPrint.spaces(out, indent);
    out.println(offset() + "  opc_invokeinterface  " + //NOI18N
		"pool(" + method().getIndex() + ")," + nArgsOp);//NOI18N
  
static com.sun.jdo.api.persistence.enhancer.classfile.InsnInterfaceInvokeread(InsnReadEnv insnEnv, int myPC)

    ConstInterfaceMethodRef iface = (ConstInterfaceMethodRef)
      insnEnv.pool().constantAt(insnEnv.getUShort());
    int nArgs = insnEnv.getUByte();
    insnEnv.getByte(); // eat reserved arg
    return new InsnInterfaceInvoke(iface, nArgs, myPC);
  
public java.lang.StringresultTypes()
What are the types of the stack results?

    return super.resultTypes();
  
intsize()

    return 5;
  
intstore(byte[] buf, int index)

    buf[index++] = (byte) opcode();
    index = storeShort(buf, index, (short)method().getIndex());
    buf[index++] = (byte) nArgsOp;
    buf[index++] = (byte) 0;
    return index;