javac NullPointerException
Vicente-Arturo Romero-Zaldivar
vicente.romero at oracle.com
Thu Sep 12 01:28:11 PDT 2013
Hi Michael,
Thanks for the bug report but it's not reproducible in TL
(http://hg.openjdk.java.net/jdk8/tl)
This should be fixed in next builds,
Vicente.
On 12/09/13 03:09, Michael Hixson wrote:
> Hello,
>
> This program makes javac crash. I'm using the Windows x64 build of
> b106 from http://jdk8.java.net/download.html
>
> package hello;
>
> import java.util.List;
> import java.util.concurrent.CompletableFuture;
> import java.util.stream.Collectors;
> import java.util.stream.Stream;
>
> public class TestJavac {
> public static void main(String[] args) {
> CompletableFuture<String> f = CompletableFuture.supplyAsync(() -> "");
> Stream.of(f).collect(Collectors.collectingAndThen(
> Collectors.toList(),
> TestJavac::toFutureList));
> }
>
> static <T> CompletableFuture<List<T>> toFutureList(
> Iterable<CompletableFuture<T>> futures) {
> return null;
> }
> }
>
> C:\Development\j8tests\src\main\java\hello>C:\java\java8\bin\javac.exe
> TestJavac.java
> An exception has occurred in the compiler (1.8.0-ea). Please file a
> bug at the Java Developer Connection
> (http://java.sun.com/webapps/bugreport) after checking the Bug Parade
> for duplicates. Include
> your program and the following diagnostic in your report. Thank you.
> java.lang.NullPointerException
> at com.sun.tools.javac.code.Types.makeFunctionalInterfaceClass(Types.java:638)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$TranslationContext.<init>(LambdaToMethod.java:1668)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext.<init>(LambdaToMethod.java:1881)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.makeReferenceContext(LambdaToMethod.java:1622)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitReference(LambdaToMethod.java:1333)
> at com.sun.tools.javac.tree.JCTree$JCMemberReference.accept(JCTree.java:1961)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
> at com.sun.tools.javac.tree.TreeTranslator.visitApply(TreeTranslator.java:275)
> at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1459)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
> at com.sun.tools.javac.tree.TreeTranslator.visitApply(TreeTranslator.java:275)
> at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1459)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.tree.TreeTranslator.visitExec(TreeTranslator.java:245)
> at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1290)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
> at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:162)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitBlock(LambdaToMethod.java:1123)
> at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:903)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.tree.TreeTranslator.visitMethodDef(TreeTranslator.java:145)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitMethodDef(LambdaToMethod.java:1233)
> at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:772)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
> at com.sun.tools.javac.tree.TreeTranslator.visitClassDef(TreeTranslator.java:134)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitClassDef(LambdaToMethod.java:1160)
> at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:687)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.analyzeAndPreprocessClass(LambdaToMethod.java:1113)
> at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.access$300(LambdaToMethod.java:1083)
> at com.sun.tools.javac.comp.LambdaToMethod.visitClassDef(LambdaToMethod.java:218)
> at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:687)
> at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at com.sun.tools.javac.comp.LambdaToMethod.translate(LambdaToMethod.java:183)
> at com.sun.tools.javac.comp.LambdaToMethod.translate(LambdaToMethod.java:176)
> at com.sun.tools.javac.comp.LambdaToMethod.translateTopLevelClass(LambdaToMethod.java:203)
> at com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1465)
> at com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1350)
> at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:900)
> at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:859)
> at com.sun.tools.javac.main.Main.compile(Main.java:523)
> at com.sun.tools.javac.main.Main.compile(Main.java:381)
> at com.sun.tools.javac.main.Main.compile(Main.java:370)
> at com.sun.tools.javac.main.Main.compile(Main.java:361)
> at com.sun.tools.javac.Main.compile(Main.java:64)
> at com.sun.tools.javac.Main.main(Main.java:50)
>
> -Michael
>
More information about the lambda-dev
mailing list