1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include <jni.h>
18 #include <stdlib.h> // for abort
19 
Java_libcore_dalvik_system_JniTest_returnThis(JNIEnv *,jobject obj)20 extern "C" jobject Java_libcore_dalvik_system_JniTest_returnThis(JNIEnv*, jobject obj) {
21   return obj;
22 }
23 
Java_libcore_dalvik_system_JniTest_returnClass(JNIEnv *,jclass klass)24 extern "C" jclass Java_libcore_dalvik_system_JniTest_returnClass(JNIEnv*, jclass klass) {
25   return klass;
26 }
27 
Java_libcore_dalvik_system_JniTest_returnObjectArgFrom16(JNIEnv *,jobject,int arg_no,jobject o1,jobject o2,jobject o3,jobject o4,jobject o5,jobject o6,jobject o7,jobject o8,jobject o9,jobject o10,jobject o11,jobject o12,jobject o13,jobject o14,jobject o15,jobject o16)28 extern "C" jobject Java_libcore_dalvik_system_JniTest_returnObjectArgFrom16(
29     JNIEnv*, jobject, int arg_no,
30     jobject o1,  jobject o2,  jobject o3,  jobject o4,  jobject o5,
31     jobject o6,  jobject o7,  jobject o8,  jobject o9,  jobject o10,
32     jobject o11, jobject o12, jobject o13, jobject o14, jobject o15,
33     jobject o16) {
34   switch(arg_no){
35   case 0:  return o1;
36   case 1:  return o2;
37   case 2:  return o3;
38   case 3:  return o4;
39   case 4:  return o5;
40   case 5:  return o6;
41   case 6:  return o7;
42   case 7:  return o8;
43   case 8:  return o9;
44   case 9:  return o10;
45   case 10: return o11;
46   case 11: return o12;
47   case 12: return o13;
48   case 13: return o14;
49   case 14: return o15;
50   case 15: return o16;
51   default: abort();
52   }
53 }
54 
Java_libcore_dalvik_system_JniTest_returnBooleanArgFrom16(JNIEnv *,jobject,int arg_no,jboolean o1,jboolean o2,jboolean o3,jboolean o4,jboolean o5,jboolean o6,jboolean o7,jboolean o8,jboolean o9,jboolean o10,jboolean o11,jboolean o12,jboolean o13,jboolean o14,jboolean o15,jboolean o16)55 extern "C" jboolean Java_libcore_dalvik_system_JniTest_returnBooleanArgFrom16(
56     JNIEnv*, jobject, int arg_no,
57     jboolean o1,  jboolean o2,  jboolean o3,  jboolean o4,  jboolean o5,
58     jboolean o6,  jboolean o7,  jboolean o8,  jboolean o9,  jboolean o10,
59     jboolean o11, jboolean o12, jboolean o13, jboolean o14, jboolean o15,
60     jboolean o16) {
61   switch(arg_no){
62   case 0:  return o1;
63   case 1:  return o2;
64   case 2:  return o3;
65   case 3:  return o4;
66   case 4:  return o5;
67   case 5:  return o6;
68   case 6:  return o7;
69   case 7:  return o8;
70   case 8:  return o9;
71   case 9:  return o10;
72   case 10: return o11;
73   case 11: return o12;
74   case 12: return o13;
75   case 13: return o14;
76   case 14: return o15;
77   case 15: return o16;
78   default: abort();
79   }
80 }
81 
Java_libcore_dalvik_system_JniTest_returnCharArgFrom16(JNIEnv *,jobject,int arg_no,jchar o1,jchar o2,jchar o3,jchar o4,jchar o5,jchar o6,jchar o7,jchar o8,jchar o9,jchar o10,jchar o11,jchar o12,jchar o13,jchar o14,jchar o15,jchar o16)82 extern "C" jchar Java_libcore_dalvik_system_JniTest_returnCharArgFrom16(
83     JNIEnv*, jobject, int arg_no,
84     jchar o1,  jchar o2,  jchar o3,  jchar o4,  jchar o5,
85     jchar o6,  jchar o7,  jchar o8,  jchar o9,  jchar o10,
86     jchar o11, jchar o12, jchar o13, jchar o14, jchar o15,
87     jchar o16) {
88   switch(arg_no){
89   case 0:  return o1;
90   case 1:  return o2;
91   case 2:  return o3;
92   case 3:  return o4;
93   case 4:  return o5;
94   case 5:  return o6;
95   case 6:  return o7;
96   case 7:  return o8;
97   case 8:  return o9;
98   case 9:  return o10;
99   case 10: return o11;
100   case 11: return o12;
101   case 12: return o13;
102   case 13: return o14;
103   case 14: return o15;
104   case 15: return o16;
105   default: abort();
106   }
107 }
108 
Java_libcore_dalvik_system_JniTest_returnByteArgFrom16(JNIEnv *,jobject,int arg_no,jbyte o1,jbyte o2,jbyte o3,jbyte o4,jbyte o5,jbyte o6,jbyte o7,jbyte o8,jbyte o9,jbyte o10,jbyte o11,jbyte o12,jbyte o13,jbyte o14,jbyte o15,jbyte o16)109 extern "C" jbyte Java_libcore_dalvik_system_JniTest_returnByteArgFrom16(
110     JNIEnv*, jobject, int arg_no,
111     jbyte o1,  jbyte o2,  jbyte o3,  jbyte o4,  jbyte o5,
112     jbyte o6,  jbyte o7,  jbyte o8,  jbyte o9,  jbyte o10,
113     jbyte o11, jbyte o12, jbyte o13, jbyte o14, jbyte o15,
114     jbyte o16) {
115   switch(arg_no){
116   case 0:  return o1;
117   case 1:  return o2;
118   case 2:  return o3;
119   case 3:  return o4;
120   case 4:  return o5;
121   case 5:  return o6;
122   case 6:  return o7;
123   case 7:  return o8;
124   case 8:  return o9;
125   case 9:  return o10;
126   case 10: return o11;
127   case 11: return o12;
128   case 12: return o13;
129   case 13: return o14;
130   case 14: return o15;
131   case 15: return o16;
132   default: abort();
133   }
134 }
135 
Java_libcore_dalvik_system_JniTest_returnShortArgFrom16(JNIEnv *,jobject,int arg_no,jshort o1,jshort o2,jshort o3,jshort o4,jshort o5,jshort o6,jshort o7,jshort o8,jshort o9,jshort o10,jshort o11,jshort o12,jshort o13,jshort o14,jshort o15,jshort o16)136 extern "C" jshort Java_libcore_dalvik_system_JniTest_returnShortArgFrom16(
137     JNIEnv*, jobject, int arg_no,
138     jshort o1,  jshort o2,  jshort o3,  jshort o4,  jshort o5,
139     jshort o6,  jshort o7,  jshort o8,  jshort o9,  jshort o10,
140     jshort o11, jshort o12, jshort o13, jshort o14, jshort o15,
141     jshort o16) {
142   switch(arg_no){
143   case 0:  return o1;
144   case 1:  return o2;
145   case 2:  return o3;
146   case 3:  return o4;
147   case 4:  return o5;
148   case 5:  return o6;
149   case 6:  return o7;
150   case 7:  return o8;
151   case 8:  return o9;
152   case 9:  return o10;
153   case 10: return o11;
154   case 11: return o12;
155   case 12: return o13;
156   case 13: return o14;
157   case 14: return o15;
158   case 15: return o16;
159   default: abort();
160   }
161 }
162 
Java_libcore_dalvik_system_JniTest_returnIntArgFrom16(JNIEnv *,jobject,int arg_no,jint o1,jint o2,jint o3,jint o4,jint o5,jint o6,jint o7,jint o8,jint o9,jint o10,jint o11,jint o12,jint o13,jint o14,jint o15,jint o16)163 extern "C" jint Java_libcore_dalvik_system_JniTest_returnIntArgFrom16(
164     JNIEnv*, jobject, int arg_no,
165     jint o1,  jint o2,  jint o3,  jint o4,  jint o5,
166     jint o6,  jint o7,  jint o8,  jint o9,  jint o10,
167     jint o11, jint o12, jint o13, jint o14, jint o15,
168     jint o16) {
169   switch(arg_no){
170   case 0:  return o1;
171   case 1:  return o2;
172   case 2:  return o3;
173   case 3:  return o4;
174   case 4:  return o5;
175   case 5:  return o6;
176   case 6:  return o7;
177   case 7:  return o8;
178   case 8:  return o9;
179   case 9:  return o10;
180   case 10: return o11;
181   case 11: return o12;
182   case 12: return o13;
183   case 13: return o14;
184   case 14: return o15;
185   case 15: return o16;
186   default: abort();
187   }
188 }
189 
Java_libcore_dalvik_system_JniTest_returnLongArgFrom16(JNIEnv *,jobject,int arg_no,jlong o1,jlong o2,jlong o3,jlong o4,jlong o5,jlong o6,jlong o7,jlong o8,jlong o9,jlong o10,jlong o11,jlong o12,jlong o13,jlong o14,jlong o15,jlong o16)190 extern "C" jlong Java_libcore_dalvik_system_JniTest_returnLongArgFrom16(
191     JNIEnv*, jobject, int arg_no,
192     jlong o1,  jlong o2,  jlong o3,  jlong o4,  jlong o5,
193     jlong o6,  jlong o7,  jlong o8,  jlong o9,  jlong o10,
194     jlong o11, jlong o12, jlong o13, jlong o14, jlong o15,
195     jlong o16) {
196   switch(arg_no){
197   case 0:  return o1;
198   case 1:  return o2;
199   case 2:  return o3;
200   case 3:  return o4;
201   case 4:  return o5;
202   case 5:  return o6;
203   case 6:  return o7;
204   case 7:  return o8;
205   case 8:  return o9;
206   case 9:  return o10;
207   case 10: return o11;
208   case 11: return o12;
209   case 12: return o13;
210   case 13: return o14;
211   case 14: return o15;
212   case 15: return o16;
213   default: abort();
214   }
215 }
216 
Java_libcore_dalvik_system_JniTest_returnFloatArgFrom16(JNIEnv *,jobject,int arg_no,jfloat o1,jfloat o2,jfloat o3,jfloat o4,jfloat o5,jfloat o6,jfloat o7,jfloat o8,jfloat o9,jfloat o10,jfloat o11,jfloat o12,jfloat o13,jfloat o14,jfloat o15,jfloat o16)217 extern "C" jfloat Java_libcore_dalvik_system_JniTest_returnFloatArgFrom16(
218     JNIEnv*, jobject, int arg_no,
219     jfloat o1,  jfloat o2,  jfloat o3,  jfloat o4,  jfloat o5,
220     jfloat o6,  jfloat o7,  jfloat o8,  jfloat o9,  jfloat o10,
221     jfloat o11, jfloat o12, jfloat o13, jfloat o14, jfloat o15,
222     jfloat o16) {
223   switch(arg_no){
224   case 0:  return o1;
225   case 1:  return o2;
226   case 2:  return o3;
227   case 3:  return o4;
228   case 4:  return o5;
229   case 5:  return o6;
230   case 6:  return o7;
231   case 7:  return o8;
232   case 8:  return o9;
233   case 9:  return o10;
234   case 10: return o11;
235   case 11: return o12;
236   case 12: return o13;
237   case 13: return o14;
238   case 14: return o15;
239   case 15: return o16;
240   default: abort();
241   }
242 }
243 
Java_libcore_dalvik_system_JniTest_returnDoubleArgFrom16(JNIEnv *,jobject,int arg_no,jdouble o1,jdouble o2,jdouble o3,jdouble o4,jdouble o5,jdouble o6,jdouble o7,jdouble o8,jdouble o9,jdouble o10,jdouble o11,jdouble o12,jdouble o13,jdouble o14,jdouble o15,jdouble o16)244 extern "C" jdouble Java_libcore_dalvik_system_JniTest_returnDoubleArgFrom16(
245     JNIEnv*, jobject, int arg_no,
246     jdouble o1,  jdouble o2,  jdouble o3,  jdouble o4,  jdouble o5,
247     jdouble o6,  jdouble o7,  jdouble o8,  jdouble o9,  jdouble o10,
248     jdouble o11, jdouble o12, jdouble o13, jdouble o14, jdouble o15,
249     jdouble o16) {
250   switch(arg_no){
251   case 0:  return o1;
252   case 1:  return o2;
253   case 2:  return o3;
254   case 3:  return o4;
255   case 4:  return o5;
256   case 5:  return o6;
257   case 6:  return o7;
258   case 7:  return o8;
259   case 8:  return o9;
260   case 9:  return o10;
261   case 10: return o11;
262   case 11: return o12;
263   case 12: return o13;
264   case 13: return o14;
265   case 14: return o15;
266   case 15: return o16;
267   default: abort();
268   }
269 }
270 
Java_libcore_dalvik_system_JniTest_envGetSuperclass(JNIEnv * env,jobject,jclass clazz)271 extern "C" jclass Java_libcore_dalvik_system_JniTest_envGetSuperclass(
272     JNIEnv* env, jobject, jclass clazz) {
273   return env->GetSuperclass(clazz);
274 }
275