RFR: 8368050: Validation missing in ClassFile signature factories [v3]

Adam Sotona asotona at openjdk.org
Fri Sep 19 07:06:12 UTC 2025


On Fri, 19 Sep 2025 00:27:04 GMT, Chen Liang <liach at openjdk.org> wrote:

>> The Signature modeling in the ClassFile API is missing some validations required by JVMS, notably identifier character restrictions and void type restrictions. In addition, the model currently uses `ClassDesc` to indicate a simple name for an inner class signature, which is incorrect, and this patch proposes to deprecate that API for removal.
>
> Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix links

src/java.base/share/classes/java/lang/classfile/Signature.java line 246:

> 244:          *
> 245:          * @param outerType signature of the outer type, may be {@code null}
> 246:          *        to indicate this is a top-level class or interface

Actually here is the ambiguity. Null outer type is more than frequently used also for inner classes.
Signatures of inner classes are mainly encoded without the outer type and with the $-notation of the outer$inner as the class name.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27380#discussion_r2361989064


More information about the core-libs-dev mailing list