< prev index next >

src/java.base/share/classes/sun/reflect/ReflectionFactory.java

Print this page




 358         return c;
 359     }
 360 
 361     //--------------------------------------------------------------------------
 362     //
 363     // Internals only below this point
 364     //
 365 
 366     static int inflationThreshold() {
 367         return inflationThreshold;
 368     }
 369 
 370     /** We have to defer full initialization of this class until after
 371         the static initializer is run since java.lang.reflect.Method's
 372         static initializer (more properly, that for
 373         java.lang.reflect.AccessibleObject) causes this class's to be
 374         run, before the system properties are set up. */
 375     private static void checkInitted() {
 376         if (initted) return;
 377         AccessController.doPrivileged(
 378             new PrivilegedAction<Void>() {
 379                 public Void run() {
 380                     // Tests to ensure the system properties table is fully
 381                     // initialized. This is needed because reflection code is
 382                     // called very early in the initialization process (before
 383                     // command-line arguments have been parsed and therefore
 384                     // these user-settable properties installed.) We assume that
 385                     // if System.out is non-null then the System class has been
 386                     // fully initialized and that the bulk of the startup code
 387                     // has been run.
 388 
 389                     if (System.out == null) {
 390                         // java.lang.System not yet fully initialized
 391                         return null;
 392                     }
 393 
 394                     String val = System.getProperty("sun.reflect.noInflation");
 395                     if (val != null && val.equals("true")) {
 396                         noInflation = true;
 397                     }
 398 




 358         return c;
 359     }
 360 
 361     //--------------------------------------------------------------------------
 362     //
 363     // Internals only below this point
 364     //
 365 
 366     static int inflationThreshold() {
 367         return inflationThreshold;
 368     }
 369 
 370     /** We have to defer full initialization of this class until after
 371         the static initializer is run since java.lang.reflect.Method's
 372         static initializer (more properly, that for
 373         java.lang.reflect.AccessibleObject) causes this class's to be
 374         run, before the system properties are set up. */
 375     private static void checkInitted() {
 376         if (initted) return;
 377         AccessController.doPrivileged(
 378             new PrivilegedAction<>() {
 379                 public Void run() {
 380                     // Tests to ensure the system properties table is fully
 381                     // initialized. This is needed because reflection code is
 382                     // called very early in the initialization process (before
 383                     // command-line arguments have been parsed and therefore
 384                     // these user-settable properties installed.) We assume that
 385                     // if System.out is non-null then the System class has been
 386                     // fully initialized and that the bulk of the startup code
 387                     // has been run.
 388 
 389                     if (System.out == null) {
 390                         // java.lang.System not yet fully initialized
 391                         return null;
 392                     }
 393 
 394                     String val = System.getProperty("sun.reflect.noInflation");
 395                     if (val != null && val.equals("true")) {
 396                         noInflation = true;
 397                     }
 398 


< prev index next >