Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index c5e036ae6e6137cd9ff23a4608b7ec7718d837c8..2b8228b64a57e98d53e0ea3ecc38fa2c3f1baca1 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1126,6 +1126,9 @@ class Object { |
StorePropertyMode data_store_mode = NORMAL_PROPERTY); |
MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( |
LookupIterator* it, Handle<Object> value, StrictMode strict_mode); |
+ MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyElement( |
+ Isolate* isolate, Handle<Object> receiver, uint32_t index, |
+ Handle<Object> value, StrictMode strict_mode); |
static Handle<Object> SetDataProperty(LookupIterator* it, |
Handle<Object> value); |
MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty( |
@@ -1171,6 +1174,10 @@ class Object { |
Handle<Object> receiver, |
uint32_t index); |
+ MUST_USE_RESULT static MaybeHandle<Object> SetElementWithReceiver( |
+ Isolate* isolate, Handle<Object> object, Handle<Object> receiver, |
+ uint32_t index, Handle<Object> value, StrictMode strict_mode); |
+ |
static inline Handle<Object> GetPrototypeSkipHiddenPrototypes( |
Isolate* isolate, Handle<Object> receiver); |
@@ -1921,9 +1928,8 @@ class JSObject: public JSReceiver { |
} |
// These methods do not perform access checks! |
- MUST_USE_RESULT static MaybeHandle<AccessorPair> GetOwnElementAccessorPair( |
- Handle<JSObject> object, |
- uint32_t index); |
+ MUST_USE_RESULT static MaybeHandle<Object> GetOwnElementStructure( |
+ Handle<JSObject> object, uint32_t index); |
MUST_USE_RESULT static MaybeHandle<Object> SetFastElement( |
Handle<JSObject> object, |
@@ -2249,18 +2255,30 @@ class JSObject: public JSReceiver { |
GetElementAttributeWithInterceptor(Handle<JSObject> object, |
Handle<JSReceiver> receiver, |
uint32_t index, bool continue_search); |
+ |
+ // Queries indexed interceptor on an object for property attributes. |
+ // |
+ // We determine property attributes as follows: |
+ // - if interceptor has a query callback, then the property attributes are |
+ // the result of query callback for index. |
+ // - otherwise if interceptor has a getter callback and it returns |
+ // non-empty value on index, then the property attributes is NONE |
+ // (property is present, and it is enumerable, configurable, writable) |
+ // - otherwise there are no property attributes that can be inferred for |
+ // interceptor, and this fucntion returns ABSENT. |
Toon Verwaest
2014/10/15 08:31:28
typo: function
|
+ MUST_USE_RESULT static Maybe<PropertyAttributes> |
+ GetElementAttributeFromInterceptor(Handle<JSObject> object, |
+ Handle<Object> receiver, |
+ uint32_t index); |
+ |
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, |
- uint32_t index, |
- Handle<Object> value, |
- Handle<JSObject> holder, |
- StrictMode strict_mode); |
+ Handle<Object> object, Handle<Object> structure, uint32_t index, |
+ Handle<Object> value, Handle<JSObject> holder, StrictMode strict_mode); |
MUST_USE_RESULT static MaybeHandle<Object> SetElementWithInterceptor( |
Handle<JSObject> object, |
uint32_t index, |