v8 12.4.254 (node 22.4.1)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
PropertyCallbackInfo< T > Class Template Reference

#include <v8-function-callback.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
 

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 181 of file v8-function-callback.h.

Member Function Documentation

◆ Data()

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

Definition at line 575 of file v8-function-callback.h.

◆ GetIsolate()

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

Definition at line 570 of file v8-function-callback.h.

◆ GetReturnValue()

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

Definition at line 590 of file v8-function-callback.h.

◆ Holder()

template<typename T >
Local< Object > 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 585 of file v8-function-callback.h.

◆ ShouldThrowOnError()

template<typename T >
bool 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 595 of file v8-function-callback.h.

References v8::internal::ShouldThrowOnError().

◆ This()

template<typename T >
Local< Object > 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)");
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, uint16_t instance_type=0, uint16_t allowed_receiver_instance_type_range_start=0, uint16_t allowed_receiver_instance_type_range_end=0)
Local< Context > GetCurrentContext()
friend class Global
V8_WARN_UNUSED_RESULT MaybeLocal< Value > GetRealNamedProperty(Local< Context > context, Local< Name > key)
V8_INLINE ReturnValue< T > GetReturnValue() const
V8_INLINE Local< Object > This() const
V8_INLINE Local< Object > Holder() const
V8_INLINE Isolate * GetIsolate() const

Definition at line 580 of file v8-function-callback.h.

Friends And Related Symbol Documentation

◆ internal::CustomArguments< PropertyCallbackInfo >

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

Definition at line 270 of file v8-function-callback.h.

◆ internal::PropertyCallbackArguments

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

Definition at line 270 of file v8-function-callback.h.

◆ MacroAssembler

template<typename T >
friend class MacroAssembler
friend

Definition at line 269 of file v8-function-callback.h.


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