Index: src/elements.h |
diff --git a/src/elements.h b/src/elements.h |
index 8a83f0fee8581f48455205dae1bfa2b6d91842a5..19d5c2245c7b8a1757c05ca1609215a70e5e0521 100644 |
--- a/src/elements.h |
+++ b/src/elements.h |
@@ -82,6 +82,28 @@ class ElementsAccessor { |
uint32_t key, |
FixedArrayBase* backing_store = NULL) = 0; |
+ // Returns an element's type, or NONEXISTENT if there is no such |
+ // element. This method doesn't iterate up the prototype chain. The caller |
+ // can optionally pass in the backing store to use for the check, which must |
+ // be compatible with the ElementsKind of the ElementsAccessor. If |
+ // backing_store is NULL, the holder->elements() is used as the backing store. |
+ MUST_USE_RESULT virtual PropertyType GetType( |
+ Object* receiver, |
+ JSObject* holder, |
+ uint32_t key, |
+ FixedArrayBase* backing_store = NULL) = 0; |
+ |
+ // Returns an element's accessors, or NULL if the element does not exist or |
+ // is plain. This method doesn't iterate up the prototype chain. The caller |
+ // can optionally pass in the backing store to use for the check, which must |
+ // be compatible with the ElementsKind of the ElementsAccessor. If |
+ // backing_store is NULL, the holder->elements() is used as the backing store. |
+ MUST_USE_RESULT virtual AccessorPair* GetAccessorPair( |
+ Object* receiver, |
+ JSObject* holder, |
+ uint32_t key, |
+ FixedArrayBase* backing_store = NULL) = 0; |
+ |
// Modifies the length data property as specified for JSArrays and resizes the |
// underlying backing store accordingly. The method honors the semantics of |
// changing array sizes as defined in EcmaScript 5.1 15.4.5.2, i.e. array that |