V8  latest master commit
V8 is Google's open source JavaScript engine
v8::PropertyCallbackInfo< T > Class Template Reference

#include <v8.h>

Public Member Functions

V8_INLINE IsolateGetIsolate () const
 
V8_INLINE Local< ValueData () const
 
V8_INLINE Local< ObjectThis () const
 
V8_INLINE Local< ObjectHolder () const
 
V8_INLINE ReturnValue< T > GetReturnValue () const
 
V8_INLINE bool ShouldThrowOnError () const
 

Static Public Attributes

static const int kArgsLength = 7
 

Protected Member Functions

V8_INLINE PropertyCallbackInfo (internal::Address *args)
 

Protected Attributes

internal::Addressargs_
 

Static Protected Attributes

static const int kShouldThrowOnErrorIndex = 0
 
static const int kHolderIndex = 1
 
static const int kIsolateIndex = 2
 
static const int kReturnValueDefaultValueIndex = 3
 
static const int kReturnValueIndex = 4
 
static const int kDataIndex = 5
 
static const int kThisIndex = 6
 

Friends

class MacroAssembler
 
class internal::PropertyCallbackArguments
 
class internal::CustomArguments< PropertyCallbackInfo >
 

Detailed Description

template<typename T>
class v8::PropertyCallbackInfo< T >

The information passed to a property callback about the context of the property access.

Definition at line 116 of file v8.h.

Constructor & Destructor Documentation

◆ PropertyCallbackInfo()

template<typename T >
V8_INLINE v8::PropertyCallbackInfo< T >::PropertyCallbackInfo ( internal::Address args)
inlineprotected

Definition at line 4425 of file v8.h.

Member Function Documentation

◆ Data()

template<typename T >
Local< Value > v8::PropertyCallbackInfo< T >::Data
Returns
The data set in the configuration, i.e., in NamedPropertyHandlerConfiguration or IndexedPropertyHandlerConfiguration.

Definition at line 11841 of file v8.h.

◆ GetIsolate()

template<typename T >
Isolate * v8::PropertyCallbackInfo< T >::GetIsolate
Returns
The isolate of the property access.

Definition at line 11835 of file v8.h.

◆ GetReturnValue()

template<typename T >
ReturnValue< T > v8::PropertyCallbackInfo< T >::GetReturnValue
Returns
The return value of the callback. Can be changed by calling Set().
info.GetReturnValue().Set(...)

Definition at line 11859 of file v8.h.

◆ Holder()

template<typename T >
Local< Object > v8::PropertyCallbackInfo< T >::Holder
Returns
The object in the prototype chain of the receiver that has the interceptor. Suppose you have x and its prototype is y, and y has an interceptor. Then info.This() is x and info.Holder() is y. The Holder() could be a hidden object (the global object, rather than the global proxy).
Note
For security reasons, do not pass the object back into the runtime.

Definition at line 11853 of file v8.h.

◆ ShouldThrowOnError()

template<typename T >
bool v8::PropertyCallbackInfo< T >::ShouldThrowOnError
Returns
True if the intercepted function should throw if an error occurs. Usually, true corresponds to ‘'use strict’`.
Note
Always false when intercepting Reflect.set() independent of the language mode.

Definition at line 11864 of file v8.h.

◆ This()

