Open pablogrisafi1975 opened 9 years ago
It doesn't parse, so I'm guessing it cannot be done. But how about a lady gaga operator ?$:
?
is that possible? At first I thought it was a joke, but then I saw it as
String firstName = user ? $ : getFirstName()
And I assume somehow $ is a magical variable that doesn't mess with the type system.
Mi ignorance about the whole source file -> class file process is almost perfect, so I don't know what can be done in each stage.
If it is possible, it is a nice workaround, and while somehow strange, it is way better than
String firstName = user == null ? null : user.getFirstName()
Yes, it should be possible if the $ variable is defined in the background
(the way lombok defines 'val'). However, your last example is the null-safe
dereference operator, which is different from elvis, and is usually ?.
.
Anyway, I don't know much about the limits of compiler plugins either.
On Mon, Jul 13, 2015, 8:44 AM Pablo Grisafi notifications@github.com wrote:
is that possible? At first I thought it was a joke, but then I saw it as
String firstName = user ? $ : getFirstName()
And I assume somehow $ is a magical variable that doesn't mess with the type system.
Mi ignorance about the whole source file -> class file process is almost perfect, so I don't know what can be done in each stage.
If it is possible, it is a nice workaround, and while somehow strange, it is way better than
String firstName = user == null ? null : user.getFirstName()
— Reply to this email directly or view it on GitHub https://github.com/amelentev/java-oo/issues/28#issuecomment-120916110.
Thanks again for your extraordinary work. You said that adding new operator is difficult because of no extension points at that stage. What about the elvis ?: operator, better known as null coalescing operator ? you know, instead of
String firstName = user == null ? null : user.getFirstName()
i'd like to writeString firstName = user?:getFirstName()
I don't know if that counts as a new operator, since both chars already have a meaning