@Lex or Scott,
  Can you review this mostly-deletion patch?

The attached patch cleans up how tag interfaces are implemented by
SingleJsoImpl types.

It is legal for any number of JSO subclasses to implement a tag
interface (one that implies no methods), so for simplicity's sake, it
is assumed that those interfaces are simply defined on
JavaScriptObject itself so that TypeTightener will just DTRT.
Previously, this assignment was done in JavaScriptObjectNormalizer,
but it's preferable to move the assignment into JTypeOracle because it
has to perform an identical calculation.  This new implementation also
fixes a bug where tag interfaces that extend tag interfaces would
result in unnecessary casts.

Diffstat:
 ast/JTypeOracle.java                 |    8    8 +     0 -     0 !
 impl/JavaScriptObjectNormalizer.java |   41    0 +     41 -    0 !
 2 files changed, 8 insertions(+), 41 deletions(-)

-- 
Bob Vawter
Google Web Toolkit Team

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

Attachment: single_jso_impl_tag_assignments_r4934.patch
Description: Binary data

Reply via email to