jaxp/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java Tue Aug 08 22:52:41 2017 +0000
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java Sun Aug 13 21:10:40 2017 -0700
@@ -18,67 +18,62 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package com.sun.org.apache.bcel.internal.generic;
-
-import com.sun.org.apache.bcel.internal.Constants;
-import com.sun.org.apache.bcel.internal.ExceptionConstants;
+import com.sun.org.apache.bcel.internal.Const;
+import com.sun.org.apache.bcel.internal.ExceptionConst;
/**
* GETFIELD - Fetch field from object
- * <PRE>Stack: ..., objectref -> ..., value</PRE>
- * OR
+ * <PRE>Stack: ..., objectref -> ..., value</PRE> OR
* <PRE>Stack: ..., objectref -> ..., value.word1, value.word2</PRE>
*
- * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
+ * @version $Id: GETFIELD.java 1747278 2016-06-07 17:28:43Z britter $
*/
-public class GETFIELD extends FieldInstruction
- implements ExceptionThrower, StackConsumer, StackProducer {
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- GETFIELD() {}
+public class GETFIELD extends FieldInstruction implements ExceptionThrower, StackConsumer,
+ StackProducer {
- public GETFIELD(int index) {
- super(Constants.GETFIELD, index);
- }
-
- public int produceStack(ConstantPoolGen cpg) { return getFieldSize(cpg); }
+ /**
+ * Empty constructor needed for the Class.newInstance() statement in
+ * Instruction.readInstruction(). Not to be used otherwise.
+ */
+ GETFIELD() {
+ }
- public Class[] getExceptions() {
- Class[] cs = new Class[2 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length];
+ public GETFIELD(final int index) {
+ super(Const.GETFIELD, index);
+ }
- System.arraycopy(ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION, 0,
- cs, 0, ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length);
+ @Override
+ public int produceStack(final ConstantPoolGen cpg) {
+ return getFieldSize(cpg);
+ }
- cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length+1] =
- ExceptionConstants.INCOMPATIBLE_CLASS_CHANGE_ERROR;
- cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length] =
- ExceptionConstants.NULL_POINTER_EXCEPTION;
-
- return cs;
- }
-
+ @Override
+ public Class<?>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_FIELD_AND_METHOD_RESOLUTION,
+ ExceptionConst.NULL_POINTER_EXCEPTION,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
+ }
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept(Visitor v) {
- v.visitExceptionThrower(this);
- v.visitStackConsumer(this);
- v.visitStackProducer(this);
- v.visitTypedInstruction(this);
- v.visitLoadClass(this);
- v.visitCPInstruction(this);
- v.visitFieldOrMethod(this);
- v.visitFieldInstruction(this);
- v.visitGETFIELD(this);
- }
+ /**
+ * Call corresponding visitor method(s). The order is: Call visitor methods
+ * of implemented interfaces first, then call methods according to the class
+ * hierarchy in descending order, i.e., the most specific visitXXX() call
+ * comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept(final Visitor v) {
+ v.visitExceptionThrower(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitTypedInstruction(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitFieldInstruction(this);
+ v.visitGETFIELD(this);
+ }
}