[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.tools.jdt] Re: Annotations in Eclipse (Europa)

"David Goodenough" <david.goodenough@xxxxxxxxxxxxx> wrote in message 
news:fbr3kt$ai3$2@xxxxxxxxxxxxxxxxxxxx
> Would I be better off writing to the Java5 version, or do you think
> (assuming 3.3.1) that the Java6 stuff is sufficiently complete to use?

There are two Java 6 implementations in Eclipse, which share some code.  One 
implementation is used to support the Eclipse batch-mode compiler, that is, 
the one that you get if you use "java -jar ecj.jar ..." instead of "javac 
...".  This one is in pretty solid shape, definitely comparable to javac.

The other is used to support compilation within the IDE, so it's the one 
most people see.  Unfortunately this one is also the one with the most 
holes.  It's good enough for people to start exploring writing processors to 
the Java 6 interface, which was the main goal; but even in 3.3.1 it's very 
easy to hit UnsupportedOperationException("Not Yet Implemented").

With regard to the holes in the IDE implementation: the typesystem code 
(javax.lang.model.* packages) is shared between both implementations, so it 
is very solid.  The Messager implementation is reasonable.  Dispatch 
(calling the right processor on the right files at the right time) is solid, 
but it's missing a lot of niceties, such as the ability to locate processors 
on the Java Build Path.  The Filer implementation is the weakest link; it 
has a lot of missing methods.

  -Walter Harley
   JDT APT team