Gngngngngngngn. Eclipse 3.2M4 was getting so annoying with its bugs (and because I couldn't make AspectJ plugin work with it, even by using the appropriate version) that I swtiched back to Eclipse 3.1.2 today. At first I was glad: the IDE is much faster, I have less issues than earlier… but I ran into a compiler bug. Here is a kind of declaration I use with Fuse:
@InjectedResource private Color backgroundColor, foregroundColor, ...;
I usually never use this style but with Fuse I end up using many lines of code by having the annotation on one line and the field on a second line. As I am not modifying the fields in my code, I decided to compact them into a single declaration. This compiles with with javac and Eclipse 3.2M4… but Eclipse 3.1.2 applies the annotation only to the first declared field.
So that's definitely it, I wasted way too much time with Eclipse. Welcome NetBeans 5.0 and IntelliJIDEA 5.1 (more on the latter in a future blog entry.)