Hello again,
I have a strange failure in the Delete method for objects (running 4.9).
When I do:
v8::Maybe<bool> delOk = obj->Delete(ctx,id);
I get the return value "false".
After stepping into V8 code, I see that it fails in
JSReceiver::DeleteProperty(LookupIterator*
it, LanguageMode language_mode), in this segment:
...
case LookupIterator::ACCESSOR: {
*if (!it->IsConfigurable() || receiver->map()->is_strong()) {*
// Fail if the property is not configurable, or on a strong object.
if (is_strict(language_mode)) {
MessageTemplate::Template templ =
receiver->map()->is_strong()
? MessageTemplate::kStrongDeleteProperty
: MessageTemplate::kStrictDeleteProperty;
isolate->Throw(*isolate->factory()->NewTypeError(
templ, it->GetName(), receiver));
return Nothing<bool>();
}
return Just(false);
...
I noticed that it->IsConfigurable() returns false. However, after checking
the property in my own code like this:
auto maybeAttr = obj->GetPropertyAttributes(ctx, id);
The attribute returns 2 (v8::DontEnum) only.
Is there any other reason, why the property looks non-deletable to V8?
--
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.