On Wed, 26 Apr 2023 10:46:24 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 > > Adam Sotona has updated the pull request incrementally with one additional > commit since the last revision: > > removed prefixes from name methods I keep pondering if this API should allow creating `ModuleDesc` and `PackageDesc` with an empty name. JLS 6.5.3. Meaning of Module Names and Package Names > The module name M, whether simple or qualified, denotes the module (if any) > with that name. The module system will reject a `CONSTANT_Module_info` of zero-length name while JVMS does not prohibit it. The module system rejects the unnamed package in a named module. `CONSTANT_Package_info` represents a package exported or opened by a module. ------------- PR Comment: https://git.openjdk.org/jdk/pull/13615#issuecomment-1523914987