This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 20528 - Definition of [[Prototype]] for the interface prototype object is confusing
Summary: Definition of [[Prototype]] for the interface prototype object is confusing
Status: RESOLVED FIXED
Alias: None
Product: WebAppsWG
Classification: Unclassified
Component: WebIDL (show other bugs)
Version: unspecified
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Cameron McCormack
QA Contact: public-webapps-bugzilla
URL:
Whiteboard: [v1]
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-28 12:02 UTC by Ms2ger
Modified: 2013-08-04 06:49 UTC (History)
3 users (show)

See Also:


Attachments

Description Ms2ger 2012-12-28 12:02:08 UTC
> The interface prototype object for a given interface A MUST have
> an internal [[Prototype]] property whose value is as follows:
>
> 1.  If A is declared with the [NamedPropertiesObject] extended
>     attribute, then the value of the internal [[Prototype]]
>     property of A is the named properties object for A, as defined
>     in section 4.4.4 below.
> 2.  Otherwise, if A is not declared to inherit from another
>     interface, then the value of the internal [[Prototype]]
>     property of A is the Array prototype object ([ECMA-262],
>     section 15.4.4) if the interface was declared with
>     [ArrayClass], or the Object prototype object otherwise
>     ([ECMA-262], section 15.2.4).
> 3.  Otherwise, the value of the internal [[Prototype]] property of
>     A is the interface prototype object for the inherited interface.

refers repeatedly to "the internal [[Prototype]] property of A", but A is an interface.

IMO, it would make more sense to structure this part as:

> The interface prototype object for a given interface A MUST have
> an internal [[Prototype]] property whose value is returned by the
> following steps:
>
> 1.  If A is declared with the [NamedPropertiesObject] extended
>     attribute, return the named properties object for A, as
>     defined in section 4.4.4 below.
> 2.  ...
> 3.  ...