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

declared bound in inner class referring a type variable of the outer class

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 7
    • 7
    • tools
    • b25
    • generic
    • generic
    • Not verified

      Description:
      Compiler crashes with an NPE for the following code:

      <code>
      class Outer<T extends Outer.Inner>{

           class Inner<S extends T>{

          }
      }
      </code>
      Compilation result is :
      <output>

      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:1802)
              at com.sun.tools.javac.comp.Check.checkNonCyclic1(Check.java:1486)
              at com.sun.tools.javac.comp.Check.checkNonCyclic1(Check.java:1487)
              at com.sun.tools.javac.comp.Check.checkNonCyclic(Check.java:1474)
              at com.sun.tools.javac.comp.Attr.attribTypeVariables(Attr.java:469)
              at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:904)
              at com.sun.tools.javac.code.Symbol.complete(Symbol.java:400)
              at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:777)
              at com.sun.tools.javac.code.Symbol$ClassSymbol.flags(Symbol.java:719)
              at com.sun.tools.javac.comp.Resolve.isAccessible(Resolve.java:195)
              at com.sun.tools.javac.comp.Resolve.findMemberType(Resolve.java:883)
              at com.sun.tools.javac.comp.Resolve.findIdentInType(Resolve.java:1049)
              at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:1988)
              at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1880)
              at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1651)
              at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:372)
              at com.sun.tools.javac.comp.Attr.attribType(Attr.java:402)
              at com.sun.tools.javac.comp.Attr.attribTypeVariables(Attr.java:458)
              at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:904)
              at com.sun.tools.javac.code.Symbol.complete(Symbol.java:400)
              at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:777)
              at com.sun.tools.javac.comp.Enter.complete(Enter.java:465)
              at com.sun.tools.javac.comp.Enter.main(Enter.java:443)
              at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:833)
              at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:741)
              at com.sun.tools.javac.main.Main.compile(Main.java:386)
              at com.sun.tools.javac.main.Main.compile(Main.java:312)
              at com.sun.tools.javac.main.Main.compile(Main.java:303)
              at com.sun.tools.javac.Main.compile(Main.java:82)
              at com.sun.tools.javac.Main.main(Main.java:67)

      </output>
      <version>
      /net/sqindia/export/disk09/jdk/7/latest/binaries/solsparc/bin/java -version
      java version "1.7.0-ea"
      Java(TM) SE Runtime Environment (build 1.7.0-ea-b24)
      Java HotSpot(TM) Client VM (build 12.0-b01, mixed mode)


      uname -a
      SunOS hrajan 5.10 Generic sun4u sparc SUNW,Sun-Blade-100

            mcimadamore Maurizio Cimadamore
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: