src/share/classes/java/lang/reflect/Executable.java

Print this page




 312         Parameter[] tmp = parameters;
 313 
 314         if (tmp == null) {
 315 
 316             // Otherwise, go to the JVM to get them
 317             tmp = getParameters0();
 318 
 319             // If we get back nothing, then synthesize parameters
 320             if (tmp == null)
 321                 tmp = synthesizeAllParams();
 322 
 323             parameters = tmp;
 324         }
 325 
 326         return tmp;
 327     }
 328 
 329     private transient volatile Parameter[] parameters;
 330 
 331     private native Parameter[] getParameters0();

 332 
 333     /**
 334      * Returns an array of {@code Class} objects that represent the
 335      * types of exceptions declared to be thrown by the underlying
 336      * executable represented by this object.  Returns an array of
 337      * length 0 if the executable declares no exceptions in its {@code
 338      * throws} clause.
 339      *
 340      * @return the exception types declared as being thrown by the
 341      * executable this object represents
 342      */
 343     public abstract Class<?>[] getExceptionTypes();
 344 
 345     /**
 346      * Returns an array of {@code Type} objects that represent the
 347      * exceptions declared to be thrown by this executable object.
 348      * Returns an array of length 0 if the underlying executable declares
 349      * no exceptions in its {@code throws} clause.
 350      *
 351      * <p>If an exception type is a type variable or a parameterized




 312         Parameter[] tmp = parameters;
 313 
 314         if (tmp == null) {
 315 
 316             // Otherwise, go to the JVM to get them
 317             tmp = getParameters0();
 318 
 319             // If we get back nothing, then synthesize parameters
 320             if (tmp == null)
 321                 tmp = synthesizeAllParams();
 322 
 323             parameters = tmp;
 324         }
 325 
 326         return tmp;
 327     }
 328 
 329     private transient volatile Parameter[] parameters;
 330 
 331     private native Parameter[] getParameters0();
 332     native byte[] getTypeAnnotationBytes0();
 333 
 334     /**
 335      * Returns an array of {@code Class} objects that represent the
 336      * types of exceptions declared to be thrown by the underlying
 337      * executable represented by this object.  Returns an array of
 338      * length 0 if the executable declares no exceptions in its {@code
 339      * throws} clause.
 340      *
 341      * @return the exception types declared as being thrown by the
 342      * executable this object represents
 343      */
 344     public abstract Class<?>[] getExceptionTypes();
 345 
 346     /**
 347      * Returns an array of {@code Type} objects that represent the
 348      * exceptions declared to be thrown by this executable object.
 349      * Returns an array of length 0 if the underlying executable declares
 350      * no exceptions in its {@code throws} clause.
 351      *
 352      * <p>If an exception type is a type variable or a parameterized