Re: [WebIDL] Assigning to constants

Cameron McCormack:
> > Yes. The properties set for IDL consts on the interface object, the
> > interface prototype object (or corresponding exception ones) should
> > all be ReadOnly.  (And the prototype is where the constant comes
> > from in the document.documentElement.ELEMENT_NODE case.)

Magnus Kristiansen:
> The last case isn't covered at the moment, since s14 of [[Put]] goes to  
> s24, skipping [[CanPut]] (which is the step that checks prototype chain  
> for readonly). It should instead go to s19.

Over-zealous optimisation on my part (fixed).

> However, at that point it's just doing what would happen at s15, so
> s14 can actually be removed.

Not as of the latest revision, I think?

> And two more issues I noticed:
> - Using an IndexSetter results in a return value (s7), the other returns  
> are void. Copypaste from [[Get]] maybe?

Yeah it shouldn’t be there (fixed).

> - [[HasProperty]] = true (s9-10) should go to s15, since s14 is  
> trivially false. This solves itself if s14 is removed per above.

It’s not false if [[HasProperty]] returned true because the property was
in the prototype chain rather than directly on the object, though.

-- 
Cameron McCormack ≝ http://mcc.id.au/

Received on Tuesday, 17 June 2008 07:16:15 UTC