src/share/classes/java/lang/Class.java

Print this page




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;