2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
6 * The Java Pathfinder core (jpf-core) platform is licensed under the
7 * Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0.
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 package gov.nasa.jpf.jvm.bytecode;
20 import gov.nasa.jpf.vm.Instruction;
21 import gov.nasa.jpf.vm.MethodInfo;
22 import gov.nasa.jpf.vm.bytecode.StaticFieldInstruction;
25 * common super type of GETSTATIC and PUTSTATIC
27 public abstract class JVMStaticFieldInstruction extends StaticFieldInstruction implements JVMFieldInstruction {
29 protected JVMStaticFieldInstruction(String fieldName, String clsDescriptor, String fieldDescriptor){
30 super(fieldName, clsDescriptor, fieldDescriptor);
34 public void accept(JVMInstructionVisitor insVisitor) {
35 insVisitor.visit(this);
39 public Instruction typeSafeClone(MethodInfo mi) {
40 JVMStaticFieldInstruction clone = null;
43 clone = (JVMStaticFieldInstruction) super.clone();
45 // reset the method that this insn belongs to
47 clone.fi = null; // ClassInfo is going to be different
49 } catch (CloneNotSupportedException e) {