Problem in jdk8/tl: defined in an inaccessible class or interface

Vicente-Arturo Romero-Zaldivar vicente.romero at oracle.com
Wed Apr 3 05:09:17 PDT 2013


On 03/04/13 11:44, Maurizio Cimadamore wrote:
> Vicente,
> this seems to be caused by this change in TL
>
> http://hg.openjdk.java.net/jdk8/tl/langtools/rev/fa24eba012bd
>
> I believe that the removal of 'erasure' caused problems when eType is 
> a type-variable (as in this case).

Ok I will look into this,

Thanks for your mail,

Vicente

>
> Maurizio
>
> On 03/04/13 09:58, Maurizio Cimadamore wrote:
>> I believe this is a regression, I will look into this
>>
>> Maurizio
>>
>> On 31/03/13 20:35, Werner Dietl wrote:
>>> Take this simple example:
>>>
>>> public class IterableTest {
>>>      interface Data extends Iterable<String> { }
>>>
>>>      void test(Iterable<? extends Data> t) {
>>>          for(Object a: t.iterator().next());
>>>      }
>>> }
>>>
>>> It compiles without errors using javac 1.6.0_27, 1.7.0_15, and 1.8.0 
>>> b82.
>>> However, using the current jdk8/tl version results in:
>>>
>>> IterableTest.java:5: error: iterator() in Iterable is defined in an
>>> inaccessible class or interface
>>>          for(Object a: t.iterator().next());
>>>                                         ^
>>>    where T is a type-variable:
>>>      T extends Object declared in interface Iterable
>>> 1 error
>>>
>>> Is this a desired error?
>>> Can the error message be improved to highlight better what is wrong?
>>>
>>> Thanks for any help,
>>> cu, WMD.
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130403/8c5dd0a5/attachment-0001.html 


More information about the type-annotations-dev mailing list