| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 9dda198e13abfb432e466a98c6251a25443760ab..59201653ce7b18df2d2baaf87a3bcadd02120b4e 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -1960,10 +1960,14 @@ class JSReceiver: public HeapObject {
|
| StrictMode strict_mode);
|
|
|
| // Implementation of [[HasProperty]], ECMA-262 5th edition, section 8.12.6.
|
| - static inline bool HasProperty(Handle<JSReceiver> object, Handle<Name> name);
|
| - static inline bool HasOwnProperty(Handle<JSReceiver>, Handle<Name> name);
|
| - static inline bool HasElement(Handle<JSReceiver> object, uint32_t index);
|
| - static inline bool HasOwnElement(Handle<JSReceiver> object, uint32_t index);
|
| + MUST_USE_RESULT static inline Maybe<bool> HasProperty(
|
| + Handle<JSReceiver> object, Handle<Name> name);
|
| + MUST_USE_RESULT static inline Maybe<bool> HasOwnProperty(Handle<JSReceiver>,
|
| + Handle<Name> name);
|
| + MUST_USE_RESULT static inline Maybe<bool> HasElement(
|
| + Handle<JSReceiver> object, uint32_t index);
|
| + MUST_USE_RESULT static inline Maybe<bool> HasOwnElement(
|
| + Handle<JSReceiver> object, uint32_t index);
|
|
|
| // Implementation of [[Delete]], ECMA-262 5th edition, section 8.12.7.
|
| MUST_USE_RESULT static MaybeHandle<Object> DeleteProperty(
|
| @@ -1985,20 +1989,17 @@ class JSReceiver: public HeapObject {
|
| // function that was used to instantiate the object).
|
| String* constructor_name();
|
|
|
| - static inline PropertyAttributes GetPropertyAttributes(
|
| - Handle<JSReceiver> object,
|
| - Handle<Name> name);
|
| - static PropertyAttributes GetPropertyAttributes(LookupIterator* it);
|
| - static PropertyAttributes GetOwnPropertyAttributes(
|
| - Handle<JSReceiver> object,
|
| - Handle<Name> name);
|
| + MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetPropertyAttributes(
|
| + Handle<JSReceiver> object, Handle<Name> name);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes> GetPropertyAttributes(
|
| + LookupIterator* it);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes> GetOwnPropertyAttributes(
|
| + Handle<JSReceiver> object, Handle<Name> name);
|
|
|
| - static inline PropertyAttributes GetElementAttribute(
|
| - Handle<JSReceiver> object,
|
| - uint32_t index);
|
| - static inline PropertyAttributes GetOwnElementAttribute(
|
| - Handle<JSReceiver> object,
|
| - uint32_t index);
|
| + MUST_USE_RESULT static inline Maybe<PropertyAttributes> GetElementAttribute(
|
| + Handle<JSReceiver> object, uint32_t index);
|
| + MUST_USE_RESULT static inline Maybe<PropertyAttributes>
|
| + GetOwnElementAttribute(Handle<JSReceiver> object, uint32_t index);
|
|
|
| // Return the constructor function (may be Heap::null_value()).
|
| inline Object* GetConstructor();
|
| @@ -2198,17 +2199,16 @@ class JSObject: public JSReceiver {
|
| InterceptorInfo* GetIndexedInterceptor();
|
|
|
| // Used from JSReceiver.
|
| - static Maybe<PropertyAttributes> GetPropertyAttributesWithInterceptor(
|
| - Handle<JSObject> holder,
|
| - Handle<Object> receiver,
|
| - Handle<Name> name);
|
| - static PropertyAttributes GetPropertyAttributesWithFailedAccessCheck(
|
| - LookupIterator* it);
|
| - static PropertyAttributes GetElementAttributeWithReceiver(
|
| - Handle<JSObject> object,
|
| - Handle<JSReceiver> receiver,
|
| - uint32_t index,
|
| - bool check_prototype);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes>
|
| + GetPropertyAttributesWithInterceptor(Handle<JSObject> holder,
|
| + Handle<Object> receiver,
|
| + Handle<Name> name);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes>
|
| + GetPropertyAttributesWithFailedAccessCheck(LookupIterator* it);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes>
|
| + GetElementAttributeWithReceiver(Handle<JSObject> object,
|
| + Handle<JSReceiver> receiver,
|
| + uint32_t index, bool check_prototype);
|
|
|
| // Retrieves an AccessorPair property from the given object. Might return
|
| // undefined if the property doesn't exist or is of a different kind.
|
| @@ -2218,13 +2218,12 @@ class JSObject: public JSReceiver {
|
| AccessorComponent component);
|
|
|
| // Defines an AccessorPair property on the given object.
|
| - // TODO(mstarzinger): Rename to SetAccessor() and return empty handle on
|
| - // exception instead of letting callers check for scheduled exception.
|
| - static void DefineAccessor(Handle<JSObject> object,
|
| - Handle<Name> name,
|
| - Handle<Object> getter,
|
| - Handle<Object> setter,
|
| - PropertyAttributes attributes);
|
| + // TODO(mstarzinger): Rename to SetAccessor().
|
| + static MaybeHandle<Object> DefineAccessor(Handle<JSObject> object,
|
| + Handle<Name> name,
|
| + Handle<Object> getter,
|
| + Handle<Object> setter,
|
| + PropertyAttributes attributes);
|
|
|
| // Defines an AccessorInfo property on the given object.
|
| MUST_USE_RESULT static MaybeHandle<Object> SetAccessor(
|
| @@ -2381,11 +2380,12 @@ class JSObject: public JSReceiver {
|
| Handle<JSReceiver> receiver);
|
|
|
| // Support functions for v8 api (needed for correct interceptor behavior).
|
| - static bool HasRealNamedProperty(Handle<JSObject> object,
|
| - Handle<Name> key);
|
| - static bool HasRealElementProperty(Handle<JSObject> object, uint32_t index);
|
| - static bool HasRealNamedCallbackProperty(Handle<JSObject> object,
|
| - Handle<Name> key);
|
| + MUST_USE_RESULT static Maybe<bool> HasRealNamedProperty(
|
| + Handle<JSObject> object, Handle<Name> key);
|
| + MUST_USE_RESULT static Maybe<bool> HasRealElementProperty(
|
| + Handle<JSObject> object, uint32_t index);
|
| + MUST_USE_RESULT static Maybe<bool> HasRealNamedCallbackProperty(
|
| + Handle<JSObject> object, Handle<Name> key);
|
|
|
| // Get the header size for a JSObject. Used to compute the index of
|
| // internal fields as well as the number of internal fields.
|
| @@ -2658,16 +2658,15 @@ class JSObject: public JSReceiver {
|
| uint32_t index,
|
| Handle<Object> holder);
|
|
|
| - static PropertyAttributes GetElementAttributeWithInterceptor(
|
| - Handle<JSObject> object,
|
| - Handle<JSReceiver> receiver,
|
| - uint32_t index,
|
| - bool continue_search);
|
| - static PropertyAttributes GetElementAttributeWithoutInterceptor(
|
| - Handle<JSObject> object,
|
| - Handle<JSReceiver> receiver,
|
| - uint32_t index,
|
| - bool continue_search);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes>
|
| + GetElementAttributeWithInterceptor(Handle<JSObject> object,
|
| + Handle<JSReceiver> receiver,
|
| + uint32_t index, bool continue_search);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes>
|
| + GetElementAttributeWithoutInterceptor(Handle<JSObject> object,
|
| + Handle<JSReceiver> receiver,
|
| + uint32_t index,
|
| + bool continue_search);
|
| MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback(
|
| Handle<JSObject> object,
|
| Handle<Object> structure,
|
| @@ -9947,14 +9946,14 @@ class JSProxy: public JSReceiver {
|
| Handle<JSProxy> proxy, Handle<Object> receiver, Handle<Name> name,
|
| Handle<Object> value, StrictMode strict_mode, bool* done);
|
|
|
| - static PropertyAttributes GetPropertyAttributesWithHandler(
|
| - Handle<JSProxy> proxy,
|
| - Handle<Object> receiver,
|
| - Handle<Name> name);
|
| - static PropertyAttributes GetElementAttributeWithHandler(
|
| - Handle<JSProxy> proxy,
|
| - Handle<JSReceiver> receiver,
|
| - uint32_t index);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes>
|
| + GetPropertyAttributesWithHandler(Handle<JSProxy> proxy,
|
| + Handle<Object> receiver,
|
| + Handle<Name> name);
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes>
|
| + GetElementAttributeWithHandler(Handle<JSProxy> proxy,
|
| + Handle<JSReceiver> receiver,
|
| + uint32_t index);
|
| MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithHandler(
|
| Handle<JSProxy> proxy, Handle<Object> receiver, Handle<Name> name,
|
| Handle<Object> value, StrictMode strict_mode);
|
| @@ -10004,9 +10003,10 @@ class JSProxy: public JSReceiver {
|
| Handle<Object> value,
|
| StrictMode strict_mode);
|
|
|
| - static bool HasPropertyWithHandler(Handle<JSProxy> proxy, Handle<Name> name);
|
| - static inline bool HasElementWithHandler(Handle<JSProxy> proxy,
|
| - uint32_t index);
|
| + MUST_USE_RESULT static Maybe<bool> HasPropertyWithHandler(
|
| + Handle<JSProxy> proxy, Handle<Name> name);
|
| + MUST_USE_RESULT static inline Maybe<bool> HasElementWithHandler(
|
| + Handle<JSProxy> proxy, uint32_t index);
|
|
|
| MUST_USE_RESULT static MaybeHandle<Object> DeletePropertyWithHandler(
|
| Handle<JSProxy> proxy,
|
|
|