Just out of curiousity, how does one reference an anonymous inner
class from JSNI (or do you mean Local classes?) Since it has no
concrete type name, the only thing I can think of referencing it via a
superclass/superinterface type, but surely you can't be talking about
deprecating that.

e.g.

public native void someJSNI(ClickListener foo) /*-{
   f...@x.y.clicklistener::onClick()();
}-*/;

Does this then count as an anonymous inner class reference?
someJSNI(new ClickListener() { public void onClick() { } });

-Ray

On Wed, Feb 11, 2009 at 11:19 AM, Scott Blum <sco...@google.com> wrote:
> Hi all,
> 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.
> Objections?
> Scott
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to