Bob & Lex,

I just ran into an "interesting" error message while experimenting with some
JSO stuff that you might be able to shed some light on. First, here's the
error:

> InternalCompilerException: Already seen an implementing JSO subtype
(DocumentImpl) for interface (Node) while examining newly-added type
(ElementImpl). This is a bug in JSORestrictionsChecker.

The structure that triggered this is the following:

interface Node
interface Element extends Node
interface Document extends Node

class NodeImpl extends JSO implements Node
class ElementImpl extends NodeImpl implements Element
class DocumentImpl extends NodeImpl implements Document

At first glance, this would appear to anger the SingleJSO gods. However,
because NodeImpl contains implementations of all Node methods, there is no
actual ambiguity as to which method implementation to bind to. The "this is
a bug" wording in the error also raised my eyebrows a bit :)

If I'm correct about the lack of actual ambiguity here, it would seem that
the restrictions checker is just being a bit too aggressive. Do either of
you have any sense for how difficult it would be to fix this (and the
associated code in the compiler itself that generates the method dispatch
code)? I'm perfectly willing to dig into it myself, but thought you might be
able to provide a bit of context.

Thanks,
joel.

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

Reply via email to