RFR: 8246778: Compiler implementation for Sealed Classes (Second Preview)

Mandy Chung mchung at openjdk.java.net
Tue Nov 24 23:02:53 UTC 2020


On Tue, 17 Nov 2020 00:25:51 GMT, Mandy Chung <mchung at openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/Package.java line 227:
>> 
>>> 225:      * This method reports on a distinct concept of sealing from
>>> 226:      * {@link Class#isSealed() Class::isSealed}.
>>> 227:      *
>> 
>> This API note will be very confusing to readers. I think the javadoc will need to be fleshed out and probably will need to link to a section the Package class description that defines the legacy concept of sealing.
>
> I agree.  This @apiNote needs more clarification to help the readers to understand the context here.    One thing we could do in the Package class description to add a "Package Sealing" section that can also explain that it has no relationship to "sealed classes".

I added an API note in `Package::isSealed` [1] to clarify sealed package vs sealed class or interface.

The API note you added in `Class::isSealed` can be clarified in a similar fashion like: "Sealed class or interface has no relationship with {@linkplain Package#isSealed package sealing}".

[1] https://github.com/openjdk/jdk/commit/3c230b8a

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

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


More information about the compiler-dev mailing list