この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

Java8u25がリリースされるもコンパイラのバグは解消されず

Java8u25がリリースされています。が…!!!

以前書いたコンパイラのバグ*1は依然として解消されず。


バグパレードを検索したら、まさに同じ問題が登録済みでした。コレ。
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8056984


Java8u20から導入された新機能『文字列重複除去』*2を早く試したくて堪らないわけですが、このバグのせいでお預けを喰らったままの今日このごろでございます。


この際、ecjに完全移行しちまおうかなぁ…


ecjでビルドすると

当然ながらコンパイルはできましたが、今度はJavadocでトラブルになりました。うへぇ。

クラス・ファイルC:\xxxxxxx\lib\indolently.jar(jp/root42/indolently/Indolently.class)は不正です
    型変数Tは宣言されていません
    削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
エラー2個
java.lang.AssertionError: annotation tree hasn't been attributed yet: @Generated(value = {"class:XYZ"})
    at com.sun.tools.javac.util.Assert.error(Assert.java:133)
    at com.sun.tools.javac.util.Assert.checkNonNull(Assert.java:118)
    at com.sun.tools.javac.comp.Check.validateTypeAnnotation(Check.java:2795)
    at com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.visitAnnotation(Attr.java:4462)
    at com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2317)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
    at com.sun.tools.javac.tree.TreeScanner.visitModifiers(TreeScanner.java:315)
    at com.sun.tools.javac.tree.JCTree$JCModifiers.accept(JCTree.java:2343)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.visitClassDef(Attr.java:4543)
    at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:693)
    at com.sun.tools.javac.comp.Attr.validateTypeAnnotations(Attr.java:4451)
    at com.sun.tools.javac.code.TypeAnnotations$2.run(TypeAnnotations.java:142)
    at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:155)
    at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:129)
    at com.sun.tools.javac.comp.Enter.complete(Enter.java:512)
    at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
    at com.sun.tools.javadoc.JavadocEnter.main(JavadocEnter.java:78)
    at com.sun.tools.javadoc.JavadocTool.getRootDocImpl(JavadocTool.java:186)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:346)
    at com.sun.tools.javadoc.Start.begin(Start.java:219)
    at com.sun.tools.javadoc.Start.begin(Start.java:205)
    at com.sun.tools.javadoc.Main.execute(Main.java:64)
    at com.sun.tools.javadoc.Main.main(Main.java:54)
javadoc: エラー - 致命的エラー