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

javac throws an exception on illegal type expressions

XMLWordPrintable

    • generic, x86
    • generic, windows_nt

      Some of illegal type expression causes javac to throw an exception.

      public class InvalidTypeExpr {
        void[] iz = new void[4];
      }

      % javac InvalidTypeExpr.java
      sun.tools.java.CompilerError: codeValue
              at sun.tools.tree.NewArrayExpression.codeValue(NewArrayExpression.java)
              at sun.tools.tree.AssignExpression.code(AssignExpression.java)
              at sun.tools.tree.CommaExpression.code(CommaExpression.java)
              at sun.tools.tree.ExpressionStatement.code(ExpressionStatement.java)
              at sun.tools.javac.SourceField.code(SourceField.java)
              at sun.tools.javac.SourceField.code(SourceField.java)
              at sun.tools.javac.SourceClass.compileClass(SourceClass.java:1142)
              at sun.tools.javac.SourceClass.compile(SourceClass.java:1093)
              at sun.tools.javac.Main.compile(Main.java:319)
              at sun.tools.javac.Main.main(Main.java:456)
      InvalidTypeExpr.java:0: class
      InvalidTypeExpr:InvalidTypeExpr()@sun.tools.java.CompilerError: codeValue
      public class InvalidTypeExpr {
      ^
      1 error


      public class InvalidTypeExpr_2 {
        void[] iz = (void[])new void[4];
      }
      % javac InvalidTypeExpr_2.java
      java.lang.NullPointerException
              at sun.tools.tree.ArrayAccessExpression.copyInline(ArrayAccessExpression.java)
              at sun.tools.tree.BinaryExpression.copyInline(BinaryExpression.java)
              at sun.tools.tree.MethodExpression.makeVarInits(MethodExpression.java)
              at sun.tools.tree.MethodExpression.checkValue(MethodExpression.java)
              at sun.tools.tree.MethodExpression.check(MethodExpression.java)
              at sun.tools.tree.ExpressionStatement.check(ExpressionStatement.java)
              at sun.tools.tree.CompoundStatement.check(CompoundStatement.java)
              at sun.tools.tree.Statement.checkMethod(Statement.java)
              at sun.tools.javac.SourceField.check(SourceField.java)
              at sun.tools.javac.SourceClass.checkFields(SourceClass.java:780)
              at sun.tools.javac.SourceClass.checkInternal(SourceClass.java:554)
              at sun.tools.javac.SourceClass.check(SourceClass.java:516)
              at sun.tools.javac.Main.compile(Main.java:306)
              at sun.tools.javac.Main.main(Main.java:456)
      error: An exception has occurred in the compiler; please file a bug report
      (###@###.###).
      1 error

            tturnidgsunw Todd Turnidge (Inactive)
            sishidasunw Shoji Ishida (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: