Description
There is currently a bug in the Eclipse IDE which can cause some control compilations to fail.
See: https://bugs.eclipse.org/bugs/show_bug.cgi?id=155115
Unfortunately this bug will not be fixed until at least the 3.2.2 or 3.3 Eclipse release later this year or next.
This typically happens when a control in a jar file is extended. That is:
IN JAR:
Control A
Control B extends A
IN SOURCE:
Control C extends B
If an annotation processor then attempts to look up C's superclass hierarchy and read the
annotation values, any Class values in annotations on classes in the jar file
(binary bindings) will be unresolved and will thus have defective
qualifiedName, etc.
One example of how this manifests itself is when EventSets (or any other inner class controls type) is used.
If Control C extends an EventSet from either Control A or B, the com.sun.mirror.declaration.TypeDeclaration.getQualifiedName() method will return the following when the TypeDeclaration in question is for Control C:
ControlC.MyEventSet
But when APT starts processing the inherited event sets, say for Control B, the following is returned:
ControlB$MyEventSet
The end result is that compilation fails because the inner class event set names do not match. I plan on exploring if there is a workaround available for this issue until Eclipse resolves thier bug.