Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8008751

NPE at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 8
    • 8
    • tools
    • None
    • Verified

      Type Annotation on array level in nested class of anonymous class results in NPE at
      com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:792)

      Test case attached.

      Full stack trace:

      ---------- javac ----------
      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.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:792)
      at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.findPosition(TypeAnnotations.java:1083)
      at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitAnnotatedType(TypeAnnotations.java:1022)
      at com.sun.tools.javac.tree.JCTree$JCAnnotatedType.accept(JCTree.java:2330)
      at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
      at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135)
      at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:1003)
      at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:828)
      at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
      at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135)
      at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
      at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:898)
      at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:686)
      at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
      at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135)
      at com.sun.tools.javac.code.TypeAnnotations$1.enterAnnotation(TypeAnnotations.java:92)
      at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:140)
      at com.sun.tools.javac.comp.MemberEnter.visitVarDef(MemberEnter.java:693)
      at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:828)
      at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:419)
      at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:431)
      at com.sun.tools.javac.comp.MemberEnter.finishClass(MemberEnter.java:441)
      at com.sun.tools.javac.comp.MemberEnter.finish(MemberEnter.java:1233)
      at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1085)
      at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434)
      at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:875)
      at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:855)
      at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:686)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:646)
      at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2108)
      at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1491)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
      at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:303)
      at com.sun.tools.javac.comp.DeferredAttr$1.complete(DeferredAttr.java:235)
      at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:202)
      at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:190)
      at com.sun.tools.javac.comp.Resolve$MethodResultInfo.check(Resolve.java:823)
      at com.sun.tools.javac.comp.Resolve$2.argumentsAcceptable(Resolve.java:703)
      at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:567)
      at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1256)
      at com.sun.tools.javac.comp.Resolve.findMethodInScope(Resolve.java:1425)
      at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1497)
      at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1469)
      at com.sun.tools.javac.comp.Resolve.findFun(Resolve.java:1633)
      at com.sun.tools.javac.comp.Resolve$6.lookup(Resolve.java:2130)
      at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:2834)
      at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:2819)
      at com.sun.tools.javac.comp.Resolve.resolveMethod(Resolve.java:2127)
      at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:2957)
      at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1969)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
      at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1800)
      at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1440)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
      at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:626)
      at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1572)
      at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1271)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:646)
      at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:662)
      at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1119)
      at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:884)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:646)
      at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1021)
      at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:771)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:646)
      at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4083)
      at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3991)
      at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3925)
      at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3899)
      at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1256)
      at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:909)
      at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:868)
      at com.sun.tools.javac.main.Main.compile(Main.java:506)
      at com.sun.tools.javac.main.Main.compile(Main.java:365)
      at com.sun.tools.javac.main.Main.compile(Main.java:354)
      at com.sun.tools.javac.main.Main.compile(Main.java:345)
      at com.sun.tools.javac.Main.compile(Main.java:77)
      at com.sun.tools.javac.Main.main(Main.java:62)

      Output completed (1 sec consumed)

            jfranck Joel Borggrén-Franck (Inactive)
            ssides Steve Sides
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: