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

Re: Question about diamond-shaped patterns formed by "implements"

From: Cameron McCormack <cam@mcc.id.au>
Date: Thu, 07 Jun 2012 15:43:51 +1000
Message-ID: <4FD03F97.2000000@mcc.id.au>
To: Boris Zbarsky <bzbarsky@MIT.EDU>
CC: public-script-coord@w3.org
Boris Zbarsky:
> Consider these two testcases:
>
>    interface A { attribute long foo; };
>    interface B {};
>    interface C {};
>    interface D {};
>    D implements B;
>    D implements C;
>    B implements A;
>    C implements A;
>
> and
>
>    interface A { attribute long foo; } ;
>    interface B : A {};
>    interface C : A {};
>    interface D {};
>    D implements B;
>    D implements C;
>
> Are these legal WebIDL?

They both are.

> http://dev.w3.org/2006/webapi/WebIDL/#dfn-consequential-interfaces is
> unclear whether "consequential interfaces" is a list or a set.  In the
> former case, you get two copies of "foo" on D via the two different
> paths, and the constructs are invalid.  In the latter case, there is
> only one copy of A inolved and the constructs are valid...

It should be a set.  All of the members from consequential interfaces 
should be unioned together and become properties on the LHS interface's 
prototype object.

> In either case, the spec should probably be clarified (possibly
> including an example).

OK.
Received on Thursday, 7 June 2012 05:44:24 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 May 2013 19:30:06 UTC