Preparing for tracking the object creation etc.
[jpf-core.git] / src / peers / gov / nasa / jpf / vm / JPF_java_lang_Short.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 /**
19  * JPF_java_lang_Shortjava.java
20  *
21  * @author Created by Omnicore CodeGuide
22  */
23 package gov.nasa.jpf.vm;
24
25 import gov.nasa.jpf.annotation.MJI;
26 import gov.nasa.jpf.vm.MJIEnv;
27 import gov.nasa.jpf.vm.NativePeer;
28
29 /**
30  * MJI NativePeer class for java.lang.Short library abstraction
31  */
32 public class JPF_java_lang_Short extends NativePeer {
33   // <2do> at this point we deliberately do not override clinit
34
35   @MJI
36   public short parseShort__Ljava_lang_String_2__S (MJIEnv env, 
37                                                           int clsObjRef, 
38                                                           int strRef) {
39     try {
40       return Short.parseShort(env.getStringObject(strRef));
41     } catch (NumberFormatException e) {
42       env.throwException("java.lang.NumberFormatException");
43
44       return 0;
45     }
46   }
47
48   @MJI
49   public short parseShort__Ljava_lang_String_2I__S (MJIEnv env, 
50                                                             int clsObjRef, 
51                                                             int strRef, int radix) {
52     try {
53       return Short.parseShort(env.getStringObject(strRef), radix);
54     } catch (NumberFormatException e) {
55       env.throwException("java.lang.NumberFormatException");
56
57       return 0;
58     }
59   }
60
61   @MJI
62   public int toString__S__Ljava_lang_String_2 (MJIEnv env, int objref, short val) {
63     return env.newString(Short.toString(val));
64   }
65
66   @MJI
67   public int valueOf__S__Ljava_lang_Short_2 (MJIEnv env, int clsRef, short val) {
68     return env.valueOfShort(val);
69   }
70 }