Do you have any numbers of how much this shrinks compiled output, as this
seems like a terrific change!  Thanks for doing it :-).

           Cheers,

                   Emily

On Fri, Feb 6, 2009 at 1:21 PM, BobV <b...@google.com> wrote:

>
> On Thu, Feb 5, 2009 at 12:28 AM, BobV <b...@google.com> wrote:
> >
> http://google-web-toolkit.googlecode.com/svn/changes/bobv/elide_rpc_type_names_r4602
> > Future changes:
> >  - A compiler flag or optional module to neuter Class.getName().
>
> I've added an -XdisableClassMetadata flag to this branch.
>
> This disables:
>  - Class.getName() -> returns "Class$<hashCode()>"
>  - Class.getSuperclass() -> returns null
>  - Class.toString() -> returns Object.toString()
>
> You can still use class.getName() as an equality comparison, but not
> for anything that requires semantic meaning; the relationships between
> the strings will be constant throughout the lifetime of the module.
>
> A.class == A.class != B.class
> A.class.getName() == A.class.getName() != B.class.getName()
>
> With this flag enabled, class literal setup for non-enum types is a
> simple JS new operation.  It reduces the total amount of code
> generated in a showcase compile by 10% based on "find war -name
> '*.cache.html' -o -name '*.cache.js' | xargs wc".
>
> --
> Bob Vawter
> Google Web Toolkit Team
>
> >
>


-- 
"There are only 10 types of people in the world: Those who understand
binary, and those who don't"

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

Reply via email to