On Mon, 24 Apr 2023 11:59:03 GMT, Adam Sotona <[email protected]> wrote:
> Constants API already provides models for all loadable constants to help
> programs manipulating class files and modelling bytecode instructions.
> However no models of module and package constants are provided by Constants
> API. Every program manipulating class files must implement own models and
> validation of modules and packages constants.
>
> This pul request adds `java.lang.constant.ModuleDesc` and
> `java.lang.constant.PackageDesc` to the Constants API.
>
> Classfile API will follow up and remove its internal implementations of
> `PackageDesc` and `ModuleDesc`.
>
> Please review this pull request and attached CSR.
>
> Thank you,
> Adam
src/java.base/share/classes/java/lang/constant/PackageDesc.java line 34:
> 32: * <p>To create a {@linkplain PackageDesc} for a package, use {@link #of}
> or
> 33: * {@link #ofInternalName(String)}.
> 34: *
Needs a link to jvms 4.4.12. Same for ModuleDesc (4.4.11)
src/java.base/share/classes/java/lang/constant/PackageDescImpl.java line 37:
> 35: * @throws IllegalArgumentException if the package name is invalid
> 36: */
> 37: public static String validateBinaryPackageName(String name) {
All these utility methods should be moved to ConstantUtils.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13615#discussion_r1175212686
PR Review Comment: https://git.openjdk.org/jdk/pull/13615#discussion_r1175209163