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.

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

Commit messages:
 - Redundant
 - Test and more fixes
 - Copyright years
 - Testing
 - Merge branch 'master' of https://github.com/openjdk/jdk into 
fix/core-reflection-null-checks
 - Null behavior for core reflection

Changes: https://git.openjdk.org/jdk/pull/28336/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28336&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8371953
  Stats: 529 lines in 18 files changed: 504 ins; 0 del; 25 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

Reply via email to