2503 return CoreReflectionFactory.make(this, ClassScope.make(this));
2504 }
2505
2506 // accessor for generic info repository;
2507 // generic info is lazily initialized
2508 private ClassRepository getGenericInfo() {
2509 ClassRepository genericInfo = this.genericInfo;
2510 if (genericInfo == null) {
2511 String signature = getGenericSignature0();
2512 if (signature == null) {
2513 genericInfo = ClassRepository.NONE;
2514 } else {
2515 genericInfo = ClassRepository.make(signature, getFactory());
2516 }
2517 this.genericInfo = genericInfo;
2518 }
2519 return (genericInfo != ClassRepository.NONE) ? genericInfo : null;
2520 }
2521
2522 // Annotations handling
2523 private native byte[] getRawAnnotations();
2524 // Since 1.8
2525 native byte[] getRawTypeAnnotations();
2526 static byte[] getExecutableTypeAnnotationBytes(Executable ex) {
2527 return getReflectionFactory().getExecutableTypeAnnotationBytes(ex);
2528 }
2529
2530 native ConstantPool getConstantPool();
2531
2532 //
2533 //
2534 // java.lang.reflect.Field handling
2535 //
2536 //
2537
2538 // Returns an array of "root" fields. These Field objects must NOT
2539 // be propagated to the outside world, but must instead be copied
2540 // via ReflectionFactory.copyField.
2541 private Field[] privateGetDeclaredFields(boolean publicOnly) {
2542 checkInitted();
2543 Field[] res;
|
2503 return CoreReflectionFactory.make(this, ClassScope.make(this));
2504 }
2505
2506 // accessor for generic info repository;
2507 // generic info is lazily initialized
2508 private ClassRepository getGenericInfo() {
2509 ClassRepository genericInfo = this.genericInfo;
2510 if (genericInfo == null) {
2511 String signature = getGenericSignature0();
2512 if (signature == null) {
2513 genericInfo = ClassRepository.NONE;
2514 } else {
2515 genericInfo = ClassRepository.make(signature, getFactory());
2516 }
2517 this.genericInfo = genericInfo;
2518 }
2519 return (genericInfo != ClassRepository.NONE) ? genericInfo : null;
2520 }
2521
2522 // Annotations handling
2523 native byte[] getRawAnnotations();
2524 // Since 1.8
2525 native byte[] getRawTypeAnnotations();
2526 static byte[] getExecutableTypeAnnotationBytes(Executable ex) {
2527 return getReflectionFactory().getExecutableTypeAnnotationBytes(ex);
2528 }
2529
2530 native ConstantPool getConstantPool();
2531
2532 //
2533 //
2534 // java.lang.reflect.Field handling
2535 //
2536 //
2537
2538 // Returns an array of "root" fields. These Field objects must NOT
2539 // be propagated to the outside world, but must instead be copied
2540 // via ReflectionFactory.copyField.
2541 private Field[] privateGetDeclaredFields(boolean publicOnly) {
2542 checkInitted();
2543 Field[] res;
|