[lvti] Possible compiler bug
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Mon Jun 26 11:20:54 UTC 2017
This should be fixed now.
Thanks
Maurizio
On 25/06/17 21:48, Maurizio Cimadamore wrote:
> Thanks - I'll look into this - seems like the rule for rejecting
> self-references is bleeding into wrong places.
>
> I'll also correct the error messages - thanks for noticing
>
> Maurizio
>
>
> On 25/06/17 11:36, Tagir Valeev wrote:
>> Hello! The following code is not compilable in [lvti] branch, but it
>> should
>> be, to my opinion:
>>
>> public class LvtiBug {
>> int x() { return 0; }
>>
>> void test() {
>> var x = x();
>> }
>> }
>>
>> $ javac LvtiBug.java
>> LvtiBug.java:5: error: cannot infer type for local variable x
>> var x = x();
>> ^
>> (cannot use 'val' on self-referencing variable)
>> 1 error
>>
>> Also, I believe, the message should have 'var', not 'val':
>>
>> diff -r a7aba322684f
>> src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
>>
>> ---
>> a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
>>
>> Fri
>> Jun 23 11:47:57 2017 +0100
>> +++
>> b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
>>
>> Sun
>> Jun 25 17:34:47 2017 +0700
>> @@ -1205,7 +1205,7 @@
>> variable initializer is ''null''
>>
>> compiler.misc.local.missing.init=\
>> - cannot use ''val'' on variable without initializer
>> + cannot use ''var'' on variable without initializer
>>
>> compiler.misc.local.lambda.missing.target=\
>> lambda expression needs an explicit target-type
>> @@ -1217,7 +1217,7 @@
>> array initializer needs an explicit target-type
>>
>> compiler.misc.local.self.ref=\
>> - cannot use ''val'' on self-referencing variable
>> + cannot use ''var'' on self-referencing variable
>>
>> compiler.misc.local.non.denotable=\
>> inferred type is non denotable
>>
>> With best regards,
>> Tagir Valeev
>
More information about the amber-dev
mailing list