summaryrefslogtreecommitdiff
path: root/deps/v8/src/api-arguments.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/api-arguments.h')
-rw-r--r--deps/v8/src/api-arguments.h81
1 files changed, 54 insertions, 27 deletions
diff --git a/deps/v8/src/api-arguments.h b/deps/v8/src/api-arguments.h
index 179d787941..42d58b88a8 100644
--- a/deps/v8/src/api-arguments.h
+++ b/deps/v8/src/api-arguments.h
@@ -99,6 +99,54 @@ class PropertyCallbackArguments
DCHECK(values[T::kIsolateIndex]->IsSmi());
}
+ // -------------------------------------------------------------------------
+ // Accessor Callbacks
+ // Also used for AccessorSetterCallback.
+ inline void CallAccessorSetter(Handle<AccessorInfo> info, Handle<Name> name,
+ Handle<Object> value);
+ // Also used for AccessorGetterCallback, AccessorNameGetterCallback.
+ inline Handle<Object> CallAccessorGetter(Handle<AccessorInfo> info,
+ Handle<Name> name);
+
+ // -------------------------------------------------------------------------
+ // Named Interceptor Callbacks
+ inline Handle<Object> CallNamedQuery(Handle<InterceptorInfo> interceptor,
+ Handle<Name> name);
+ inline Handle<Object> CallNamedGetter(Handle<InterceptorInfo> interceptor,
+ Handle<Name> name);
+ inline Handle<Object> CallNamedSetter(Handle<InterceptorInfo> interceptor,
+ Handle<Name> name,
+ Handle<Object> value);
+ inline Handle<Object> CallNamedSetterCallback(
+ GenericNamedPropertySetterCallback callback, Handle<Name> name,
+ Handle<Object> value);
+ inline Handle<Object> CallNamedDefiner(Handle<InterceptorInfo> interceptor,
+ Handle<Name> name,
+ const v8::PropertyDescriptor& desc);
+ inline Handle<Object> CallNamedDeleter(Handle<InterceptorInfo> interceptor,
+ Handle<Name> name);
+ inline Handle<Object> CallNamedDescriptor(Handle<InterceptorInfo> interceptor,
+ Handle<Name> name);
+ Handle<JSObject> CallNamedEnumerator(Handle<InterceptorInfo> interceptor);
+
+ // -------------------------------------------------------------------------
+ // Indexed Interceptor Callbacks
+ inline Handle<Object> CallIndexedQuery(Handle<InterceptorInfo> interceptor,
+ uint32_t index);
+ inline Handle<Object> CallIndexedGetter(Handle<InterceptorInfo> interceptor,
+ uint32_t index);
+ inline Handle<Object> CallIndexedSetter(Handle<InterceptorInfo> interceptor,
+ uint32_t index, Handle<Object> value);
+ inline Handle<Object> CallIndexedDefiner(Handle<InterceptorInfo> interceptor,
+ uint32_t index,
+ const v8::PropertyDescriptor& desc);
+ inline Handle<Object> CallIndexedDeleter(Handle<InterceptorInfo> interceptor,
+ uint32_t index);
+ inline Handle<Object> CallIndexedDescriptor(
+ Handle<InterceptorInfo> interceptor, uint32_t index);
+ Handle<JSObject> CallIndexedEnumerator(Handle<InterceptorInfo> interceptor);
+
+ private:
/*
* The following Call functions wrap the calling of all callbacks to handle
* calling either the old or the new style callbacks depending on which one
@@ -107,35 +155,14 @@ class PropertyCallbackArguments
* and used if it's been set to anything inside the callback.
* New style callbacks always use the return value.
*/
- Handle<JSObject> Call(IndexedPropertyEnumeratorCallback f);
-
- inline Handle<Object> Call(AccessorNameGetterCallback f, Handle<Name> name);
- inline Handle<Object> Call(GenericNamedPropertyQueryCallback f,
- Handle<Name> name);
- inline Handle<Object> Call(GenericNamedPropertyDeleterCallback f,
- Handle<Name> name);
-
- inline Handle<Object> Call(IndexedPropertyGetterCallback f, uint32_t index);
- inline Handle<Object> Call(IndexedPropertyQueryCallback f, uint32_t index);
- inline Handle<Object> Call(IndexedPropertyDeleterCallback f, uint32_t index);
-
- inline Handle<Object> Call(GenericNamedPropertySetterCallback f,
- Handle<Name> name, Handle<Object> value);
+ inline Handle<JSObject> CallPropertyEnumerator(
+ Handle<InterceptorInfo> interceptor);
- inline Handle<Object> Call(GenericNamedPropertyDefinerCallback f,
- Handle<Name> name,
- const v8::PropertyDescriptor& desc);
+ inline Handle<Object> BasicCallIndexedGetterCallback(
+ IndexedPropertyGetterCallback f, uint32_t index);
+ inline Handle<Object> BasicCallNamedGetterCallback(
+ GenericNamedPropertyGetterCallback f, Handle<Name> name);
- inline Handle<Object> Call(IndexedPropertySetterCallback f, uint32_t index,
- Handle<Object> value);
-
- inline Handle<Object> Call(IndexedPropertyDefinerCallback f, uint32_t index,
- const v8::PropertyDescriptor& desc);
-
- inline void Call(AccessorNameSetterCallback f, Handle<Name> name,
- Handle<Object> value);
-
- private:
inline JSObject* holder() {
return JSObject::cast(this->begin()[T::kHolderIndex]);
}