return 0;
}
- Property *setterLookup(Object *o, bool *writable) {
+ Property *setterLookup(Object *o, PropertyAttributes *attrs) {
if (o->internalClass == classList[0]) {
- *writable = o->internalClass->propertyData[index].isWritable();
+ *attrs = o->internalClass->propertyData[index];
return o->memberData + index;
}
if (idx != UINT_MAX) {
classList[0] = o->internalClass;
index = idx;
- *writable = o->internalClass->propertyData[index].isWritable();
+ *attrs = o->internalClass->propertyData[index];
return o->memberData + index;
}
return 0;
Object *o = object.toObject(ctx);
Lookup *l = ctx->lookups + lookupIndex;
- bool writable;
- Property *p = l->setterLookup(o, &writable);
+ PropertyAttributes attrs;
+ Property *p = l->setterLookup(o, &attrs);
if (p && (l->index != ArrayObject::LengthPropertyIndex || !o->isArrayObject())) {
- o->putValue(ctx, p, o->internalClass->propertyData[l->index], value);
+ o->putValue(ctx, p, attrs, value);
return;
}