00001 package de.fub.bytecode.generic;
00002
00003 import de.fub.bytecode.Constants;
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 public class GETFIELD extends FieldInstruction implements ExceptionThrower{
00015
00016
00017
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 }