Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index bd9e4abe71354c1936cb5bac273dfa645fc2a0cb..dc5b56e8c0af18e0b246bfc6acec5aaf26648b4d 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1841,16 +1841,23 @@ class JSObject: public JSReceiver { |
MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithInterceptor( |
LookupIterator* it, Handle<Object> value); |
+ // SetLocalPropertyIgnoreAttributes converts callbacks to fields. We need to |
+ // grant an exemption to ExecutableAccessor callbacks in some cases. |
+ enum ExecutableAccessorInfoHandling { DEFAULT_HANDLING, DONT_FORCE_FIELD }; |
+ |
MUST_USE_RESULT static MaybeHandle<Object> SetOwnPropertyIgnoreAttributes( |
Handle<JSObject> object, Handle<Name> name, Handle<Object> value, |
- PropertyAttributes attributes); |
+ PropertyAttributes attributes, |
+ ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); |
MUST_USE_RESULT static MaybeHandle<Object> SetOwnElementIgnoreAttributes( |
Handle<JSObject> object, uint32_t index, Handle<Object> value, |
- PropertyAttributes attributes); |
+ PropertyAttributes attributes, |
+ ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); |
MUST_USE_RESULT static MaybeHandle<Object> ReconfigureAsDataProperty( |
- LookupIterator* it, Handle<Object> value, PropertyAttributes attributes); |
+ LookupIterator* it, Handle<Object> value, PropertyAttributes attributes, |
+ ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); |
static void AddProperty(Handle<JSObject> object, Handle<Name> name, |
Handle<Object> value, PropertyAttributes attributes); |