Adding ParameterizedTypeImpl to getGenericSuperclass method.
[jpf-core.git] / src / main / gov / nasa / jpf / vm / IntegerFieldInfo.java
1 /*
2  * Copyright (C) 2014, United States Government, as represented by the
3  * Administrator of the National Aeronautics and Space Administration.
4  * All rights reserved.
5  *
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
9  * 
10  *        http://www.apache.org/licenses/LICENSE-2.0. 
11  *
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.
17  */
18 package gov.nasa.jpf.vm;
19
20 import gov.nasa.jpf.JPFException;
21
22
23
24 /**
25  * type, name, mod info about integer fields
26  */
27 public class IntegerFieldInfo extends SingleSlotFieldInfo {
28   int init;
29
30   public IntegerFieldInfo (String name, int modifiers) {
31      super(name, "I", modifiers);
32   }
33
34   @Override
35   public void initialize (ElementInfo ei, ThreadInfo ti) {
36     ei.getFields().setIntValue( storageOffset, init);
37   }
38
39   @Override
40   public void setConstantValue(Object constValue){
41     if (constValue instanceof Integer){
42       cv = constValue;
43       init = (Integer)constValue;
44
45     } else {
46       throw new JPFException("illegal int ConstValue=" + constValue);
47     }
48   }
49
50
51   @Override
52   public Class<? extends ChoiceGenerator<?>> getChoiceGeneratorType() {
53     return IntChoiceGenerator.class;
54   }
55
56   @Override
57   public String valueToString (Fields f) {
58     int i = f.getIntValue(storageOffset);
59     return Integer.toString(i);
60   }
61
62   @Override
63   public Object getValueObject (Fields f){
64     int i = f.getIntValue(storageOffset);
65     return new Integer(i);
66   }
67
68   @Override
69   public boolean isIntField(){
70     // booleans, byte, char and short are too
71     return true;
72   }
73
74   @Override
75   public boolean isNumericField(){
76     return true;
77   }
78 }