b73: IllegalAccessError: tried to access class java.util.stream.BaseStream
Paul Sandoz
paul.sandoz at oracle.com
Wed Jan 16 07:51:11 PST 2013
On Jan 16, 2013, at 4:17 PM, Dmitry Bessonov <dmitry.bessonov at oracle.com> wrote:
>
> import java.util.Arrays;
> import java.util.stream.Stream;
>
> public class IllegalAccessErrorTest {
>
> public static void main(String[] args) {
>
> Stream stream = Arrays.asList("a", "b").stream();
> System.err.println("iterator = " + stream.iterator());
> Iterable iterable = stream::iterator;
> System.err.println("iterable = " + iterable);
> }
> }
>
> when compiled/run on b73 the output is:
>
>
> iterator = java.util.stream.ReferencePipeline$6 at 3256a5
> Exception in thread "main" java.lang.IllegalAccessError: tried to access
> class java.util.stream.BaseStream from class IllegalAccessErrorTest
> at IllegalAccessErrorTest.main(IllegalAccessErrorTest.java:10)
>
Interesting. BaseStream was made package private.
Looks like a bug in the runtime translation of the method reference.
Paul.
>
> with b72 no exceptions are seen
>
> -Dmitry
>
>
More information about the lambda-dev
mailing list