template<typename T >
Local< Object > v8::PropertyCallbackInfo< T >::This
Returns
The receiver. In many cases, this is the object on which the property access was intercepted. When using Reflect.get, Function.prototype.call, or similar functions, it is the object passed in as receiver or thisArg.
void GetterCallback(Local<Name> name,
auto context = info.GetIsolate()->GetCurrentContext();
info.This()
->GetRealNamedProperty(context, v8_str("a"))
.ToLocalChecked();
info.Holder()
->GetRealNamedProperty(context, v8_str("a"))
.ToLocalChecked();
CHECK(v8_str("r")->Equals(context, a_this).FromJust());
CHECK(v8_str("obj")->Equals(context, a_holder).FromJust());
info.GetReturnValue().Set(name);
}
templ->InstanceTemplate()->SetHandler(
LocalContext env;
env->Global()
->Set(env.local(), v8_str("obj"), templ->GetFunction(env.local())
.ToLocalChecked()
->NewInstance(env.local())
.ToLocalChecked())
.FromJust();
CompileRun("obj.a = 'obj'; var r = {a: 'r'}; Reflect.get(obj, 'x', r)");

Definition at line 11847 of file v8.h.

Friends And Related Function Documentation

◆ internal::CustomArguments< PropertyCallbackInfo >

template<typename T >
friend class internal::CustomArguments< PropertyCallbackInfo >
friend

Definition at line 4416 of file v8.h.

◆ internal::PropertyCallbackArguments

template<typename T >
friend class internal::PropertyCallbackArguments
friend

Definition at line 4415 of file v8.h.

◆ MacroAssembler

template<typename T >
friend class MacroAssembler
friend

Definition at line 4414 of file v8.h.

Field Documentation

◆ args_

template<typename T >
internal::Address* v8::PropertyCallbackInfo< T >::args_
protected

Definition at line 4426 of file v8.h.

◆ kArgsLength

template<typename T >
const int v8::PropertyCallbackInfo< T >::kArgsLength = 7
static

Definition at line 4411 of file v8.h.

◆ kDataIndex

template<typename T >
const int v8::PropertyCallbackInfo< T >::kDataIndex = 5
staticprotected

Definition at line 4422 of file v8.h.

◆ kHolderIndex

template<typename T >
const int v8::PropertyCallbackInfo< T >::kHolderIndex = 1
staticprotected

Definition at line 4418 of file v8.h.

◆ kIsolateIndex

template<typename T >
const int v8::PropertyCallbackInfo< T >::kIsolateIndex = 2
staticprotected

Definition at line 4419 of file v8.h.

◆ kReturnValueDefaultValueIndex

template<typename T >
const int v8::PropertyCallbackInfo< T >::kReturnValueDefaultValueIndex = 3
staticprotected

Definition at line 4420 of file v8.h.

◆ kReturnValueIndex

template<typename T >
const int v8::PropertyCallbackInfo< T >::kReturnValueIndex = 4
staticprotected

Definition at line 4421 of file v8.h.

◆ kShouldThrowOnErrorIndex

template<typename T >
const int v8::PropertyCallbackInfo< T >::kShouldThrowOnErrorIndex = 0
staticprotected

Definition at line 4417 of file v8.h.

◆ kThisIndex

template<typename T >
const int v8::PropertyCallbackInfo< T >::kThisIndex = 6
staticprotected

Definition at line 4423 of file v8.h.


The documentation for this class was generated from the following file:
v8::NamedPropertyHandlerConfiguration
Definition: v8.h:6566
v8::PropertyCallbackInfo
Definition: v8.h:116
v8::FunctionTemplate::GetFunction
V8_WARN_UNUSED_RESULT MaybeLocal< Function > GetFunction(Local< Context > context)
v8::FunctionTemplate::InstanceTemplate
Local< ObjectTemplate > InstanceTemplate()
v8::PropertyCallbackInfo::GetIsolate
V8_INLINE Isolate * GetIsolate() const
Definition: v8.h:11835
v8::Local< v8::Value >
v8::FunctionTemplate::New
static Local< FunctionTemplate > New(Isolate *isolate, FunctionCallback callback=nullptr, Local< Value > data=Local< Value >(), Local< Signature > signature=Local< Signature >(), int length=0, ConstructorBehavior behavior=ConstructorBehavior::kAllow, SideEffectType side_effect_type=SideEffectType::kHasSideEffect, const CFunction *c_function=nullptr)
v8::PropertyCallbackInfo::Holder
V8_INLINE Local< Object > Holder() const
Definition: v8.h:11853
v8::PropertyCallbackInfo::This
V8_INLINE Local< Object > This() const
Definition: v8.h:11847
v8::PropertyCallbackInfo::GetReturnValue
V8_INLINE ReturnValue< T > GetReturnValue() const
Definition: v8.h:11859