![]() |
v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
|
#include <v8-object.h>
Static Public Member Functions | |
static V8_INLINE int | InternalFieldCount (const PersistentBase< Object > &object) |
static V8_INLINE int | InternalFieldCount (const BasicTracedReference< Object > &object) |
static V8_INLINE void * | GetAlignedPointerFromInternalField (const PersistentBase< Object > &object, int index) |
static V8_INLINE void * | GetAlignedPointerFromInternalField (const BasicTracedReference< Object > &object, int index) |
template<CppHeapPointerTag tag, typename T = void> | |
static V8_INLINE T * | Unwrap (v8::Isolate *isolate, const v8::Local< v8::Object > &wrapper) |
template<CppHeapPointerTag tag, typename T = void> | |
static V8_INLINE T * | Unwrap (v8::Isolate *isolate, const PersistentBase< Object > &wrapper) |
template<CppHeapPointerTag tag, typename T = void> | |
static V8_INLINE T * | Unwrap (v8::Isolate *isolate, const BasicTracedReference< Object > &wrapper) |
template<typename T = void> | |
static V8_INLINE T * | Unwrap (v8::Isolate *isolate, const v8::Local< v8::Object > &wrapper, CppHeapPointerTagRange tag_range) |
template<typename T = void> | |
static V8_INLINE T * | Unwrap (v8::Isolate *isolate, const PersistentBase< Object > &wrapper, CppHeapPointerTagRange tag_range) |
template<typename T = void> | |
static V8_INLINE T * | Unwrap (v8::Isolate *isolate, const BasicTracedReference< Object > &wrapper, CppHeapPointerTagRange tag_range) |
template<CppHeapPointerTag tag> | |
static V8_INLINE void | Wrap (v8::Isolate *isolate, const v8::Local< v8::Object > &wrapper, void *wrappable) |
template<CppHeapPointerTag tag> | |
static V8_INLINE void | Wrap (v8::Isolate *isolate, const PersistentBase< Object > &wrapper, void *wrappable) |
template<CppHeapPointerTag tag> | |
static V8_INLINE void | Wrap (v8::Isolate *isolate, const BasicTracedReference< Object > &wrapper, void *wrappable) |
static V8_INLINE void | Wrap (v8::Isolate *isolate, const v8::Local< v8::Object > &wrapper, void *wrappable, CppHeapPointerTag tag) |
static V8_INLINE void | Wrap (v8::Isolate *isolate, const PersistentBase< Object > &wrapper, void *wrappable, CppHeapPointerTag tag) |
static V8_INLINE void | Wrap (v8::Isolate *isolate, const BasicTracedReference< Object > &wrapper, void *wrappable, CppHeapPointerTag tag) |
static V8_INLINE MaybeLocal< Context > | GetCreationContext (v8::Isolate *isolate, const PersistentBase< Object > &object) |
static V8_INLINE MaybeLocal< Context > | GetCreationContext (const PersistentBase< Object > &object) |
static V8_INLINE Isolate * | GetIsolate (const TracedReference< Object > &handle) |
static Local< Object > | New (Isolate *isolate) |
static Local< Object > | New (Isolate *isolate, Local< Value > prototype_or_null, Local< Name > *names, Local< Value > *values, size_t length) |
static V8_INLINE Object * | Cast (Value *obj) |
![]() | |
template<class T> | |
static V8_INLINE Value * | Cast (T *value) |
Data Fields | |
Local< Value > | prototype |
A JavaScript object (ECMA-262, 4.3.3)
Definition at line 233 of file v8-object.h.
V8_WARN_UNUSED_RESULT MaybeLocal< Value > CallAsConstructor | ( | Local< Context > | context, |
int | argc, | ||
Local< Value > | argv[] ) |
Call an Object as a constructor if a callback is set by the ObjectTemplate::SetCallAsFunctionHandler method. Note: This method behaves like the Function::NewInstance method.
References CallAsConstructor(), and V8_WARN_UNUSED_RESULT.
Referenced by CallAsConstructor().
V8_WARN_UNUSED_RESULT MaybeLocal< Value > CallAsFunction | ( | Local< Context > | context, |
Local< Value > | recv, | ||
int | argc, | ||
Local< Value > | argv[] ) |
Call an Object as a function if a callback is set by the ObjectTemplate::SetCallAsFunctionHandler method.
References CallAsFunction(), and V8_WARN_UNUSED_RESULT.
Referenced by CallAsFunction().
Definition at line 1069 of file v8-object.h.
Referenced by New().
Local< Object > Clone | ( | v8::Isolate * | isolate | ) |
Clone this object with a fast but shallow copy. Values will point to the same values as the original object.
Prefer using version with Isolate parameter.
V8_WARN_UNUSED_RESULT Maybe< bool > CreateDataProperty | ( | Local< Context > | context, |
Local< Name > | key, | ||
Local< Value > | value ) |
Implements CreateDataProperty(O, P, V), see https://tc39.es/ecma262/#sec-createdataproperty.
Defines a configurable, writable, enumerable property with the given value on the object unless the property already exists and is not configurable or the object is not extensible.
Returns true on success.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > CreateDataProperty | ( | Local< Context > | context, |
uint32_t | index, | ||
Local< Value > | value ) |
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > DefineOwnProperty | ( | Local< Context > | context, |
Local< Name > | key, | ||
Local< Value > | value, | ||
PropertyAttribute | attributes = None ) |
Implements [[DefineOwnProperty]] for data property case, see https://tc39.es/ecma262/#table-essential-internal-methods.
In general, CreateDataProperty will be faster, however, does not allow for specifying attributes.
Returns true on success.
References v8::None, and V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > DefineProperty | ( | Local< Context > | context, |
Local< Name > | key, | ||
PropertyDescriptor & | descriptor ) |
Implements Object.defineProperty(O, P, Attributes), see https://tc39.es/ecma262/#sec-object.defineproperty.
The defineProperty function is used to add an own property or update the attributes of an existing own property of an object.
Both data and accessor descriptors can be used.
In general, CreateDataProperty is faster, however, does not allow for specifying attributes or an accessor descriptor.
The PropertyDescriptor can change when redefining a property.
Returns true on success.
References V8_WARN_UNUSED_RESULT.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > Delete | ( | Local< Context > | context, |
uint32_t | index ) |
References V8_WARN_UNUSED_RESULT.
Local< Object > FindInstanceInPrototypeChain | ( | Local< FunctionTemplate > | tmpl | ) |
Finds an instance of the given function template in the prototype chain.
References FindInstanceInPrototypeChain().
Referenced by FindInstanceInPrototypeChain().
V8_WARN_UNUSED_RESULT MaybeLocal< Value > Get | ( | Local< Context > | context, |
Local< Value > | key ) |
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT MaybeLocal< Value > Get | ( | Local< Context > | context, |
Local< Value > | key, | ||
MaybeLocal< Object > | receiver ) |
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT MaybeLocal< Value > Get | ( | Local< Context > | context, |
uint32_t | index ) |
References V8_WARN_UNUSED_RESULT.
void * GetAlignedPointerFromEmbedderDataInCreationContext | ( | int | index | ) |
void * GetAlignedPointerFromEmbedderDataInCreationContext | ( | v8::Isolate * | isolate, |
int | index ) |
Gets the context in which the object was created (see GetCreationContext()) and if it's available reads respective embedder field value. If the context can't be obtained nullptr is returned. Basically it's a shortcut for obj->GetCreationContext().GetAlignedPointerFromEmbedderData(index) which doesn't create a handle for Context object on the way and doesn't try to expand the embedder data attached to the context. In case the Local<Context> is already available because of other reasons, it's fine to keep using Context::GetAlignedPointerFromEmbedderData().
Prefer using version with Isolate parameter if you have an Isolate, otherwise use the other one.
References GetAlignedPointerFromEmbedderDataInCreationContext().
Referenced by GetAlignedPointerFromEmbedderDataInCreationContext(), and GetAlignedPointerFromEmbedderDataInCreationContext().
|
inlinestatic |
Same as above, but works for TracedReference.
Definition at line 536 of file v8-object.h.
References V8_INLINE.
|
inlinestatic |
Same as above, but works for PersistentBase.
Definition at line 529 of file v8-object.h.
References V8_INLINE.
void * GetAlignedPointerFromInternalField | ( | int | index | ) |
Gets a 2-byte-aligned native pointer from an internal field. This field must have been set by SetAlignedPointerInInternalField, everything else leads to undefined behavior.
Definition at line 904 of file v8-object.h.
References V8_LIKELY, and ValueHelper::ValueAsAddress().
Referenced by SetInternalField().
void * GetAlignedPointerFromInternalField | ( | v8::Isolate * | isolate, |
int | index ) |
Definition at line 882 of file v8-object.h.
References V8_LIKELY, and ValueHelper::ValueAsAddress().
Returns the name of the function invoked as a constructor for this object.
References GetConstructorName().
Referenced by GetConstructorName().
MaybeLocal< Context > GetCreationContext | ( | ) |
References GetCreationContext().
|
static |
References GetCreationContext(), and V8_INLINE.
MaybeLocal< Context > GetCreationContext | ( | v8::Isolate * | isolate | ) |
Returns the context in which the object was created.
Prefer using version with Isolate parameter.
Referenced by GetCreationContext(), GetCreationContext(), and GetCreationContext().
|
inlinestatic |
Same as above, but works for Persistents
Definition at line 720 of file v8-object.h.
References GetCreationContext(), and V8_INLINE.
References GetCreationContextChecked().
Local< Context > GetCreationContextChecked | ( | v8::Isolate * | isolate | ) |
Shortcut for GetCreationContext(...).ToLocalChecked().
Prefer using version with Isolate parameter.
References GetCreationContextChecked(), and V8_DEPRECATE_SOON().
Referenced by GetCreationContextChecked(), and GetCreationContextChecked().
int GetIdentityHash | ( | ) |
Returns the identity hash for this object. The current implementation uses a hidden property on the object to store the identity hash.
The return value will never be 0. Also, it is not guaranteed to be unique.
Gets the data from an internal field. To cast the return value into v8::Value subtypes, it needs to be casted to a v8::Value first. For example, to cast it into v8::External:
object->GetInternalField(index).As<v8::Value>().As<v8::External>();
The embedder should make sure that the internal field being retrieved using this method has already been set with SetInternalField() before.
Definition at line 856 of file v8-object.h.
References v8::internal::IsolateFromNeverReadOnlySpaceObject(), Local< T >::New(), and ValueHelper::ValueAsAddress().
Isolate * GetIsolate | ( | ) |
Return the isolate to which the Object belongs to.
References GetIsolate().
Referenced by GetIsolate(), and GetIsolate().
|
inlinestatic |
Definition at line 800 of file v8-object.h.
References GetIsolate(), and V8_INLINE.
V8_WARN_UNUSED_RESULT MaybeLocal< Value > GetOwnPropertyDescriptor | ( | Local< Context > | context, |
Local< Name > | key ) |
Implements Object.getOwnPropertyDescriptor(O, P), see https://tc39.es/ecma262/#sec-object.getownpropertydescriptor.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT MaybeLocal< Array > GetOwnPropertyNames | ( | Local< Context > | context | ) |
This function has the same functionality as GetPropertyNames but the returned array doesn't contain the names of properties from prototype objects.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT MaybeLocal< Array > GetOwnPropertyNames | ( | Local< Context > | context, |
PropertyFilter | filter, | ||
KeyConversionMode | key_conversion = KeyConversionMode::kKeepNumbers ) |
Returns an array containing the names of the filtered properties of this object, including properties from prototype objects. The array returned by this method contains the same values as would be enumerated by a for-in statement over this object.
References v8::kKeepNumbers, and V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< PropertyAttribute > GetPropertyAttributes | ( | Local< Context > | context, |
Local< Value > | key ) |
Gets the property attributes of a property which can be None or any combination of ReadOnly, DontEnum and DontDelete. Returns None when the property doesn't exist.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT MaybeLocal< Array > GetPropertyNames | ( | Local< Context > | context | ) |
Returns an array containing the names of the enumerable properties of this object, including properties from prototype objects. The array returned by this method contains the same values as would be enumerated by a for-in statement over this object.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT MaybeLocal< Array > GetPropertyNames | ( | Local< Context > | context, |
KeyCollectionMode | mode, | ||
PropertyFilter | property_filter, | ||
IndexFilter | index_filter, | ||
KeyConversionMode | key_conversion = KeyConversionMode::kKeepNumbers ) |
References v8::kKeepNumbers, and V8_WARN_UNUSED_RESULT.
Get the prototype object (same as getting proto property). This does not consult the security handler. TODO(333672197): rename back to GetPrototype() once the old version goes through the deprecation process and is removed.
References GetPrototypeV2().
Referenced by GetPrototypeV2().
V8_WARN_UNUSED_RESULT MaybeLocal< Value > GetRealNamedProperty | ( | Local< Context > | context, |
Local< Name > | key ) |
If result.IsEmpty() no real property was located on the object or in the prototype chain. This means interceptors in the prototype chain are not called.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< PropertyAttribute > GetRealNamedPropertyAttributes | ( | Local< Context > | context, |
Local< Name > | key ) |
Gets the property attributes of a real property which can be None or any combination of ReadOnly, DontEnum and DontDelete. Interceptors in the prototype chain are not called.
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< PropertyAttribute > GetRealNamedPropertyAttributesInPrototypeChain | ( | Local< Context > | context, |
Local< Name > | key ) |
Gets the property attributes of a real property in the prototype chain, which can be None or any combination of ReadOnly, DontEnum and DontDelete. Interceptors in the prototype chain are not called.
V8_WARN_UNUSED_RESULT MaybeLocal< Value > GetRealNamedPropertyInPrototypeChain | ( | Local< Context > | context, |
Local< Name > | key ) |
If result.IsEmpty() no real property was located in the prototype chain. This means interceptors in the prototype chain are not called.
References V8_WARN_UNUSED_RESULT.
Object::Has() calls the abstract operation HasProperty(O, P), see https://tc39.es/ecma262/#sec-hasproperty. Has() returns true, if the object has the property, either own or on the prototype chain. Interceptors, i.e., PropertyQueryCallbacks, are called if present.
Has() has the same side effects as JavaScript's variable in object
. For example, calling Has() on a revoked proxy will throw an exception.
See also v8::Object::HasOwnProperty() and v8::Object::HasRealNamedProperty().
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > Has | ( | Local< Context > | context, |
uint32_t | index ) |
References V8_WARN_UNUSED_RESULT.
bool HasIndexedLookupInterceptor | ( | ) | const |
Tests for an index lookup interceptor.
bool HasNamedLookupInterceptor | ( | ) | const |
Tests for a named lookup interceptor.
HasOwnProperty() is like JavaScript's Object.prototype.hasOwnProperty().
See also v8::Object::Has() and v8::Object::HasRealNamedProperty().
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > HasOwnProperty | ( | Local< Context > | context, |
uint32_t | index ) |
References V8_WARN_UNUSED_RESULT.
Functionality for private properties. This is an experimental feature, use at your own risk. Note: Private properties are not inherited. Do not rely on this, since it may change.
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealIndexedProperty | ( | Local< Context > | context, |
uint32_t | index ) |
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealNamedCallbackProperty | ( | Local< Context > | context, |
Local< Name > | key ) |
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealNamedProperty | ( | Local< Context > | context, |
Local< Name > | key ) |
Use HasRealNamedProperty() if you want to check if an object has an own property without causing side effects, i.e., without calling interceptors.
This function is similar to v8::Object::HasOwnProperty(), but it does not call interceptors.
v8::PropertyHandlerFlags::kNonMasking
.See also v8::Object::Has().
References V8_WARN_UNUSED_RESULT.
int InternalFieldCount | ( | ) | const |
Gets the number of internal fields for this Object.
References InternalFieldCount().
Referenced by InternalFieldCount(), and InternalFieldCount().
|
inlinestatic |
Same as above, but works for BasicTracedReference.
Definition at line 499 of file v8-object.h.
References V8_INLINE.
|
inlinestatic |
Same as above, but works for PersistentBase.
Definition at line 493 of file v8-object.h.
References InternalFieldCount(), and V8_INLINE.
bool IsApiWrapper | ( | ) | const |
Returns true if this object can be generally used to wrap object objects. This means that the object either follows the convention of using embedder fields to denote type/instance pointers or is using the Wrap()/Unwrap() APIs for the same purpose. Returns false otherwise.
Note that there may be other objects that use embedder fields but are not used as API wrapper objects. E.g., v8::Promise may in certain configuration use embedder fields but promises are not generally supported as API wrappers. The method will return false in those cases.
References IsApiWrapper().
Referenced by IsApiWrapper().
bool IsCallable | ( | ) | const |
Checks whether a callback is set by the ObjectTemplate::SetCallAsFunctionHandler method. When an Object is callable this method returns true.
References IsCallable().
Referenced by IsCallable().
bool IsCodeLike | ( | Isolate * | isolate | ) | const |
Support for TC39 "dynamic code brand checks" proposal.
This API allows to query whether an object was constructed from a "code like" ObjectTemplate.
See also: v8::ObjectTemplate::SetCodeLike
bool IsConstructor | ( | ) | const |
bool IsUndetectable | ( | ) | const |
True if this object was created from an object template which was marked as undetectable. See v8::ObjectTemplate::MarkAsUndetectable for more information.
References IsUndetectable().
Referenced by IsUndetectable().
|
static |
Creates a JavaScript object with the given properties, and a the given prototype_or_null (which can be any JavaScript value, and if it's null, the newly created object won't have a prototype at all). This is similar to Object.create(). All properties will be created as enumerable, configurable and writable properties.
V8_WARN_UNUSED_RESULT MaybeLocal< String > ObjectProtoToString | ( | Local< Context > | context | ) |
Call builtin Object.prototype.toString on this object. This is different from Value::ToString() that may call user-defined toString function. This one does not.
References ObjectProtoToString(), and V8_WARN_UNUSED_RESULT.
Referenced by ObjectProtoToString().
MaybeLocal< Array > PreviewEntries | ( | bool * | is_key_value | ) |
If this object is a Set, Map, WeakSet or WeakMap, this returns a representation of the elements of this object as an array. If this object is a SetIterator or MapIterator, this returns all elements of the underlying collection, starting at the iterator's current position. For other types, this will return an empty MaybeLocal<Array> (without scheduling an exception).
V8_WARN_UNUSED_RESULT Maybe< bool > Set | ( | Local< Context > | context, |
Local< Value > | key, | ||
Local< Value > | value ) |
Set only return Just(true) or Empty(), so if it should never fail, use result.Check().
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > Set | ( | Local< Context > | context, |
Local< Value > | key, | ||
Local< Value > | value, | ||
MaybeLocal< Object > | receiver ) |
References V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > Set | ( | Local< Context > | context, |
uint32_t | index, | ||
Local< Value > | value ) |
References V8_WARN_UNUSED_RESULT.
void SetAccessorProperty | ( | Local< Name > | name, |
Local< Function > | getter, | ||
Local< Function > | setter = Local< Function >(), | ||
PropertyAttribute | attributes = None ) |
Sets an accessor property like Template::SetAccessorProperty, but this method sets on this object directly.
References v8::None.
void SetAlignedPointerInInternalField | ( | int | index, |
void * | value ) |
Sets a 2-byte-aligned native pointer in an internal field. To retrieve such a field, GetAlignedPointerFromInternalField must be used, everything else leads to undefined behavior.
void SetAlignedPointerInInternalFields | ( | int | argc, |
int | indices[], | ||
void * | values[] ) |
Maybe< bool > SetIntegrityLevel | ( | Local< Context > | context, |
IntegrityLevel | level ) |
Sets the integrity level of the object.
References SetIntegrityLevel().
Referenced by SetIntegrityLevel().
Sets the data in an internal field.
References GetAlignedPointerFromInternalField(), and V8_INLINE.
V8_WARN_UNUSED_RESULT Maybe< bool > SetLazyDataProperty | ( | Local< Context > | context, |
Local< Name > | name, | ||
AccessorNameGetterCallback | getter, | ||
Local< Value > | data = Local< Value >(), | ||
PropertyAttribute | attributes = None, | ||
SideEffectType | getter_side_effect_type = SideEffectType::kHasSideEffect, | ||
SideEffectType | setter_side_effect_type = SideEffectType::kHasSideEffect ) |
Attempts to create a property with the given name which behaves like a data property, except that the provided getter is invoked (and provided with the data value) to supply its value the first time it is read. After the property is accessed once, it is replaced with an ordinary data property.
Analogous to Template::SetLazyDataProperty.
References v8::kHasSideEffect, v8::None, and V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > SetNativeDataProperty | ( | Local< Context > | context, |
Local< Name > | name, | ||
AccessorNameGetterCallback | getter, | ||
AccessorNameSetterCallback | setter = nullptr, | ||
Local< Value > | data = Local< Value >(), | ||
PropertyAttribute | attributes = None, | ||
SideEffectType | getter_side_effect_type = SideEffectType::kHasSideEffect, | ||
SideEffectType | setter_side_effect_type = SideEffectType::kHasSideEffect ) |
Sets a native data property like Template::SetNativeDataProperty, but this method sets on this object directly.
References v8::kHasSideEffect, v8::None, and V8_WARN_UNUSED_RESULT.
V8_WARN_UNUSED_RESULT Maybe< bool > SetPrototypeV2 | ( | Local< Context > | context, |
Local< Value > | prototype ) |
Set the prototype object (same as setting proto property). This does does not consult the security handler. TODO(333672197): rename back to SetPrototype() once the old version goes through the deprecation process and is removed.
References prototype, SetPrototypeV2(), and V8_WARN_UNUSED_RESULT.
Referenced by SetPrototypeV2().
|
static |
References V8_INLINE.
T * Unwrap | ( | v8::Isolate * | isolate, |
const BasicTracedReference< Object > & | wrapper ) |
Definition at line 955 of file v8-object.h.
References Internals::kJSObjectHeaderSize, Unwrap(), and ValueHelper::ValueAsAddress().
|
static |
References V8_INLINE.
T * Unwrap | ( | v8::Isolate * | isolate, |
const BasicTracedReference< Object > & | wrapper, | ||
CppHeapPointerTagRange | tag_range ) |
Definition at line 998 of file v8-object.h.
References Internals::kJSObjectHeaderSize, Unwrap(), and ValueHelper::ValueAsAddress().
|
static |
References V8_INLINE.
T * Unwrap | ( | v8::Isolate * | isolate, |
const PersistentBase< Object > & | wrapper ) |
Definition at line 941 of file v8-object.h.
References Internals::kJSObjectHeaderSize, Unwrap(), and ValueHelper::ValueAsAddress().
|
static |
References V8_INLINE.
T * Unwrap | ( | v8::Isolate * | isolate, |
const PersistentBase< Object > & | wrapper, | ||
CppHeapPointerTagRange | tag_range ) |
Definition at line 983 of file v8-object.h.
References Internals::kJSObjectHeaderSize, Unwrap(), and ValueHelper::ValueAsAddress().
|
static |
Unwraps a JS wrapper object.
tag | The tag for retrieving the wrappable instance. Must match the tag that has been used for a previous Wrap() operation. |
isolate | The Isolate for the wrapper object. |
wrapper | The JS wrapper object that should be unwrapped. |
References V8_INLINE.
Referenced by IsCodeLike(), Unwrap(), Unwrap(), Unwrap(), Unwrap(), Unwrap(), and Unwrap().
T * Unwrap | ( | v8::Isolate * | isolate, |
const v8::Local< v8::Object > & | wrapper ) |
Definition at line 928 of file v8-object.h.
References Internals::kJSObjectHeaderSize, Unwrap(), and ValueHelper::ValueAsAddress().
|
static |
References V8_INLINE.
T * Unwrap | ( | v8::Isolate * | isolate, |
const v8::Local< v8::Object > & | wrapper, | ||
CppHeapPointerTagRange | tag_range ) |
Definition at line 970 of file v8-object.h.
References Internals::kJSObjectHeaderSize, Unwrap(), and ValueHelper::ValueAsAddress().
V8_DEPRECATE_SOON | ( | "V8 will stop providing access to hidden prototype (i.e. " "JSGlobalObject). Use GetPrototypeV2() instead. " "See http://crbug.com/333672197." | ) |
Get the prototype object. This does not skip objects marked to be skipped by proto and it does not consult the security handler.
Referenced by GetCreationContextChecked(), and V8_DEPRECATE_SOON().
V8_DEPRECATE_SOON | ( | "V8 will stop providing access to hidden prototype (i.e. " "JSGlobalObject). Use SetPrototypeV2() instead. " "See http://crbug.com/333672197." | ) |
Set the prototype object. This does not skip objects marked to be skipped by proto and it does not consult the security handler.
References V8_DEPRECATE_SOON(), and V8_WARN_UNUSED_RESULT.
|
static |
void Wrap | ( | v8::Isolate * | isolate, |
const BasicTracedReference< Object > & | wrapper, | ||
void * | wrappable ) |
Definition at line 1030 of file v8-object.h.
References ValueHelper::ValueAsAddress(), and Wrap().
|
static |
Definition at line 1054 of file v8-object.h.
References ValueHelper::ValueAsAddress(), and Wrap().
|
static |
References V8_INLINE.
void Wrap | ( | v8::Isolate * | isolate, |
const PersistentBase< Object > & | wrapper, | ||
void * | wrappable ) |
Definition at line 1021 of file v8-object.h.
References ValueHelper::ValueAsAddress(), and Wrap().
|
static |
Definition at line 1046 of file v8-object.h.
References ValueHelper::ValueAsAddress(), and Wrap().
|
static |
Wraps a JS wrapper with a C++ instance.
tag | The pointer tag that should be used for storing this object. Future Unwrap() operations must provide a matching tag. |
isolate | The Isolate for the wrapper object. |
wrapper | The JS wrapper object. |
wrappable | The C++ object instance that is wrapped by the JS object. |
References V8_INLINE.
Referenced by IsCodeLike(), Wrap(), Wrap(), Wrap(), Wrap(), Wrap(), and Wrap().
void Wrap | ( | v8::Isolate * | isolate, |
const v8::Local< v8::Object > & | wrapper, | ||
void * | wrappable ) |
Definition at line 1013 of file v8-object.h.
References ValueHelper::ValueAsAddress(), and Wrap().
|
static |
Definition at line 1039 of file v8-object.h.
References ValueHelper::ValueAsAddress(), and Wrap().
Definition at line 454 of file v8-object.h.
Referenced by SetPrototypeV2().