@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 -~----------~----~----~----~------~----~------~--~---
single_jso_impl_tag_assignments_r4934.patch
Description: Binary data
