^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)
======================================================================
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)
======================================================================
- duplicates
-
JDK-4069861 class literal in if statement with empty body causes NullPointerException.
-
- Closed
-