mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-26 09:07:30 +09:00
1320408 - Part 15: Change NativeObject::addDataProperty to static method.
This commit is contained in:
parent
cc8cb910dd
commit
a2451c8234
6 changed files with 21 additions and 21 deletions
|
|
@ -4055,7 +4055,7 @@ AnalyzePoppedThis(JSContext* cx, ObjectGroup* group,
|
||||||
// Add the property to the object, being careful not to update type information.
|
// Add the property to the object, being careful not to update type information.
|
||||||
DebugOnly<unsigned> slotSpan = baseobj->slotSpan();
|
DebugOnly<unsigned> slotSpan = baseobj->slotSpan();
|
||||||
MOZ_ASSERT(!baseobj->containsPure(id));
|
MOZ_ASSERT(!baseobj->containsPure(id));
|
||||||
if (!baseobj->addDataProperty(cx, id, baseobj->slotSpan(), JSPROP_ENUMERATE))
|
if (!NativeObject::addDataProperty(cx, baseobj, id, baseobj->slotSpan(), JSPROP_ENUMERATE))
|
||||||
return false;
|
return false;
|
||||||
MOZ_ASSERT(baseobj->slotSpan() != slotSpan);
|
MOZ_ASSERT(baseobj->slotSpan() != slotSpan);
|
||||||
MOZ_ASSERT(!baseobj->inDictionaryMode());
|
MOZ_ASSERT(!baseobj->inDictionaryMode());
|
||||||
|
|
|
||||||
|
|
@ -2905,8 +2905,8 @@ StringObject::assignInitialShape(ExclusiveContext* cx, Handle<StringObject*> obj
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(obj->empty());
|
MOZ_ASSERT(obj->empty());
|
||||||
|
|
||||||
return obj->addDataProperty(cx, cx->names().length, LENGTH_SLOT,
|
return NativeObject::addDataProperty(cx, obj, cx->names().length, LENGTH_SLOT,
|
||||||
JSPROP_PERMANENT | JSPROP_READONLY);
|
JSPROP_PERMANENT | JSPROP_READONLY);
|
||||||
}
|
}
|
||||||
|
|
||||||
JSObject*
|
JSObject*
|
||||||
|
|
|
||||||
|
|
@ -29,11 +29,11 @@ js::ErrorObject::assignInitialShape(ExclusiveContext* cx, Handle<ErrorObject*> o
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(obj->empty());
|
MOZ_ASSERT(obj->empty());
|
||||||
|
|
||||||
if (!obj->addDataProperty(cx, cx->names().fileName, FILENAME_SLOT, 0))
|
if (!NativeObject::addDataProperty(cx, obj, cx->names().fileName, FILENAME_SLOT, 0))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
if (!obj->addDataProperty(cx, cx->names().lineNumber, LINENUMBER_SLOT, 0))
|
if (!NativeObject::addDataProperty(cx, obj, cx->names().lineNumber, LINENUMBER_SLOT, 0))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
return obj->addDataProperty(cx, cx->names().columnNumber, COLUMNNUMBER_SLOT, 0);
|
return NativeObject::addDataProperty(cx, obj, cx->names().columnNumber, COLUMNNUMBER_SLOT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ bool
|
/* static */ bool
|
||||||
|
|
@ -57,7 +57,7 @@ js::ErrorObject::init(JSContext* cx, Handle<ErrorObject*> obj, JSExnType type,
|
||||||
// |new Error()|.
|
// |new Error()|.
|
||||||
RootedShape messageShape(cx);
|
RootedShape messageShape(cx);
|
||||||
if (message) {
|
if (message) {
|
||||||
messageShape = obj->addDataProperty(cx, cx->names().message, MESSAGE_SLOT, 0);
|
messageShape = NativeObject::addDataProperty(cx, obj, cx->names().message, MESSAGE_SLOT, 0);
|
||||||
if (!messageShape)
|
if (!messageShape)
|
||||||
return false;
|
return false;
|
||||||
MOZ_ASSERT(messageShape->slot() == MESSAGE_SLOT);
|
MOZ_ASSERT(messageShape->slot() == MESSAGE_SLOT);
|
||||||
|
|
|
||||||
|
|
@ -996,23 +996,22 @@ NativeObject::freeSlot(ExclusiveContext* cx, uint32_t slot)
|
||||||
setSlot(slot, UndefinedValue());
|
setSlot(slot, UndefinedValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
Shape*
|
/* static */ Shape*
|
||||||
NativeObject::addDataProperty(ExclusiveContext* cx, jsid idArg, uint32_t slot, unsigned attrs)
|
NativeObject::addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||||
|
jsid idArg, uint32_t slot, unsigned attrs)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(!(attrs & (JSPROP_GETTER | JSPROP_SETTER)));
|
MOZ_ASSERT(!(attrs & (JSPROP_GETTER | JSPROP_SETTER)));
|
||||||
RootedNativeObject self(cx, this);
|
|
||||||
RootedId id(cx, idArg);
|
RootedId id(cx, idArg);
|
||||||
return addProperty(cx, self, id, nullptr, nullptr, slot, attrs, 0);
|
return addProperty(cx, obj, id, nullptr, nullptr, slot, attrs, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
Shape*
|
/* static */ Shape*
|
||||||
NativeObject::addDataProperty(ExclusiveContext* cx, HandlePropertyName name,
|
NativeObject::addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||||
uint32_t slot, unsigned attrs)
|
HandlePropertyName name, uint32_t slot, unsigned attrs)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(!(attrs & (JSPROP_GETTER | JSPROP_SETTER)));
|
MOZ_ASSERT(!(attrs & (JSPROP_GETTER | JSPROP_SETTER)));
|
||||||
RootedNativeObject self(cx, this);
|
|
||||||
RootedId id(cx, NameToId(name));
|
RootedId id(cx, NameToId(name));
|
||||||
return addProperty(cx, self, id, nullptr, nullptr, slot, attrs, 0);
|
return addProperty(cx, obj, id, nullptr, nullptr, slot, attrs, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <AllowGC allowGC>
|
template <AllowGC allowGC>
|
||||||
|
|
|
||||||
|
|
@ -741,10 +741,10 @@ class NativeObject : public ShapedObject
|
||||||
bool allowDictionary = true);
|
bool allowDictionary = true);
|
||||||
|
|
||||||
/* Add a data property whose id is not yet in this scope. */
|
/* Add a data property whose id is not yet in this scope. */
|
||||||
Shape* addDataProperty(ExclusiveContext* cx,
|
static Shape* addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||||
jsid id_, uint32_t slot, unsigned attrs);
|
jsid id_, uint32_t slot, unsigned attrs);
|
||||||
Shape* addDataProperty(ExclusiveContext* cx, HandlePropertyName name,
|
static Shape* addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||||
uint32_t slot, unsigned attrs);
|
HandlePropertyName name, uint32_t slot, unsigned attrs);
|
||||||
|
|
||||||
/* Add or overwrite a property for id in this scope. */
|
/* Add or overwrite a property for id in this scope. */
|
||||||
static Shape*
|
static Shape*
|
||||||
|
|
|
||||||
|
|
@ -300,7 +300,8 @@ RegExpObject::assignInitialShape(ExclusiveContext* cx, Handle<RegExpObject*> sel
|
||||||
JS_STATIC_ASSERT(LAST_INDEX_SLOT == 0);
|
JS_STATIC_ASSERT(LAST_INDEX_SLOT == 0);
|
||||||
|
|
||||||
/* The lastIndex property alone is writable but non-configurable. */
|
/* The lastIndex property alone is writable but non-configurable. */
|
||||||
return self->addDataProperty(cx, cx->names().lastIndex, LAST_INDEX_SLOT, JSPROP_PERMANENT);
|
return NativeObject::addDataProperty(cx, self, cx->names().lastIndex, LAST_INDEX_SLOT,
|
||||||
|
JSPROP_PERMANENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue