W3C home > Mailing lists > Public > public-script-coord@w3.org > April to June 2011

[Bug 12845] Disallow shadowing attributes

From: <bugzilla@jessica.w3.org>
Date: Wed, 08 Jun 2011 00:11:22 +0000
To: public-script-coord@w3.org
Message-Id: <E1QU6Mk-0005QQ-34@jessica.w3.org>

--- Comment #18 from Allen Wirfs-Brock <allen@wirfs-brock.com> 2011-06-08 00:11:21 UTC ---
(In reply to comment #16)
> Behavior is unspecified by types in such systems, and definitely in WebIDL.
> Can't write checks that WebIDL can't cash.
> Why is behavior an issue here? Bad behavior can happen lots of ways. We don't
> try to stop it by outlawing expressiveness along any given axis.
> /be

I think there were two actual issues at the beginning of this thread. First,if
a super-interface says some attribute (property in JS terms) is readonly can an
interface derived from it make that same attribute read/write.  The answer
should be yes.  Adding write behavior is a specialization which is valid
subtyping behavior.  (this seems like a WebIDL question that should be
independent of language bindings)

The second issue is how does this map to JS if the attributes correspond to JS
accessor properties as JS can't define an accessor set function without also
defining its get function. This is presumably an issue for the WebIDL
ECMAScript binding.  My suggest is that the answer is that an implementation of
the derived writable interface must also implement the required inherited read
behavior.  It can do this either by making the get side of the accessor
delegate to the over-ridden get implementation or by providing a new get-side
implementation that does the required.  It really seems more like an
implementation decision rather than something that needs to be specified in the
Es binding.

Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Received on Wednesday, 8 June 2011 00:11:27 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:03 UTC