RFR: 8224243: Make AccessibleObject a sealed class [v2]
Alan Bateman
alanb at openjdk.java.net
Sat May 22 13:15:57 UTC 2021
On Fri, 21 May 2021 02:42:50 GMT, Joe Darcy <darcy at 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
More information about the core-libs-dev
mailing list