Main Page   Packages   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

INVOKEVIRTUAL.java

00001 package de.fub.bytecode.generic;
00002 
00003 /** 
00004  * INVOKEVIRTUAL - Invoke instance method; dispatch based on class
00005  *
00006  * <PRE>Stack: ..., objectref, [arg1, [arg2 ...]] -&gt; ...</PRE>
00007  *
00008  * @version $Id: INVOKEVIRTUAL.java,v 1.1.1.1 2002/01/24 03:44:03 pserver Exp $
00009  * @author  <A HREF="http://www.inf.fu-berlin.de/~dahm">M. Dahm</A>
00010  */
00011 public class INVOKEVIRTUAL extends InvokeInstruction {
00012   /**
00013    * Empty constructor needed for the Class.newInstance() statement in
00014    * Instruction.readInstruction(). Not to be used otherwise.
00015    */
00016   INVOKEVIRTUAL() {}  
00017   public INVOKEVIRTUAL(int index) {
00018     super(INVOKEVIRTUAL, index);
00019   }  
00020   public Class[] getExceptions() {
00021     Class[] cs = new Class[4 + EXCS_FIELD_AND_METHOD_RESOLUTION.length];
00022 
00023     System.arraycopy(EXCS_FIELD_AND_METHOD_RESOLUTION, 0,
00024              cs, 0, EXCS_FIELD_AND_METHOD_RESOLUTION.length);
00025     cs[EXCS_FIELD_AND_METHOD_RESOLUTION.length-3] = UNSATISFIED_LINK_ERROR;
00026     cs[EXCS_FIELD_AND_METHOD_RESOLUTION.length-2] = ABSTRACT_METHOD_ERROR;
00027     cs[EXCS_FIELD_AND_METHOD_RESOLUTION.length-1] = INCOMPATIBLE_CLASS_CHANGE_ERROR;
00028     cs[EXCS_FIELD_AND_METHOD_RESOLUTION.length]   = NULL_POINTER_EXCEPTION;
00029     return cs;
00030   }  
00031 }

Generated at Thu Feb 7 06:47:55 2002 for Bandera by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001