V8 API Reference Guide for node.js v9.10.0 - v9.11.1
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
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::Object **args)

Protected Attributes

internal::Object ** args_

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


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.

Member Function Documentation

template<typename T >
Local< Value > v8::PropertyCallbackInfo< T >::Data ( ) const
The data set in the configuration, i.e., in NamedPropertyHandlerConfiguration or IndexedPropertyHandlerConfiguration.
template<typename T >
Isolate * v8::PropertyCallbackInfo< T >::GetIsolate ( ) const
The isolate of the property access.
template<typename T >
ReturnValue< T > v8::PropertyCallbackInfo< T >::GetReturnValue ( ) const
The return value of the callback. Can be changed by calling Set().
template<typename T >
Local< Object > v8::PropertyCallbackInfo< T >::Holder ( ) const
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).
For security reasons, do not pass the object back into the runtime.
template<typename T >
bool v8::PropertyCallbackInfo< T >::ShouldThrowOnError ( ) const
True if the intercepted function should throw if an error occurs. Usually, true corresponds to 'use strict'.
Always false when intercepting Reflect.set() independent of the language mode.
template<typename T >
Local< Object > v8::PropertyCallbackInfo< T >::This ( ) const
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();
->GetRealNamedProperty(context, v8_str("a"))
->GetRealNamedProperty(context, v8_str("a"))
CHECK(v8_str("r")->Equals(context, a_this).FromJust());
CHECK(v8_str("obj")->Equals(context, a_holder).FromJust());
LocalContext env;
->Set(env.local(), v8_str("obj"), templ->GetFunction(env.local())
CompileRun("obj.a = 'obj'; var r = {a: 'r'}; Reflect.get(obj, 'x', r)");

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