1 17 package org.apache.bcel.generic; 18 19 import org.apache.bcel.Constants; 20 import org.apache.bcel.ExceptionConstants; 21 22 31 public class GETFIELD extends FieldInstruction implements ExceptionThrower, StackConsumer, 32 StackProducer { 33 34 38 GETFIELD() { 39 } 40 41 42 public GETFIELD(int index) { 43 super(Constants.GETFIELD, index); 44 } 45 46 47 public int produceStack( ConstantPoolGen cpg ) { 48 return getFieldSize(cpg); 49 } 50 51 52 public Class [] getExceptions() { 53 Class [] cs = new Class [2 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length]; 54 System.arraycopy(ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION, 0, cs, 0, 55 ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length); 56 cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length + 1] = ExceptionConstants.INCOMPATIBLE_CLASS_CHANGE_ERROR; 57 cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length] = ExceptionConstants.NULL_POINTER_EXCEPTION; 58 return cs; 59 } 60 61 62 70 public void accept( Visitor v ) { 71 v.visitExceptionThrower(this); 72 v.visitStackConsumer(this); 73 v.visitStackProducer(this); 74 v.visitTypedInstruction(this); 75 v.visitLoadClass(this); 76 v.visitCPInstruction(this); 77 v.visitFieldOrMethod(this); 78 v.visitFieldInstruction(this); 79 v.visitGETFIELD(this); 80 } 81 } 82 | Popular Tags |