Index: include/v8.h |
diff --git a/include/v8.h b/include/v8.h |
index 1a35b3ad1743df257f988f1b6aaaedce70271b0f..7016cb5754abbcc31a4f9dd4d9080c968e604cf7 100644 |
--- a/include/v8.h |
+++ b/include/v8.h |
@@ -131,6 +131,9 @@ class AccessorInfo; |
class StackTrace; |
class StackFrame; |
class Isolate; |
+class DeclaredAccessorDescriptor; |
+class ObjectOperationDescriptor; |
+class RawOperationDescriptor; |
namespace internal { |
@@ -1606,6 +1609,12 @@ class V8EXPORT Object : public Value { |
AccessControl settings = DEFAULT, |
PropertyAttribute attribute = None); |
+ // This function is not yet stable and should not be used at this time. |
+ bool SetAccessor(Handle<String> name, |
+ Handle<DeclaredAccessorDescriptor> descriptor, |
+ AccessControl settings = DEFAULT, |
+ PropertyAttribute attribute = None); |
+ |
/** |
* Returns an array containing the names of the enumerable properties |
* of this object, including properties from prototype objects. The |
@@ -2377,13 +2386,6 @@ class V8EXPORT FunctionTemplate : public Template { |
private: |
FunctionTemplate(); |
- void AddInstancePropertyAccessor(Handle<String> name, |
- AccessorGetter getter, |
- AccessorSetter setter, |
- Handle<Value> data, |
- AccessControl settings, |
- PropertyAttribute attributes, |
- Handle<AccessorSignature> signature); |
void SetNamedInstancePropertyHandler(NamedPropertyGetter getter, |
NamedPropertySetter setter, |
NamedPropertyQuery query, |
@@ -2456,6 +2458,14 @@ class V8EXPORT ObjectTemplate : public Template { |
Handle<AccessorSignature> signature = |
Handle<AccessorSignature>()); |
+ // This function is not yet stable and should not be used at this time. |
+ bool SetAccessor(Handle<String> name, |
+ Handle<DeclaredAccessorDescriptor> descriptor, |
+ AccessControl settings = DEFAULT, |
+ PropertyAttribute attribute = None, |
+ Handle<AccessorSignature> signature = |
+ Handle<AccessorSignature>()); |
+ |
/** |
* Sets a named property handler on the object template. |
* |
@@ -2585,6 +2595,61 @@ class V8EXPORT AccessorSignature : public Data { |
}; |
+class V8EXPORT DeclaredAccessorDescriptor : public Data { |
+ private: |
+ DeclaredAccessorDescriptor(); |
+}; |
+ |
+ |
+class V8EXPORT ObjectOperationDescriptor : public Data { |
+ public: |
+ // This function is not yet stable and should not be used at this time. |
+ static Local<RawOperationDescriptor> NewInternalFieldDereference( |
+ Isolate* isolate, |
+ int internal_field); |
+ private: |
+ ObjectOperationDescriptor(); |
+}; |
+ |
+ |
+enum DeclaredAccessorDescriptorDataType { |
+ kDescriptorBoolType, |
+ kDescriptorInt8Type, kDescriptorUint8Type, |
+ kDescriptorInt16Type, kDescriptorUint16Type, |
+ kDescriptorInt32Type, kDescriptorUint32Type, |
+ kDescriptorFloatType, kDescriptorDoubleType |
+}; |
+ |
+ |
+class V8EXPORT RawOperationDescriptor : public Data { |
+ public: |
+ Local<DeclaredAccessorDescriptor> NewHandleDereference(Isolate* isolate); |
+ Local<RawOperationDescriptor> NewRawDereference(Isolate* isolate); |
+ Local<RawOperationDescriptor> NewRawShift(Isolate* isolate, |
+ int16_t byte_offset); |
+ Local<DeclaredAccessorDescriptor> NewPointerCompare(Isolate* isolate, |
+ void* compare_value); |
+ Local<DeclaredAccessorDescriptor> NewPrimitiveValue( |
+ Isolate* isolate, |
+ DeclaredAccessorDescriptorDataType data_type, |
+ uint8_t bool_offset = 0); |
+ Local<DeclaredAccessorDescriptor> NewBitmaskCompare8(Isolate* isolate, |
+ uint8_t bitmask, |
+ uint8_t compare_value); |
+ Local<DeclaredAccessorDescriptor> NewBitmaskCompare16( |
+ Isolate* isolate, |
+ uint16_t bitmask, |
+ uint16_t compare_value); |
+ Local<DeclaredAccessorDescriptor> NewBitmaskCompare32( |
+ Isolate* isolate, |
+ uint32_t bitmask, |
+ uint32_t compare_value); |
+ |
+ private: |
+ RawOperationDescriptor(); |
+}; |
+ |
+ |
/** |
* A utility for determining the type of objects based on the template |
* they were constructed from. |