Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1002)

Side by Side Diff: base/android/jni_generator/golden_sample_for_tests_jni.h

Issue 2219923002: JNI: allow either JavaRef or bare objects in Java calls. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unreachable line Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | base/android/jni_generator/jni_generator.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file is autogenerated by 5 // This file is autogenerated by
6 // base/android/jni_generator/jni_generator.py 6 // base/android/jni_generator/jni_generator.py
7 // For 7 // For
8 // org/chromium/example/jni_generator/SampleForTests 8 // org/chromium/example/jni_generator/SampleForTests
9 9
10 #ifndef org_chromium_example_jni_generator_SampleForTests_JNI 10 #ifndef org_chromium_example_jni_generator_SampleForTests_JNI
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 183
184 extern "C" __attribute__((visibility("default"))) 184 extern "C" __attribute__((visibility("default")))
185 jint 185 jint
186 Java_org_chromium_example_jni_1generator_SampleForTests_00024InnerClass_nati veGetInnerIntFunction(JNIEnv* 186 Java_org_chromium_example_jni_1generator_SampleForTests_00024InnerClass_nati veGetInnerIntFunction(JNIEnv*
187 env, jclass jcaller) { 187 env, jclass jcaller) {
188 return GetInnerIntFunction(env, base::android::JavaParamRef<jclass>(env, 188 return GetInnerIntFunction(env, base::android::JavaParamRef<jclass>(env,
189 jcaller)); 189 jcaller));
190 } 190 }
191 191
192 static base::subtle::AtomicWord g_SampleForTests_javaMethod = 0; 192 static base::subtle::AtomicWord g_SampleForTests_javaMethod = 0;
193 static jint Java_SampleForTests_javaMethod(JNIEnv* env, jobject obj, 193 static jint Java_SampleForTests_javaMethod(JNIEnv* env, const
194 JniIntWrapper foo, 194 base::android::JavaRefOrBare<jobject>& obj, JniIntWrapper foo,
195 JniIntWrapper bar) { 195 JniIntWrapper bar) {
196 CHECK_CLAZZ(env, obj, 196 CHECK_CLAZZ(env, obj.obj(),
197 SampleForTests_clazz(env), 0); 197 SampleForTests_clazz(env), 0);
198 jmethodID method_id = 198 jmethodID method_id =
199 base::android::MethodID::LazyGet< 199 base::android::MethodID::LazyGet<
200 base::android::MethodID::TYPE_INSTANCE>( 200 base::android::MethodID::TYPE_INSTANCE>(
201 env, SampleForTests_clazz(env), 201 env, SampleForTests_clazz(env),
202 "javaMethod", 202 "javaMethod",
203 203
204 "(" 204 "("
205 "I" 205 "I"
206 "I" 206 "I"
207 ")" 207 ")"
208 "I", 208 "I",
209 &g_SampleForTests_javaMethod); 209 &g_SampleForTests_javaMethod);
210 210
211 jint ret = 211 jint ret =
212 env->CallIntMethod(obj, 212 env->CallIntMethod(obj.obj(),
213 method_id, as_jint(foo), as_jint(bar)); 213 method_id, as_jint(foo), as_jint(bar));
214 jni_generator::CheckException(env); 214 jni_generator::CheckException(env);
215 return ret; 215 return ret;
216 } 216 }
217 217
218 static base::subtle::AtomicWord g_SampleForTests_staticJavaMethod = 0; 218 static base::subtle::AtomicWord g_SampleForTests_staticJavaMethod = 0;
219 static jboolean Java_SampleForTests_staticJavaMethod(JNIEnv* env) { 219 static jboolean Java_SampleForTests_staticJavaMethod(JNIEnv* env) {
220 CHECK_CLAZZ(env, SampleForTests_clazz(env), 220 CHECK_CLAZZ(env, SampleForTests_clazz(env),
221 SampleForTests_clazz(env), false); 221 SampleForTests_clazz(env), false);
222 jmethodID method_id = 222 jmethodID method_id =
223 base::android::MethodID::LazyGet< 223 base::android::MethodID::LazyGet<
224 base::android::MethodID::TYPE_STATIC>( 224 base::android::MethodID::TYPE_STATIC>(
225 env, SampleForTests_clazz(env), 225 env, SampleForTests_clazz(env),
226 "staticJavaMethod", 226 "staticJavaMethod",
227 227
228 "(" 228 "("
229 ")" 229 ")"
230 "Z", 230 "Z",
231 &g_SampleForTests_staticJavaMethod); 231 &g_SampleForTests_staticJavaMethod);
232 232
233 jboolean ret = 233 jboolean ret =
234 env->CallStaticBooleanMethod(SampleForTests_clazz(env), 234 env->CallStaticBooleanMethod(SampleForTests_clazz(env),
235 method_id); 235 method_id);
236 jni_generator::CheckException(env); 236 jni_generator::CheckException(env);
237 return ret; 237 return ret;
238 } 238 }
239 239
240 static base::subtle::AtomicWord g_SampleForTests_packagePrivateJavaMethod = 0; 240 static base::subtle::AtomicWord g_SampleForTests_packagePrivateJavaMethod = 0;
241 static void Java_SampleForTests_packagePrivateJavaMethod(JNIEnv* env, jobject 241 static void Java_SampleForTests_packagePrivateJavaMethod(JNIEnv* env, const
242 obj) { 242 base::android::JavaRefOrBare<jobject>& obj) {
243 CHECK_CLAZZ(env, obj, 243 CHECK_CLAZZ(env, obj.obj(),
244 SampleForTests_clazz(env)); 244 SampleForTests_clazz(env));
245 jmethodID method_id = 245 jmethodID method_id =
246 base::android::MethodID::LazyGet< 246 base::android::MethodID::LazyGet<
247 base::android::MethodID::TYPE_INSTANCE>( 247 base::android::MethodID::TYPE_INSTANCE>(
248 env, SampleForTests_clazz(env), 248 env, SampleForTests_clazz(env),
249 "packagePrivateJavaMethod", 249 "packagePrivateJavaMethod",
250 250
251 "(" 251 "("
252 ")" 252 ")"
253 "V", 253 "V",
254 &g_SampleForTests_packagePrivateJavaMethod); 254 &g_SampleForTests_packagePrivateJavaMethod);
255 255
256 env->CallVoidMethod(obj, 256 env->CallVoidMethod(obj.obj(),
257 method_id); 257 method_id);
258 jni_generator::CheckException(env); 258 jni_generator::CheckException(env);
259 259
260 } 260 }
261 261
262 static base::subtle::AtomicWord g_SampleForTests_methodThatThrowsException = 0; 262 static base::subtle::AtomicWord g_SampleForTests_methodThatThrowsException = 0;
263 static void Java_SampleForTests_methodThatThrowsException(JNIEnv* env, jobject 263 static void Java_SampleForTests_methodThatThrowsException(JNIEnv* env, const
264 obj) { 264 base::android::JavaRefOrBare<jobject>& obj) {
265 CHECK_CLAZZ(env, obj, 265 CHECK_CLAZZ(env, obj.obj(),
266 SampleForTests_clazz(env)); 266 SampleForTests_clazz(env));
267 jmethodID method_id = 267 jmethodID method_id =
268 base::android::MethodID::LazyGet< 268 base::android::MethodID::LazyGet<
269 base::android::MethodID::TYPE_INSTANCE>( 269 base::android::MethodID::TYPE_INSTANCE>(
270 env, SampleForTests_clazz(env), 270 env, SampleForTests_clazz(env),
271 "methodThatThrowsException", 271 "methodThatThrowsException",
272 272
273 "(" 273 "("
274 ")" 274 ")"
275 "V", 275 "V",
276 &g_SampleForTests_methodThatThrowsException); 276 &g_SampleForTests_methodThatThrowsException);
277 277
278 env->CallVoidMethod(obj, 278 env->CallVoidMethod(obj.obj(),
279 method_id); 279 method_id);
280 280
281 } 281 }
282 282
283 static base::subtle::AtomicWord g_InnerStructA_create = 0; 283 static base::subtle::AtomicWord g_InnerStructA_create = 0;
284 static base::android::ScopedJavaLocalRef<jobject> 284 static base::android::ScopedJavaLocalRef<jobject>
285 Java_InnerStructA_create(JNIEnv* env, jlong l, 285 Java_InnerStructA_create(JNIEnv* env, jlong l,
286 JniIntWrapper i, 286 JniIntWrapper i,
287 jstring s) { 287 const base::android::JavaRefOrBare<jstring>& s) {
288 CHECK_CLAZZ(env, InnerStructA_clazz(env), 288 CHECK_CLAZZ(env, InnerStructA_clazz(env),
289 InnerStructA_clazz(env), NULL); 289 InnerStructA_clazz(env), NULL);
290 jmethodID method_id = 290 jmethodID method_id =
291 base::android::MethodID::LazyGet< 291 base::android::MethodID::LazyGet<
292 base::android::MethodID::TYPE_STATIC>( 292 base::android::MethodID::TYPE_STATIC>(
293 env, InnerStructA_clazz(env), 293 env, InnerStructA_clazz(env),
294 "create", 294 "create",
295 295
296 "(" 296 "("
297 "J" 297 "J"
298 "I" 298 "I"
299 "Ljava/lang/String;" 299 "Ljava/lang/String;"
300 ")" 300 ")"
301 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructA;", 301 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructA;",
302 &g_InnerStructA_create); 302 &g_InnerStructA_create);
303 303
304 jobject ret = 304 jobject ret =
305 env->CallStaticObjectMethod(InnerStructA_clazz(env), 305 env->CallStaticObjectMethod(InnerStructA_clazz(env),
306 method_id, l, as_jint(i), s); 306 method_id, l, as_jint(i), s.obj());
307 jni_generator::CheckException(env); 307 jni_generator::CheckException(env);
308 return base::android::ScopedJavaLocalRef<jobject>(env, ret); 308 return base::android::ScopedJavaLocalRef<jobject>(env, ret);
309 } 309 }
310 310
311 static base::subtle::AtomicWord g_SampleForTests_addStructA = 0; 311 static base::subtle::AtomicWord g_SampleForTests_addStructA = 0;
312 static void Java_SampleForTests_addStructA(JNIEnv* env, jobject obj, jobject a) 312 static void Java_SampleForTests_addStructA(JNIEnv* env, const
313 { 313 base::android::JavaRefOrBare<jobject>& obj, const
314 CHECK_CLAZZ(env, obj, 314 base::android::JavaRefOrBare<jobject>& a) {
315 CHECK_CLAZZ(env, obj.obj(),
315 SampleForTests_clazz(env)); 316 SampleForTests_clazz(env));
316 jmethodID method_id = 317 jmethodID method_id =
317 base::android::MethodID::LazyGet< 318 base::android::MethodID::LazyGet<
318 base::android::MethodID::TYPE_INSTANCE>( 319 base::android::MethodID::TYPE_INSTANCE>(
319 env, SampleForTests_clazz(env), 320 env, SampleForTests_clazz(env),
320 "addStructA", 321 "addStructA",
321 322
322 "(" 323 "("
323 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructA;" 324 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructA;"
324 ")" 325 ")"
325 "V", 326 "V",
326 &g_SampleForTests_addStructA); 327 &g_SampleForTests_addStructA);
327 328
328 env->CallVoidMethod(obj, 329 env->CallVoidMethod(obj.obj(),
329 method_id, a); 330 method_id, a.obj());
330 jni_generator::CheckException(env); 331 jni_generator::CheckException(env);
331 332
332 } 333 }
333 334
334 static base::subtle::AtomicWord g_SampleForTests_iterateAndDoSomething = 0; 335 static base::subtle::AtomicWord g_SampleForTests_iterateAndDoSomething = 0;
335 static void Java_SampleForTests_iterateAndDoSomething(JNIEnv* env, jobject obj) 336 static void Java_SampleForTests_iterateAndDoSomething(JNIEnv* env, const
336 { 337 base::android::JavaRefOrBare<jobject>& obj) {
337 CHECK_CLAZZ(env, obj, 338 CHECK_CLAZZ(env, obj.obj(),
338 SampleForTests_clazz(env)); 339 SampleForTests_clazz(env));
339 jmethodID method_id = 340 jmethodID method_id =
340 base::android::MethodID::LazyGet< 341 base::android::MethodID::LazyGet<
341 base::android::MethodID::TYPE_INSTANCE>( 342 base::android::MethodID::TYPE_INSTANCE>(
342 env, SampleForTests_clazz(env), 343 env, SampleForTests_clazz(env),
343 "iterateAndDoSomething", 344 "iterateAndDoSomething",
344 345
345 "(" 346 "("
346 ")" 347 ")"
347 "V", 348 "V",
348 &g_SampleForTests_iterateAndDoSomething); 349 &g_SampleForTests_iterateAndDoSomething);
349 350
350 env->CallVoidMethod(obj, 351 env->CallVoidMethod(obj.obj(),
351 method_id); 352 method_id);
352 jni_generator::CheckException(env); 353 jni_generator::CheckException(env);
353 354
354 } 355 }
355 356
356 static base::subtle::AtomicWord g_InnerStructB_getKey = 0; 357 static base::subtle::AtomicWord g_InnerStructB_getKey = 0;
357 static jlong Java_InnerStructB_getKey(JNIEnv* env, jobject obj) { 358 static jlong Java_InnerStructB_getKey(JNIEnv* env, const
358 CHECK_CLAZZ(env, obj, 359 base::android::JavaRefOrBare<jobject>& obj) {
360 CHECK_CLAZZ(env, obj.obj(),
359 InnerStructB_clazz(env), 0); 361 InnerStructB_clazz(env), 0);
360 jmethodID method_id = 362 jmethodID method_id =
361 base::android::MethodID::LazyGet< 363 base::android::MethodID::LazyGet<
362 base::android::MethodID::TYPE_INSTANCE>( 364 base::android::MethodID::TYPE_INSTANCE>(
363 env, InnerStructB_clazz(env), 365 env, InnerStructB_clazz(env),
364 "getKey", 366 "getKey",
365 367
366 "(" 368 "("
367 ")" 369 ")"
368 "J", 370 "J",
369 &g_InnerStructB_getKey); 371 &g_InnerStructB_getKey);
370 372
371 jlong ret = 373 jlong ret =
372 env->CallLongMethod(obj, 374 env->CallLongMethod(obj.obj(),
373 method_id); 375 method_id);
374 jni_generator::CheckException(env); 376 jni_generator::CheckException(env);
375 return ret; 377 return ret;
376 } 378 }
377 379
378 static base::subtle::AtomicWord g_InnerStructB_getValue = 0; 380 static base::subtle::AtomicWord g_InnerStructB_getValue = 0;
379 static base::android::ScopedJavaLocalRef<jstring> 381 static base::android::ScopedJavaLocalRef<jstring>
380 Java_InnerStructB_getValue(JNIEnv* env, jobject obj) { 382 Java_InnerStructB_getValue(JNIEnv* env, const
381 CHECK_CLAZZ(env, obj, 383 base::android::JavaRefOrBare<jobject>& obj) {
384 CHECK_CLAZZ(env, obj.obj(),
382 InnerStructB_clazz(env), NULL); 385 InnerStructB_clazz(env), NULL);
383 jmethodID method_id = 386 jmethodID method_id =
384 base::android::MethodID::LazyGet< 387 base::android::MethodID::LazyGet<
385 base::android::MethodID::TYPE_INSTANCE>( 388 base::android::MethodID::TYPE_INSTANCE>(
386 env, InnerStructB_clazz(env), 389 env, InnerStructB_clazz(env),
387 "getValue", 390 "getValue",
388 391
389 "(" 392 "("
390 ")" 393 ")"
391 "Ljava/lang/String;", 394 "Ljava/lang/String;",
392 &g_InnerStructB_getValue); 395 &g_InnerStructB_getValue);
393 396
394 jstring ret = 397 jstring ret =
395 static_cast<jstring>(env->CallObjectMethod(obj, 398 static_cast<jstring>(env->CallObjectMethod(obj.obj(),
396 method_id)); 399 method_id));
397 jni_generator::CheckException(env); 400 jni_generator::CheckException(env);
398 return base::android::ScopedJavaLocalRef<jstring>(env, ret); 401 return base::android::ScopedJavaLocalRef<jstring>(env, ret);
399 } 402 }
400 403
401 // Step 3: RegisterNatives. 404 // Step 3: RegisterNatives.
402 405
403 static const JNINativeMethod kMethodsInnerClass[] = { 406 static const JNINativeMethod kMethodsInnerClass[] = {
404 { "nativeGetInnerIntFunction", 407 { "nativeGetInnerIntFunction",
405 "(" 408 "("
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 return false; 513 return false;
511 } 514 }
512 515
513 return true; 516 return true;
514 } 517 }
515 518
516 } // namespace android 519 } // namespace android
517 } // namespace base 520 } // namespace base
518 521
519 #endif // org_chromium_example_jni_generator_SampleForTests_JNI 522 #endif // org_chromium_example_jni_generator_SampleForTests_JNI
OLDNEW
« no previous file with comments | « no previous file | base/android/jni_generator/jni_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698