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

NPE in the rich formatter when processing an unattributed type-variable

    Details

    • Subcomponent:
    • Resolved In Build:
      b70
    • CPU:
      unknown
    • OS:
      generic
    • Verification:
      Verified

      Description

      I see NPE (introduced in JDK7-b62) in javac for the following source:

      --- test.java ---
      class test<T> extends T {}
      --- test.java ---


      $ /set/java/jdk6.0/solaris-sparc/bin/javac test.java
      test.java:1: unexpected type
      found : type parameter T
      required: class
      class test<T> extends T {}
                            ^
      1 error

      $ /set/java/re/jdk/7/promoted/ea/b61/binaries/solaris-sparc/bin/javac test.java
      test.java:1: unexpected type
      class test<T> extends T {}
                            ^
        required: class
        found: type parameter T
      1 error

      $ /set/java/re/jdk/7/promoted/ea/b62/binaries/solaris-sparc/bin/javac test.java
      An exception has occurred in the compiler (1.7.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.getBounds(Types.java:1859)
              at com.sun.tools.javac.util.RichDiagnosticFormatter$2.visitTypeVar(RichDiagnosticFormatter.java:506)
              at com.sun.tools.javac.util.RichDiagnosticFormatter$2.visitTypeVar(RichDiagnosticFormatter.java:422)
              at com.sun.tools.javac.code.Type$TypeVar.accept(Type.java:949)
              at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:3425)
              at com.sun.tools.javac.util.RichDiagnosticFormatter.preprocessType(RichDiagnosticFormatter.java:418)
              at com.sun.tools.javac.util.RichDiagnosticFormatter.preprocessArgument(RichDiagnosticFormatter.java:147)
              at com.sun.tools.javac.util.RichDiagnosticFormatter.preprocessDiagnostic(RichDiagnosticFormatter.java:130)
              at com.sun.tools.javac.util.RichDiagnosticFormatter.preprocessArgument(RichDiagnosticFormatter.java:153)
              at com.sun.tools.javac.util.RichDiagnosticFormatter.preprocessDiagnostic(RichDiagnosticFormatter.java:130)
              at com.sun.tools.javac.util.RichDiagnosticFormatter.format(RichDiagnosticFormatter.java:103)
              at com.sun.tools.javac.util.RichDiagnosticFormatter.format(RichDiagnosticFormatter.java:62)
              at com.sun.tools.javac.util.Log.writeDiagnostic(Log.java:367)
              at com.sun.tools.javac.util.Log.report(Log.java:344)
              at com.sun.tools.javac.util.AbstractLog.error(AbstractLog.java:92)
              at com.sun.tools.javac.comp.Check.typeTagError(Check.java:216)
              at com.sun.tools.javac.comp.Check.checkClassType(Check.java:490)
              at com.sun.tools.javac.comp.Check.checkClassType(Check.java:505)
              at com.sun.tools.javac.comp.Attr.checkBase(Attr.java:543)
              at com.sun.tools.javac.comp.Attr.attribBase(Attr.java:528)
              at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:851)
              at com.sun.tools.javac.code.Symbol.complete(Symbol.java:404)
              at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:793)
              at com.sun.tools.javac.comp.Enter.complete(Enter.java:468)
              at com.sun.tools.javac.comp.Enter.main(Enter.java:446)
              at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:902)
              at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:805)
              at com.sun.tools.javac.main.Main.compile(Main.java:400)
              at com.sun.tools.javac.main.Main.compile(Main.java:318)
              at com.sun.tools.javac.main.Main.compile(Main.java:309)
              at com.sun.tools.javac.Main.compile(Main.java:82)
              at com.sun.tools.javac.Main.main(Main.java:67)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mcimadamore Maurizio Cimadamore
                Reporter:
                mcimadamore Maurizio Cimadamore
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: