RFR: 8371953: Document null handling in core reflection APIs [v3]

Chen Liang liach at openjdk.org
Mon Nov 17 16:35:33 UTC 2025


> A lot of core reflection APIs are from antique times, which have their own null handling behavior. Such behaviors are often not documented in the specification; we should document rejected null arguments and accepted null arguments (including array elements) explicitly.
> 
> In the investigation, I found `Class.isNestmateOf` (inconsistent) and `AnnotatedType`'s implementation of `AnnotatedElement` methods (required by specification) are missing null checks. I consider these unlikely to be a user dependency and added new null checks.

Chen Liang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 11 additional commits since the last revision:

 - From review
 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/core-reflection-null-checks
 - Rephrase for parameterTypes contains null
 - Rename tests to be more specific
 - Split annotated type new checks to another patch
 - Redundant
 - Test and more fixes
 - Copyright years
 - Testing
 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/core-reflection-null-checks
 - ... and 1 more: https://git.openjdk.org/jdk/compare/1b24883c...51ef5789

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28336/files
  - new: https://git.openjdk.org/jdk/pull/28336/files/a93a84ff..51ef5789

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28336&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28336&range=01-02

  Stats: 808 lines in 42 files changed: 527 ins; 177 del; 104 mod
  Patch: https://git.openjdk.org/jdk/pull/28336.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28336/head:pull/28336

PR: https://git.openjdk.org/jdk/pull/28336


More information about the core-libs-dev mailing list