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 20455 - converting to an ECMAScript value [of a specified type??]
Summary: converting to an ECMAScript value [of a specified type??]
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-20 08:33 UTC by Michael Dyck
Modified: 2019-03-04 16:43 UTC (History)
3 users (show)

See Also:


Attachments

Description Michael Dyck 2012-12-20 08:33:03 UTC
[1]
In "4.4.1.1. Interface object [[Call]] method",
in algorithm 2,
step 6 says:
    Return the result of converting R to an ECMAScript interface type value I.

I think the phrase "an ECMAScript interface type value I" doesn't make sense.

The phrasing seems to establish 'I' as a metavariable for the value that
results from the conversion, but (a) there's no need for such a metavariable,
and (b) 'I' is already in use to refer to the interface.

If we assume that 'I' *is* still meant to refer to the interface, then the
nearest meaningful phrase I can think of is:
   a value of the interface type associated with interface I
but that's an IDL value (in fact, I believe it correctly describes 'R');
inserting "ECMAScript" makes no sense.

And anyway, the IDL->ECMAScript value conversion is completely determined
by the IDL value, so there's no need to give particulars about the "target"
of the conversion.

So I think the quoted step should be changed to just:
    Return the result of converting R to an ECMAScript value.

---
[2]
Ditto "4.4.2. Named constructors", alg 1, step 4.

---
[3]
Similarly in "4.4.7. Operations", bullet 3, step 6:
    Return the result of converting R to an ECMAScript value
    of the type op is declared to return.

For one thing, 'op' isn't defined; I assume 'operation' was intended. 
But 'operation' is an IDL operation, so the type it's declared to return
is an IDL type, and it doesn't make sense to talk about an ECMAScript value
of an IDL type. (Instead, *R* is presumably a value of that type.)
And again, IDL->ECMAScript conversion needs no particulars about the "target",
so I think you should just delete everything after "value".

---
[4]
Similarly in "4.6.5. Platform object [[Call]] method", step 4:
    Return the result of converting the return value from those actions
    to an ECMAScript value of the type operation is declared to return
    (or undefined if operation is declared to return void).

Delete everything after "ECMAScript value".
Comment 2 Michael Dyck 2019-03-04 16:43:18 UTC
Wow, that took a while! Thanks.