On Mon, 24 Apr 2023 11:59:03 GMT, Adam Sotona <asot...@openjdk.org> 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