This PR adds j.l.r.Type support for null restrictions.

More specifically, a new public interface is added, namely 
`NullRestrictedType`, modelling types with null restrictions.

Changes to the signature parsing code have been made so that instances of the 
new interface are generated accordingly.
A new test makes sure that everything behaves correctly.

Note: we should also make sure that the `AnnotatedType` hierarchy is changed to 
reflect the null-restriction changes, but for now that is lower priority and 
will be pursued in a separate PR.

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

Commit messages:
 - Simplify test
 - Add signature parser support
 - Merge branch 'bworld' into add_restricted_reflect_type
 - Initial work

Changes: https://git.openjdk.org/valhalla/pull/1863/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1863&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8374730
  Stats: 381 lines in 10 files changed: 375 ins; 5 del; 1 mod
  Patch: https://git.openjdk.org/valhalla/pull/1863.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1863/head:pull/1863

PR: https://git.openjdk.org/valhalla/pull/1863

Reply via email to