v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Object Class Reference

#include <v8.h>

Inheritance diagram for Object:
Collaboration diagram for Object:

Public Member Functions

bool Set (Handle< Value > key, Handle< Value > value, PropertyAttribute attribs=None)
 
bool Set (uint32_t index, Handle< Value > value)
 
bool ForceSet (Handle< Value > key, Handle< Value > value, PropertyAttribute attribs=None)
 
Local< ValueGet (Handle< Value > key)
 
Local< ValueGet (uint32_t index)
 
PropertyAttribute GetPropertyAttributes (Handle< Value > key)
 
bool Has (Handle< Value > key)
 
bool Delete (Handle< Value > key)
 
bool ForceDelete (Handle< Value > key)
 
bool Has (uint32_t index)
 
bool Delete (uint32_t index)
 
bool SetAccessor (Handle< String > name, AccessorGetterCallback getter, AccessorSetterCallback setter=0, Handle< Value > data=Handle< Value >(), AccessControl settings=DEFAULT, PropertyAttribute attribute=None)
 
bool SetDeclaredAccessor (Local< String > name, Local< DeclaredAccessorDescriptor > descriptor, PropertyAttribute attribute=None, AccessControl settings=DEFAULT)
 
void SetAccessorProperty (Local< String > name, Local< Function > getter, Handle< Function > setter=Handle< Function >(), PropertyAttribute attribute=None, AccessControl settings=DEFAULT)
 
bool HasPrivate (Handle< Private > key)
 
bool SetPrivate (Handle< Private > key, Handle< Value > value)
 
bool DeletePrivate (Handle< Private > key)
 
Local< ValueGetPrivate (Handle< Private > key)
 
Local< ArrayGetPropertyNames ()
 
Local< ArrayGetOwnPropertyNames ()
 
Local< ValueGetPrototype ()
 
bool SetPrototype (Handle< Value > prototype)
 
Local< ObjectFindInstanceInPrototypeChain (Handle< FunctionTemplate > tmpl)
 
Local< StringObjectProtoToString ()
 
Local< ValueGetConstructor ()
 
Local< StringGetConstructorName ()
 
int InternalFieldCount ()
 
V8_INLINE Local< ValueGetInternalField (int index)
 
void SetInternalField (int index, Handle< Value > value)
 
V8_INLINE void * GetAlignedPointerFromInternalField (int index)
 
void SetAlignedPointerInInternalField (int index, void *value)
 
bool HasOwnProperty (Handle< String > key)
 
bool HasRealNamedProperty (Handle< String > key)
 
bool HasRealIndexedProperty (uint32_t index)
 
bool HasRealNamedCallbackProperty (Handle< String > key)
 
Local< ValueGetRealNamedPropertyInPrototypeChain (Handle< String > key)
 
Local< ValueGetRealNamedProperty (Handle< String > key)
 
bool HasNamedLookupInterceptor ()
 
bool HasIndexedLookupInterceptor ()
 
void TurnOnAccessCheck ()
 
int GetIdentityHash ()
 
bool SetHiddenValue (Handle< String > key, Handle< Value > value)
 
Local< ValueGetHiddenValue (Handle< String > key)
 
bool DeleteHiddenValue (Handle< String > key)
 
bool IsDirty ()
 
Local< ObjectClone ()
 
Local< ContextCreationContext ()
 
void SetIndexedPropertiesToPixelData (uint8_t *data, int length)
 
bool HasIndexedPropertiesInPixelData ()
 
uint8_t * GetIndexedPropertiesPixelData ()
 
int GetIndexedPropertiesPixelDataLength ()
 
void SetIndexedPropertiesToExternalArrayData (void *data, ExternalArrayType array_type, int number_of_elements)
 
bool HasIndexedPropertiesInExternalArrayData ()
 
void * GetIndexedPropertiesExternalArrayData ()
 
ExternalArrayType GetIndexedPropertiesExternalArrayDataType ()
 
int GetIndexedPropertiesExternalArrayDataLength ()
 
bool IsCallable ()
 
Local< ValueCallAsFunction (Handle< Value > recv, int argc, Handle< Value > argv[])
 
Local< ValueCallAsConstructor (int argc, Handle< Value > argv[])
 
