Possible bug in detecting imports

Martijn Verburg martijnverburg at gmail.com
Tue Jan 31 03:05:01 PST 2012


Hi all,

Just to follow up on this, I've edited the issue below with some extra
information.

> 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:
>
> pcgen.cdom.enumeration.Type
>
> 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 class 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/4 on
> windows and OpenJDK b223-->227 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 that pcgen.cdom.enumeration.Type is as follows:
>
> // Compile error here as it thinks Type is java.awt.Window$Type
> thisPObject.addToListFor(ListKey.TYPE, Type.CUSTOM);
>
> If I change it to the following, it 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