On Wed, Feb 11, 2009 at 2:19 PM, Scott Blum <sco...@google.com> wrote:
> Some of our future plans for speeding up hosted mode significantly involve > using class files already compiled by javac or an IDE rather than always > compiling everything fresh from source. However, we've run into some > problems where different compilers can follow different conventions on how > anonymous classes are handled. > > This is causing difficulties in two specific areas: > 1) Modeling anonymous inner classes in TypeOracle. > 2) Referencing anonymous inner classes from JSNI. > > I propose that we deprecate both of these features in 1.6, and remove them > in 2.0. We were able to support this in the past by having complete control > of the compiler toolchain (JDT only) at the cost of a lot of runtime > overhead. But looking back, I now question the wisdom of allowing > references to things that, by definition, don't even have a name. > I think removing JSNI references to anonymous classes is fine, but I am not sure about removing them from TypeOracle. I think a generator can already not rely on the generated classname so I don't see a problem if there is further variability, but it should be able to know that it exists. I believe some code currently uses anonymous classes for Messages interfaces, and it would seem bad to break that without good reason. While we are on the subject, I think we should choose either source or binary names for JSNI rather than allowing both. -- John A. Tamplin Software Engineer (GWT), Google --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---