On Fri, 21 May 2021 02:42:50 GMT, Joe Darcy <da...@openjdk.org> wrote:

>> Conceptually, AccessbileObject is a sealed class with a protected 
>> constructor stating
>> 
>>     Constructor: only used by the Java Virtual Machine.
>> 
>> With the language now supporting sealed classes, the AccessbileObject should 
>> be marked as sealed.
>> 
>> Executable and Field are the subclasses of AccessbileObject in the JDK; as 
>> Executable has subclasses, it is marked as non-sealed.
>> 
>> Please also review the corresponding CSR:
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8224243
>
> Joe Darcy has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Update in response to review feedback.

src/java.base/share/classes/java/lang/reflect/AccessibleObject.java line 533:

> 531:     @Override
> 532:     public <T extends Annotation> T getAnnotation(Class<T> 
> annotationClass) {
> 533:         throw new IllegalStateException("All subclasses should override 
> this method");

I'm now sure that ISE is the more appropriate exception here because there 
isn't an alternative state that would accept the input. UOE might be better.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4133

Reply via email to