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

javac internal error: conditional statement involving reflection

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.1.7
    • tools
    • generic
    • generic

      ^X

      Name: igT44549 Date: 02/25/99


      Try compiling this source file with javac/JDK1.1.7:

      //File foo.java
      public class foo
      {
        public void bar(Object param)
        {
          if (Object.class == param.getClass()) {// do something}
        }
      }

      You'll get (at least, on blackdown linux jdk1.1.7v1a) the following:

      [resnick@rresnick f3]$ javac foo.java
      java.lang.NullPointerException
              at
      sun.tools.tree.ConditionalExpression.costInline(ConditionalExpression.java)
              at
      sun.tools.tree.BinaryExpression.costInline(BinaryExpression.java)
              at
      sun.tools.tree.ExpressionStatement.costInline(ExpressionStatement.java)
              at sun.tools.java.FieldDefinition.cleanup(FieldDefinition.java)
              at sun.tools.java.ClassDefinition.cleanup(ClassDefinition.java)
              at sun.tools.javac.Main.compile(Main.java)
              at sun.tools.javac.Main.main(Main.java)
      error: An exception has occurred in the compiler; please file a bug
      report (http://java.sun.com/cgi-bin/bugreport.cgi).
      1 error
      [resnick@rresnick f3]$


      It looks like an internal optimization within javac that's gone
      wrong. The problem involves reflection on an object passed
      in as a parameter to a method, inside a conditional if() statement.

      It appears NOT to be Linux/blackdown specific, but rather
      to be a bug in Sun's Java code, in javac.
      (Review ID: 54719)
      ======================================================================

            iris Iris Clark
            iris Iris Clark
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: