v8 12.4.254 (node 22.4.1)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
Function Class Reference

#include <v8-function.h>

Inheritance diagram for Function:
Collaboration diagram for Function:

Public Member Functions

V8_WARN_UNUSED_RESULT MaybeLocal< ObjectNewInstance (Local< Context > context, int argc, Local< Value > argv[]) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ObjectNewInstance (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ObjectNewInstanceWithSideEffectType (Local< Context > context, int argc, Local< Value > argv[], SideEffectType side_effect_type=SideEffectType::kHasSideEffect) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueCall (Local< Context > context, Local< Value > recv, int argc, Local< Value > argv[])
 
void SetName (Local< String > name)
 
Local< ValueGetName () const
 
MaybeLocal< UnboundScriptGetUnboundScript () const
 
Local< ValueGetInferredName () const
 
Local< ValueGetDebugName () const
 
int GetScriptLineNumber () const
 
int GetScriptColumnNumber () const
 
int GetScriptStartPosition () const
 
int ScriptId () const
 
Local< ValueGetBoundFunction () const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringFunctionProtoToString (Local< Context > context)
 
V8_WARN_UNUSED_RESULT bool Experimental_IsNopFunction () const
 
ScriptOrigin GetScriptOrigin () const
 
- Public Member Functions inherited from Object
V8_WARN_UNUSED_RESULT Maybe< bool > Set (Local< Context > context, Local< Value > key, Local< Value > value)
 
V8_WARN_UNUSED_RESULT Maybe< bool > Set (Local< Context > context, uint32_t index, Local< Value > value)
 
V8_WARN_UNUSED_RESULT Maybe< bool > CreateDataProperty (Local< Context > context, Local< Name > key, Local< Value > value)
 
V8_WARN_UNUSED_RESULT Maybe< bool > CreateDataProperty (Local< Context > context, uint32_t index, Local< Value > value)
 
V8_WARN_UNUSED_RESULT Maybe< bool > DefineOwnProperty (Local< Context > context, Local< Name > key, Local< Value > value, PropertyAttribute attributes=None)
 
V8_WARN_UNUSED_RESULT Maybe< bool > DefineProperty (Local< Context > context, Local< Name > key, PropertyDescriptor &descriptor)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGet (Local< Context > context, Local< Value > key)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGet (Local< Context > context, uint32_t index)
 
V8_WARN_UNUSED_RESULT Maybe< PropertyAttributeGetPropertyAttributes (Local< Context > context, Local< Value > key)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGetOwnPropertyDescriptor (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT Maybe< bool > Has (Local< Context > context, Local< Value > key)
 
V8_WARN_UNUSED_RESULT Maybe< bool > Delete (Local< Context > context, Local< Value > key)
 
V8_WARN_UNUSED_RESULT Maybe< bool > Has (Local< Context > context, uint32_t index)
 
V8_WARN_UNUSED_RESULT Maybe< bool > Delete (Local< Context > context, uint32_t index)
 
V8_WARN_UNUSED_RESULT Maybe< bool > SetAccessor (Local< Context > context, Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=nullptr, MaybeLocal< Value > data=MaybeLocal< Value >(), AccessControl deprecated_settings=DEFAULT, PropertyAttribute attribute=None, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect, SideEffectType setter_side_effect_type=SideEffectType::kHasSideEffect)
 
void SetAccessorProperty (Local< Name > name, Local< Function > getter, Local< Function > setter=Local< Function >(), PropertyAttribute attributes=None)
 
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)
 
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)
 
Maybe< bool > HasPrivate (Local< Context > context, Local< Private > key)
 
Maybe< bool > SetPrivate (Local< Context > context, Local< Private > key, Local< Value > value)
 
Maybe< bool > DeletePrivate (Local< Context > context, Local< Private > key)
 
MaybeLocal< ValueGetPrivate (Local< Context > context, Local< Private > key)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetPropertyNames (Local< Context > context)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetPropertyNames (Local< Context > context, KeyCollectionMode mode, PropertyFilter property_filter, IndexFilter index_filter, KeyConversionMode key_conversion=KeyConversionMode::kKeepNumbers)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetOwnPropertyNames (Local< Context > context)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetOwnPropertyNames (Local< Context > context, PropertyFilter filter, KeyConversionMode key_conversion=KeyConversionMode::kKeepNumbers)
 
Local< ValueGetPrototype ()
 
V8_WARN_UNUSED_RESULT Maybe< bool > SetPrototype (Local< Context > context, Local< Value > prototype)
 
Local< ObjectFindInstanceInPrototypeChain (Local< FunctionTemplate > tmpl)
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringObjectProtoToString (Local< Context > context)
 
Local< StringGetConstructorName ()
 
Maybe< bool > SetIntegrityLevel (Local< Context > context, IntegrityLevel level)
 
int InternalFieldCount () const
 
V8_INLINE Local< DataGetInternalField (int index)
 
void SetInternalField (int index, Local< Data > data)
 
V8_INLINE void * GetAlignedPointerFromInternalField (int index)
 
V8_INLINE void * GetAlignedPointerFromInternalField (v8::Isolate *isolate, int index)
 
void SetAlignedPointerInInternalField (int index, void *value)
 
void SetAlignedPointerInInternalFields (int argc, int indices[], void *values[])
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasOwnProperty (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasOwnProperty (Local< Context > context, uint32_t index)
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealNamedProperty (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealIndexedProperty (Local< Context > context, uint32_t index)
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealNamedCallbackProperty (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGetRealNamedPropertyInPrototypeChain (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT Maybe< PropertyAttributeGetRealNamedPropertyAttributesInPrototypeChain (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGetRealNamedProperty (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT Maybe< PropertyAttributeGetRealNamedPropertyAttributes (Local< Context > context, Local< Name > key)
 
bool HasNamedLookupInterceptor () const
 
bool HasIndexedLookupInterceptor () const
 
int GetIdentityHash ()
 
Local< ObjectClone ()
 
MaybeLocal< ContextGetCreationContext ()
 
Local< ContextGetCreationContextChecked ()
 
void * GetAlignedPointerFromEmbedderDataInCreationContext (int index)
 
bool IsCallable () const
 
bool IsConstructor () const
 
bool IsApiWrapper () const
 
bool IsUndetectable () const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueCallAsFunction (Local< Context > context, Local< Value > recv, int argc, Local< Value > argv[])
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueCallAsConstructor (Local< Context > context, int argc, Local< Value > argv[])
 
IsolateGetIsolate ()
 
MaybeLocal< ArrayPreviewEntries (bool *is_key_value)
 
bool IsCodeLike (Isolate *isolate) const
 
- Public Member Functions inherited from Value
V8_INLINE bool IsUndefined () const
 
V8_INLINE bool IsNull () const
 
V8_INLINE bool IsNullOrUndefined () const
 
V8_INLINE bool IsTrue () const
 
V8_INLINE bool IsFalse () const
 
bool IsName () const
 
V8_INLINE bool IsString () const
 
bool IsSymbol () const
 
bool IsFunction () const
 
bool IsArray () const
 
bool IsObject () const
 
bool IsBigInt () const
 
bool IsBoolean () const
 
bool IsNumber () const
 
bool IsExternal () const
 
bool IsInt32 () const
 
bool IsUint32 () const
 
bool IsDate () const
 
bool IsArgumentsObject () const
 
bool IsBigIntObject () const
 
bool IsBooleanObject () const
 
bool IsNumberObject () const
 
bool IsStringObject () const
 
bool IsSymbolObject () const
 
bool IsNativeError () const
 
bool IsRegExp () const
 
bool IsAsyncFunction () const
 
bool IsGeneratorFunction () const
 
bool IsGeneratorObject () const
 
bool IsPromise () const
 
bool IsMap () const
 
bool IsSet () const
 
bool IsMapIterator () const
 
bool IsSetIterator () const
 
bool IsWeakMap () const
 
bool IsWeakSet () const
 
bool IsWeakRef () 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 IsFloat16Array () const
 
bool IsFloat32Array () const
 
bool IsFloat64Array () const
 
bool IsBigInt64Array () const
 
bool IsBigUint64Array () const
 
bool IsDataView () const
 
bool IsSharedArrayBuffer () const
 
bool IsProxy () const
 
bool IsWasmMemoryObject () const
 
bool IsWasmModuleObject () const
 
bool IsWasmNull () const
 
bool IsModuleNamespaceObject () const
 
V8_WARN_UNUSED_RESULT MaybeLocal< PrimitiveToPrimitive (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< NumericToNumeric (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< BigIntToBigInt (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< NumberToNumber (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToDetailString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ObjectToObject (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< IntegerToInteger (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToUint32 (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Int32ToInt32 (Local< Context > context) const
 
Local< BooleanToBoolean (Isolate *isolate) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToArrayIndex (Local< Context > context) const
 
bool BooleanValue (Isolate *isolate) const
 
V8_WARN_UNUSED_RESULT Maybe< double > NumberValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int64_t > IntegerValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< uint32_t > Uint32Value (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int32_t > Int32Value (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< bool > Equals (Local< Context > context, Local< Value > that) const
 
bool StrictEquals (Local< Value > that) const
 
bool SameValue (Local< Value > that) const
 
Local< StringTypeOf (Isolate *)
 
Maybe< bool > InstanceOf (Local< Context > context, Local< Object > object)
 
template<>
V8_INLINE ValueCast (Data *value)
 
- Public Member Functions inherited from Data
bool IsValue () const
 
bool IsModule () const
 
bool IsFixedArray () const
 
bool IsPrivate () const
 
bool IsObjectTemplate () const
 
bool IsFunctionTemplate () const
 
bool IsContext () const
 

Static Public Member Functions

static MaybeLocal< FunctionNew (Local< Context > context, FunctionCallback callback, Local< Value > data=Local< Value >(), int length=0, ConstructorBehavior behavior=ConstructorBehavior::kAllow, SideEffectType side_effect_type=SideEffectType::kHasSideEffect)
 
static V8_INLINE FunctionCast (Value *value)
 
- Static Public Member Functions inherited from Object
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)
 
static V8_INLINE MaybeLocal< ContextGetCreationContext (const PersistentBase< Object > &object)
 
static V8_INLINE IsolateGetIsolate (const TracedReference< Object > &handle)
 
static Local< ObjectNew (Isolate *isolate)
 
static Local< ObjectNew (Isolate *isolate, Local< Value > prototype_or_null, Local< Name > *names, Local< Value > *values, size_t length)
 
static V8_INLINE ObjectCast (Value *obj)
 
- Static Public Member Functions inherited from Value
template<class T >
static V8_INLINE ValueCast (T *value)
 

Static Public Attributes

static const int kLineOffsetNotFound
 

Detailed Description

A JavaScript function object (ECMA-262, 15.3).

Definition at line 26 of file v8-function.h.

Member Function Documentation

◆ Call()

V8_WARN_UNUSED_RESULT MaybeLocal< Value > Call ( Local< Context context,
Local< Value recv,
int  argc,
Local< Value argv[] 
)

◆ Cast()

static V8_INLINE Function * Cast ( Value value)
inlinestatic

Definition at line 125 of file v8-function.h.

◆ Experimental_IsNopFunction()

V8_WARN_UNUSED_RESULT bool Experimental_IsNopFunction ( ) const

Returns true if the function does nothing. The function returns false on error. Note that this function is experimental. Embedders should not rely on this existing. We may remove this function in the future.

◆ FunctionProtoToString()

V8_WARN_UNUSED_RESULT MaybeLocal< String > FunctionProtoToString ( Local< Context context)

Calls builtin Function.prototype.toString on this function. This is different from Value::ToString() that may call a user-defined toString() function, and different than Object::ObjectProtoToString() which always serializes "[object Function]".

◆ GetBoundFunction()

Local< Value > GetBoundFunction ( ) const

Returns the original function if this function is bound, else returns v8::Undefined.

◆ GetDebugName()

Local< Value > GetDebugName ( ) const

displayName if it is set, otherwise name if it is configured, otherwise function name, otherwise inferred name.

◆ GetInferredName()

Local< Value > GetInferredName ( ) const

Name inferred from variable or property assignment of this function. Used to facilitate debugging and profiling of JavaScript code written in an OO style, where many functions are anonymous but are assigned to object properties.

◆ GetName()

Local< Value > GetName ( ) const

◆ GetScriptColumnNumber()

int GetScriptColumnNumber ( ) const

Returns zero based column number of function body and kLineOffsetNotFound if no information available.

◆ GetScriptLineNumber()

int GetScriptLineNumber ( ) const

Returns zero based line number of function body and kLineOffsetNotFound if no information available.

◆ GetScriptOrigin()

ScriptOrigin GetScriptOrigin ( ) const

◆ GetScriptStartPosition()

int GetScriptStartPosition ( ) const

Returns zero based start position (character offset) of function body and kLineOffsetNotFound if no information available.

◆ GetUnboundScript()

MaybeLocal< UnboundScript > GetUnboundScript ( ) const

◆ New()

static MaybeLocal< Function > New ( Local< Context context,
FunctionCallback  callback,
Local< Value data = LocalValue >(),
int  length = 0,
ConstructorBehavior  behavior = ConstructorBehavior::kAllow,
SideEffectType  side_effect_type = SideEffectType::kHasSideEffect 
)
static

Create a function in the current execution context for a given FunctionCallback.

◆ NewInstance() [1/2]

V8_WARN_UNUSED_RESULT MaybeLocal< Object > NewInstance ( Local< Context context) const
inline

Definition at line 41 of file v8-function.h.

◆ NewInstance() [2/2]

V8_WARN_UNUSED_RESULT MaybeLocal< Object > NewInstance ( Local< Context context,
int  argc,
Local< Value argv[] 
) const

◆ NewInstanceWithSideEffectType()

V8_WARN_UNUSED_RESULT MaybeLocal< Object > NewInstanceWithSideEffectType ( Local< Context context,
int  argc,
Local< Value argv[],
SideEffectType  side_effect_type = SideEffectType::kHasSideEffect 
) const

When side effect checks are enabled, passing kHasNoSideEffect allows the constructor to be invoked without throwing. Calls made within the constructor are still checked.

◆ ScriptId()

int ScriptId ( ) const

Returns scriptId.

◆ SetName()

void SetName ( Local< String name)

Field Documentation

◆ kLineOffsetNotFound

const int kLineOffsetNotFound
static

Definition at line 132 of file v8-function.h.


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