The context is during the compiler optimization loop, so this affects types that are actually reachable from your application. As the compile proceeds, this list shrinks down as we do more and more optimization & elimintation.
What this patch does is effectively rewrite certain cast operations from an abstract type to a concrete type, if we have determined that there's only one possible concrete subclass. For example, if CFoo is the only type in your program that implements the IFoo interface, then: (IFoo) someValue is equivalent to writing: (CFoo) someValue It's more useful to express this in terms of the more derived type, because you 'gain' local information by reason of global information. On Mon, Mar 1, 2010 at 5:47 PM, Bart Guijt <bgu...@gmail.com> wrote: > Scott/Ray, > > I like what you guys are squeezing out of the compiler! > > Just glancing over the sources doesn't give me a clear answer: This > particular patch, is it *only* checking for types which are actually used in > GWT client code? (e.g., what types are put in JTypeOracle?) > > Bart > > > Revision: 7636 > > Author: sco...@google.com > > Date: Mon Mar 1 09:59:34 2010 > > Log: Better cast optimization where only one concrete type exists. > > http://gwt-code-reviews.appspot.com/154807/show > > > > Review by: cromwellian > > > > http://code.google.com/p/google-web-toolkit/source/detail?r=7636 > > > > Modified: > > /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/TypeTightener.java > > -- > http://groups.google.com/group/Google-Web-Toolkit-Contributors > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors