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

GETFIELD.java

00001 package de.fub.bytecode.generic;
00002 
00003 import de.fub.bytecode.Constants;
00004 
00005 /** 
00006  * GETFIELD - Fetch field from object
00007  * <PRE>Stack: ..., objectref -&gt; ..., value</PRE>
00008  * OR
00009  * <PRE>Stack: ..., objectref -&gt; ..., value.word1, value.word2</PRE>
00010  *
00011  * @version $Id: GETFIELD.java,v 1.1.1.1 2002/01/24 03:44:06 pserver Exp $
00012  * @author  <A HREF="http://www.inf.fu-berlin.de/~dahm">M. Dahm</A>
00013  */
00014 public class GETFIELD extends FieldInstruction implements ExceptionThrower{
00015   /**
00016    * Empty constructor needed for the Class.newInstance() statement in
00017    * Instruction.readInstruction(). Not to be used otherwise.
00018    */
00019   GETFIELD() {}  
00020   public GETFIELD(int index) {
00021     super(Constants.GETFIELD, index);
00022   }  
00023   public Class[] getExceptions(){
00024     Class[] cs = new Class[2 + EXCS_FIELD_AND_METHOD_RESOLUTION.length];
00025 
00026     System.arraycopy(EXCS_FIELD_AND_METHOD_RESOLUTION, 0,
00027              cs, 0, EXCS_FIELD_AND_METHOD_RESOLUTION.length);
00028     cs[EXCS_FIELD_AND_METHOD_RESOLUTION.length-1] = INCOMPATIBLE_CLASS_CHANGE_ERROR;
00029     cs[EXCS_FIELD_AND_METHOD_RESOLUTION.length]   = NULL_POINTER_EXCEPTION;
00030     return cs;
00031   }  
00032   public int produceStack(ConstantPoolGen cpg) { return getFieldSize(cpg); }  
00033 }

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