- Public Member Functions inherited from Value
V8_INLINE bool IsUndefined () const
 
V8_INLINE bool IsNull () const
 
bool IsTrue () const
 
bool IsFalse () const
 
V8_INLINE bool IsString () const
 
bool IsSymbol () const
 
bool IsFunction () const
 
bool IsArray () const
 
bool IsObject () const
 
bool IsBoolean () const
 
bool IsNumber () const
 
bool IsExternal () const
 
bool IsInt32 () const
 
bool IsUint32 () const
 
bool IsDate () const
 
bool IsBooleanObject () const
 
bool IsNumberObject () const
 
bool IsStringObject () const
 
bool IsSymbolObject () const
 
bool IsNativeError () const
 
bool IsRegExp () const
 
bool IsPromise () const
 
bool IsArrayBuffer () const
 
bool IsArrayBufferView () const
 
bool IsTypedArray () const
 
bool IsUint8Array () const
 
bool IsUint8ClampedArray () const
 
bool IsInt8Array () const
 
bool IsUint16Array () const
 
bool IsInt16Array () const
 
bool IsUint32Array () const
 
bool IsInt32Array () const
 
bool IsFloat32Array () const
 
bool IsFloat64Array () const
 
bool IsDataView () const
 
Local< BooleanToBoolean () const
 
Local< NumberToNumber () const
 
Local< StringToString () const
 
Local< StringToDetailString () const
 
Local< ObjectToObject () const
 
Local< IntegerToInteger () const
 
Local< Uint32ToUint32 () const
 
Local< Int32ToInt32 () const
 
Local< Uint32ToArrayIndex () const
 
bool BooleanValue () const
 
double NumberValue () const
 
int64_t IntegerValue () const
 
uint32_t Uint32Value () const
 
int32_t Int32Value () const
 
bool Equals (Handle< Value > that) const
 
bool StrictEquals (Handle< Value > that) const
 
bool SameValue (Handle< Value > that) const
 
template<class T >
ValueCast (T *value)
 

Static Public Member Functions

static V8_INLINE int InternalFieldCount (const PersistentBase< Object > &object)
 
static V8_INLINE void * GetAlignedPointerFromInternalField (const PersistentBase< Object > &object, int index)
 
static Local< ObjectNew (Isolate *isolate)
 
static V8_INLINE ObjectCast (Value *obj)
 
- Static Public Member Functions inherited from Value
template<class T >
static V8_INLINE ValueCast (T *value)
 

Detailed Description

A JavaScript object (ECMA-262, 4.3.3)

Definition at line 2176 of file v8.h.

Member Function Documentation

Object * Cast ( v8::Value value)
static

Definition at line 6359 of file v8.h.

Referenced by TEST(), and THREADED_TEST().

Local< v8::Object > Clone ( )

Clone this object with a fast but shallow copy. Values will point to the same values as the original object.

Definition at line 3611 of file api.cc.

References JSObject::Copy(), ENTER_V8, EXCEPTION_BAILOUT_CHECK, EXCEPTION_PREAMBLE, Handle< T >::is_null(), ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

Referenced by TEST(), and THREADED_TEST().

Local< v8::Context > CreationContext ( )

Returns the context in which the object was created.

Definition at line 3639 of file api.cc.

References ENTER_V8, ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

bool Delete ( uint32_t  index)
bool DeleteHiddenValue ( Handle< String key)
bool DeletePrivate ( v8::Handle< Private key)

Definition at line 3371 of file api.cc.

Referenced by THREADED_TEST().

Local< Object > FindInstanceInPrototypeChain ( v8::Handle< FunctionTemplate tmpl)

Finds an instance of the given function template in the prototype chain.

Definition at line 3220 of file api.cc.

References JSObject::cast(), ENTER_V8, Object::GetPrototype(), FunctionTemplateInfo::IsTemplateFor(), ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

bool ForceSet ( v8::Handle< Value key,
v8::Handle< Value value,
v8::PropertyAttribute  attribs = None 
)
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 6158 of file v8.h.

References I, v8::internal::kApiPointerSize, obj, and V8_LIKELY.

Referenced by v8::internal::DeleteNativeObjectAt().

