Draft JEP: Keyword Management for the Java Language (original) (raw)
Alex Buckley alex.buckley at oracle.com
Wed May 1 20:55:53 UTC 2019
- Previous message: Draft JEP: Keyword Management for the Java Language
- Next message: Draft JEP: Keyword Management for the Java Language
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 5/1/2019 1:21 PM, Remi Forax wrote:
I think 'this' are also missing from {A}, Foo.this is a valid expression (while semantically invalid).
Yes, and Foo.this-day
is close enough to Foo::new-day
that both can
be explained together (so we don't forget why this
ended up in set A).
For 'null', 'true' and 'false', there are also valid expression but invalid semantically, so following the same logic they should be in {A} and {B}.
in that case non-null is not a valid hyphenated keyword but it's a valid hyphenated keyword if contextual (as modifier for a field or a method).
I think the JEP already takes reasonable care over null
, true
, and
false
. They're highlighted as literals rather than keywords early on,
and non-null
and eventually-true
are clearly marked as examples of
hyphenated contextual keywords rather than hyphenated classic
keywords. Later, the "formal" statement involving sets A and B is
specifically about hyphenated classic keywords, so it doesn't advise
on non-null
at all. I could add constraints for hyphenated
contextual keywords but this JEP is a policy/approach, not a spec, so
I'm going to stop here; this has been a productive thread.
Alex
- Previous message: Draft JEP: Keyword Management for the Java Language
- Next message: Draft JEP: Keyword Management for the Java Language
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]