Possible bug in detecting imports

Martijn Verburg martijnverburg at gmail.com
Thu Jan 12 03:17:54 PST 2012


Hi all,

I've discovered what I think is a compilation/linking/classloading bug
in OpenJDK b223 / jdk7u2, but I thought I'd check here first before
submitting it (apologies if this is the wrong list!).

In one of my OSS projects (PCGen) we have some code which references a
constant in a pcgen.cdom.enumeration.Type class. However, the compiler
gets confused and thinks that reference is of type
java.awt.Window$Type (the public static enum within Window). The
pcgen.cdom.enumeration.Type is clearly imported and the
java.awt.Window and its java.awt.Window$Type enum are definitely not
imported or referenced in any other way.

The code compiles fine under JDK 1.6.0_29, I tried both JDK7u2 on
windows and OpenJDK b223 on Mac OS X. I haven't tried earlier versions
of OpenJDK or JDK7

The full signature of the pcgen.cdom.enumeration.Type class is: public
final class Type implements TypeSafeConstant, Comparable<Type>. The
code that references the pcgen.cdom.enumeration.Type is as follows:

thisPObject.addToListFor(ListKey.TYPE, Type.CUSTOM);

If I change it to the following, it then works:

thisPObject.addToListFor(ListKey.TYPE, pcgen.cdom.enumeration.Type.CUSTOM);

Is this something that people have seen previously reported?  Am I on
the wrong list?

Cheers,
Martijn



More information about the jdk7u-dev mailing list