static V8_INLINE void* GetAlignedPointerFromInternalField ( const PersistentBase< Object > &  object,
int  index 
)
inlinestatic

Same as above, but works for Persistents

Definition at line 2325 of file v8.h.

Local< Value > GetConstructor ( )

Returns the function invoked as a constructor for this object. May be the null value.

Definition at line 3334 of file api.cc.

References ENTER_V8, ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

Local< String > GetConstructorName ( )

Returns the name of the function invoked as a constructor for this object.

Definition at line 3345 of file api.cc.

References ENTER_V8, name, ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

v8::Local< v8::Value > GetHiddenValue ( Handle< String key)
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.

Definition at line 3650 of file api.cc.

References Handle< T >::cast(), ENTER_V8, JSReceiver::GetOrCreateIdentityHash(), ON_BAILOUT, and Utils::OpenHandle().

Referenced by THREADED_TEST().

void * GetIndexedPropertiesExternalArrayData ( )

Definition at line 3831 of file api.cc.

References FixedArrayBase::cast(), NULL, ON_BAILOUT, and Utils::OpenHandle().

Referenced by ExternalArrayInfoTestHelper().

int GetIndexedPropertiesExternalArrayDataLength ( )

Definition at line 3861 of file api.cc.

References FixedArrayBase::cast(), ON_BAILOUT, and Utils::OpenHandle().

Referenced by ExternalArrayInfoTestHelper().

ExternalArrayType GetIndexedPropertiesExternalArrayDataType ( )
uint8_t * GetIndexedPropertiesPixelData ( )

Definition at line 3774 of file api.cc.

References ExternalUint8ClampedArray::cast(), NULL, ON_BAILOUT, and Utils::OpenHandle().

Referenced by THREADED_TEST().

int GetIndexedPropertiesPixelDataLength ( )

Definition at line 3787 of file api.cc.

References ExternalUint8ClampedArray::cast(), ON_BAILOUT, and Utils::OpenHandle().

Referenced by THREADED_TEST().

Local< Value > GetInternalField ( int  index)

Gets the value from an internal field.

Definition at line 6139 of file v8.h.

References HandleScope::CreateHandle(), I, v8::internal::kApiPointerSize, and obj.

Referenced by THREADED_TEST().

Local< Array > GetOwnPropertyNames ( )

This function has the same functionality as GetPropertyNames but the returned array doesn't contain the names of properties from prototype objects.

Definition at line 3259 of file api.cc.

References HandleScope::CloseAndEscape(), Factory::CopyFixedArray(), ENTER_V8, Isolate::factory(), v8::internal::GetKeysInFixedArrayFor(), v8::internal::LOCAL_ONLY, Factory::NewJSArrayWithElements(), ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

Referenced by CheckOwnProperties(), and THREADED_TEST().

Local< Value > GetPrivate ( v8::Handle< Private key)

Definition at line 3166 of file api.cc.

Referenced by THREADED_TEST().

