RFR 8171981: JShell: Fails compilation: new Object().getClass().getSuperclass()
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Mon Jan 9 15:30:01 UTC 2017
Now that I think about it - in case where an intersection type is found,
I think it would be great if jshell reported some kind of message like:
found possible types: A, B
defaulting to: A
(please use an explicit type if the default choice is invalid)
What do you think?
Maurizio
On 09/01/17 11:10, Maurizio Cimadamore wrote:
> Looks good. As we discussed privately, on lines 177 and 186, I think
> we want to use List.map instead of List.stream().map(). Note that
> List.map returns the original instance if map() doesn't change any of
> the elements, which then enables a simpler == comparison. This seems
> like a mistake in the JEP-286 code.
>
> Maurizio
>
>
> On 08/01/17 20:22, Robert Field wrote:
>> Please review....
>>
>> Bug:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8171981
>>
>> Webrev:
>>
>> http://cr.openjdk.java.net/~rfield/8171981v0.webrev/
>>
>> Notes:
>>
>> There were two different mechanisms for determining type: one used in
>> evaluation and one available in the API. Both had
>> limitations/problems. Both used TypePrinter which was the cause of
>> the reported problem.
>>
>> I've unified handling, discarded both old approaches, using a visitor
>> instead.
>> I've separated var type name determination (used in code generation
>> -- no type variables) from other type printing (used in docs).
>> Adopted Maurizo's handling of captured types.
>> Added debugging support for wraps.
>> Added lots more tests, including tests inspired by JEP-286. All new
>> tests, test both entry-points.
>> Thanks Maurizio and Dan!
>>
>
More information about the kulla-dev
mailing list