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
