« Bugzilla Issues Index
#3251 — Assertion fails in CreateDataProperty
- bug_id:
3251
- creation_ts:
2014-09-30 06:49:00 -0700
- short_desc:
Assertion fails in CreateDataProperty
- delta_ts:
2015-07-10 08:34:25 -0700
- product:
Draft for 6th Edition
- component:
technical issue
- version:
Rev 27: August 24, 2014 Draft
- rep_platform:
All
- op_sys:
All
- bug_status:
RESOLVED
- resolution:
INVALID
- priority:
Normal
- bug_severity:
normal
- everconfirmed:
true
- reporter:
Erik Arvidsson
- assigned_to:
Allen Wirfs-Brock
- cc:
["andrebargull", "erik.arvidsson"]
- commentid:
10252
- comment_count:
0
- who:
Erik Arvidsson
- bug_when:
2014-09-30 06:49:44 -0700
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-createdataproperty
I believe we can get here with a primitive. It can happen when `super.x = 1` is executed where we have [[This]] as a primitive (strict function) and [[HomeObject]].__proto__ has no x property.
PutValue calls [[Set]] of /base/ passing 'x', 1, and a primitive as the /Receiver/
Then in https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver, step 5.f.i calls CreateDataProperty with a primitive value, 'x' and 1.
- commentid:
10253
- comment_count:
1
- who:
André Bargull
- bug_when:
2014-09-30 08:18:18 -0700
9.1.9 [[Set]], step 5.b handles the case when `Receiver` is a primitive value.
- commentid:
10254
- comment_count:
2
- who:
Erik Arvidsson
- bug_when:
2014-09-30 08:32:00 -0700
Thanks André.