PropertyAttribute GetPropertyAttributes ( v8::Handle< 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.

Definition at line 3171 of file api.cc.

References ABSENT, Handle< T >::cast(), ENTER_V8, EXCEPTION_BAILOUT_CHECK, EXCEPTION_PREAMBLE, JSReceiver::GetPropertyAttribute(), NONE, ON_BAILOUT, Utils::OpenHandle(), and Execution::ToString().

Referenced by THREADED_TEST().

Local< Array > GetPropertyNames ( )

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.

Definition at line 3238 of file api.cc.

References HandleScope::CloseAndEscape(), Factory::CopyFixedArray(), ENTER_V8, Isolate::factory(), v8::internal::GetKeysInFixedArrayFor(), v8::internal::INCLUDE_PROTOS, Factory::NewJSArrayWithElements(), ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

Referenced by CheckProperties(), and THREADED_TEST().

Local< Value > GetPrototype ( )

Get the prototype object. This does not skip objects marked to be skipped by proto and it does not consult the security handler.

Definition at line 3192 of file api.cc.

References ENTER_V8, ON_BAILOUT, Utils::OpenHandle(), and Utils::ToLocal().

Referenced by Runtime::GetElementOrCharAt(), Object::GetElementWithReceiver(), v8::internal::RUNTIME_FUNCTION(), TEST(), THREADED_TEST(), and IC::TryRemoveInvalidPrototypeDependentStub().

Local< Value > GetRealNamedProperty ( Handle< String 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.

Definition at line 3572 of file api.cc.

References ENTER_V8, ON_BAILOUT, and Utils::OpenHandle().

Local< Value > GetRealNamedPropertyInPrototypeChain ( Handle< String key)

If result.IsEmpty() no real property was located in the prototype chain. This means interceptors in the prototype chain are not called.

Definition at line 3557 of file api.cc.

References ENTER_V8, ON_BAILOUT, and Utils::OpenHandle().

bool Has ( uint32_t  index)

Definition at line 3406 of file api.cc.

References JSReceiver::HasElement(), ON_BAILOUT, and Utils::OpenHandle().

bool HasIndexedLookupInterceptor ( )

Tests for an index lookup interceptor.

Definition at line 3526 of file api.cc.

References ON_BAILOUT, and Utils::OpenHandle().

bool HasIndexedPropertiesInExternalArrayData ( )

Definition at line 3822 of file api.cc.

References ON_BAILOUT, and Utils::OpenHandle().

Referenced by ExtArrayLimitsHelper(), and ExternalArrayInfoTestHelper().

bool HasIndexedPropertiesInPixelData ( )

Definition at line 3766 of file api.cc.

References ON_BAILOUT, and Utils::OpenHandle().

Referenced by THREADED_TEST().

bool HasNamedLookupInterceptor ( )

Tests for a named lookup interceptor.

Definition at line 3518 of file api.cc.

References ON_BAILOUT, and Utils::OpenHandle().

bool HasOwnProperty ( Handle< String key)

Definition at line 3481 of file api.cc.

References JSReceiver::HasLocalProperty(), ON_BAILOUT, and Utils::OpenHandle().

bool HasPrivate ( v8::Handle< Private key)

Functionality for private properties. This is an experimental feature, use at your own risk. Note: Private properties are inherited. Do not rely on this, since it may change.

Definition at line 3390 of file api.cc.

Referenced by THREADED_TEST().

bool HasRealIndexedProperty ( uint32_t  index)

Definition at line 3499 of file api.cc.

References JSObject::HasRealElementProperty(), ON_BAILOUT, and Utils::OpenHandle().

Referenced by TEST(), and THREADED_TEST().

bool HasRealNamedCallbackProperty ( Handle< String key)

Definition at line 3507 of file api.cc.

References ENTER_V8, JSObject::HasRealNamedCallbackProperty(), ON_BAILOUT, and Utils::OpenHandle().

Referenced by TEST().

bool HasRealNamedProperty ( Handle< String key)

Definition at line 3490 of file api.cc.

References JSObject::HasRealNamedProperty(), ON_BAILOUT, and Utils::OpenHandle().

Referenced by TEST().

int InternalFieldCount ( )

Gets the number of internal fields for this Object.

Definition at line 4887 of file api.cc.

References Utils::OpenHandle().

Referenced by TEST(), and THREADED_TEST().

static V8_INLINE int InternalFieldCount ( const PersistentBase< Object > &  object)
inlinestatic

Same as above, but works for Persistents

Definition at line 2306 of file v8.h.

bool IsCallable ( )

Checks whether a callback is set by the ObjectTemplate::SetCallAsFunctionHandler method. When an Object is callable this method returns true.

Definition at line 3874 of file api.cc.

References ENTER_V8, ON_BAILOUT, and Utils::OpenHandle().

bool IsDirty ( )

Returns true if this is an instance of an api function (one created from a function created from a function template) and has been modified since it was created. Note that this method is conservative and may return true for objects that haven't actually been modified.

Definition at line 3606 of file api.cc.

References Utils::OpenHandle().

Local< String > ObjectProtoToString ( )

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.

Definition at line 3280 of file api.cc.

References Handle< T >::cast(), ENTER_V8, v8::internal::kCharSize, String::kNormalString, OS::MemCopy(), name, String::NewFromUtf8(), ON_BAILOUT, Utils::OpenHandle(), Vector< T >::start(), STATIC_ASCII_VECTOR, v8::internal::StrLength(), Utils::ToLocal(), String::Utf8Length(), and String::WriteUtf8().

bool SetAccessor ( Handle< String name,
AccessorGetterCallback  getter,
AccessorSetterCallback  setter = 0,
v8::Handle< Value data = Handle<Value>(),
AccessControl  settings = DEFAULT,
PropertyAttribute  attribute = None 
)

Definition at line 3439 of file api.cc.

Referenced by TEST().

void SetAccessorProperty ( Local< String name,
Local< Function getter,
Handle< Function setter = Handle<Function>(),
PropertyAttribute  attribute = None,
AccessControl  settings = DEFAULT 
)
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.

Definition at line 4929 of file api.cc.

References ASSERT_EQ, and Utils::OpenHandle().

bool SetDeclaredAccessor ( Local< String name,
Local< DeclaredAccessorDescriptor descriptor,
PropertyAttribute  attribute = None,
AccessControl  settings = DEFAULT 
)

Definition at line 3450 of file api.cc.

References NULL.

bool SetHiddenValue ( Handle< String key,
Handle< Value value 
)

Access hidden properties on JavaScript objects. These properties are hidden from the executing JavaScript and only accessible through the V8 C++ API. Hidden properties introduced by V8 internally (for example the identity hash) are prefixed with "v8::".

Definition at line 3661 of file api.cc.

References ENTER_V8, Isolate::factory(), Factory::InternalizeString(), Handle< T >::IsEmpty(), ON_BAILOUT, Utils::OpenHandle(), and JSObject::SetHiddenProperty().

Referenced by TEST(), and THREADED_TEST().

void SetIndexedPropertiesToExternalArrayData ( void *  data,
ExternalArrayType  array_type,
int  number_of_elements 
)

Set the backing store of the indexed properties to be managed by the embedding layer. Access to the indexed properties will follow the rules spelled out for the CanvasArray subtypes in the WebGL specification. Note: The embedding program still owns the data and needs to ensure that the backing store is preserved while V8 has a reference.

Definition at line 3799 of file api.cc.

References Utils::ApiCheck(), ENTER_V8, ExternalArray::kMaxLength, ON_BAILOUT, and Utils::OpenHandle().

Referenced by ExtArrayLimitsHelper(), and ExternalArrayInfoTestHelper().

void SetIndexedPropertiesToPixelData ( uint8_t *  data,
int  length 
)

Set the backing store of the indexed properties to be managed by the embedding layer. Access to the indexed properties will follow the rules spelled out in CanvasPixelArray. Note: The embedding program still owns the data and needs to ensure that the backing store is preserved while V8 has a reference.

Definition at line 3745 of file api.cc.

References Utils::ApiCheck(), ENTER_V8, v8::kExternalUint8ClampedArray, ExternalArray::kMaxLength, ON_BAILOUT, and Utils::OpenHandle().

Referenced by THREADED_TEST().

void SetInternalField ( int  index,
v8::Handle< Value value 
)

Sets the value in an internal field.

Definition at line 4911 of file api.cc.

References ASSERT_EQ, and Utils::OpenHandle().

Referenced by TEST(), and THREADED_TEST().

bool SetPrivate ( v8::Handle< Private key,
v8::Handle< Value value 
)

Definition at line 3109 of file api.cc.

References v8::DontEnum.

Referenced by THREADED_TEST().

bool SetPrototype ( Handle< Value prototype)

Set the prototype object. This does not skip objects marked to be skipped by proto and it does not consult the security handler.

Definition at line 3203 of file api.cc.

References ENTER_V8, EXCEPTION_BAILOUT_CHECK, EXCEPTION_PREAMBLE, Handle< T >::is_null(), ON_BAILOUT, Utils::OpenHandle(), and JSObject::SetPrototype().

Referenced by TEST(), and THREADED_PROFILED_TEST().

void TurnOnAccessCheck ( )

Turns on access check on the object if the object is an instance of a template that has access check callbacks. If an object has no access check info, the object cannot be accessed by anyone.

Definition at line 3588 of file api.cc.

References Factory::CopyMap(), Deoptimizer::DeoptimizeGlobalObject(), ENTER_V8, Isolate::factory(), ON_BAILOUT, and Utils::OpenHandle().

Referenced by TEST().


The documentation for this class was generated from the following files: