v8 10.2.154 (node 18.16.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
v8-template.h
Go to the documentation of this file.
1// Copyright 2021 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef INCLUDE_V8_TEMPLATE_H_
6#define INCLUDE_V8_TEMPLATE_H_
7
8#include "v8-data.h" // NOLINT(build/include_directory)
9#include "v8-function-callback.h" // NOLINT(build/include_directory)
10#include "v8-local-handle.h" // NOLINT(build/include_directory)
11#include "v8-memory-span.h" // NOLINT(build/include_directory)
12#include "v8-object.h" // NOLINT(build/include_directory)
13#include "v8config.h" // NOLINT(build/include_directory)
14
15namespace v8 {
16
17class AccessorSignature;
18class CFunction;
19class FunctionTemplate;
20class ObjectTemplate;
21class Signature;
22
23// --- Templates ---
24
25#define V8_INTRINSICS_LIST(F) \
26 F(ArrayProto_entries, array_entries_iterator) \
27 F(ArrayProto_forEach, array_for_each_iterator) \
28 F(ArrayProto_keys, array_keys_iterator) \
29 F(ArrayProto_values, array_values_iterator) \
30 F(ArrayPrototype, initial_array_prototype) \
31 F(AsyncIteratorPrototype, initial_async_iterator_prototype) \
32 F(ErrorPrototype, initial_error_prototype) \
33 F(IteratorPrototype, initial_iterator_prototype) \
34 F(ObjProto_valueOf, object_value_of_function)
35
37#define V8_DECL_INTRINSIC(name, iname) k##name,
39#undef V8_DECL_INTRINSIC
40};
41
45class V8_EXPORT Template : public Data {
46 public:
52 void Set(Local<Name> name, Local<Data> value,
53 PropertyAttribute attributes = None);
55 PropertyAttribute attributes = None);
56 V8_INLINE void Set(Isolate* isolate, const char* name, Local<Data> value,
57 PropertyAttribute attributes = None);
58
60 Local<Name> name,
63 PropertyAttribute attribute = None, AccessControl settings = DEFAULT);
64
92 V8_DEPRECATED("Do signature check in accessor")
93 void SetNativeDataProperty(
96 PropertyAttribute attribute, Local<AccessorSignature> signature,
97 AccessControl settings = DEFAULT,
98 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
99 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
100 V8_DEPRECATED("Do signature check in accessor")
101 void SetNativeDataProperty(
104 PropertyAttribute attribute, Local<AccessorSignature> signature,
105 AccessControl settings = DEFAULT,
106 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
107 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
108 void SetNativeDataProperty(
109 Local<String> name, AccessorGetterCallback getter,
110 AccessorSetterCallback setter = nullptr,
111 Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
112 AccessControl settings = DEFAULT,
113 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
114 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
115 void SetNativeDataProperty(
117 AccessorNameSetterCallback setter = nullptr,
118 Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
119 AccessControl settings = DEFAULT,
120 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
121 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
122
127 void SetLazyDataProperty(
129 Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
130 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
131 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
132
137 void SetIntrinsicDataProperty(Local<Name> name, Intrinsic intrinsic,
138 PropertyAttribute attribute = None);
139
140 private:
141 Template();
142
143 friend class ObjectTemplate;
144 friend class FunctionTemplate;
145};
146
147// TODO(dcarney): Replace GenericNamedPropertyFooCallback with just
148// NamedPropertyFooCallback.
149
187 void (*)(Local<Name> property, const PropertyCallbackInfo<Value>& info);
188
211 void (*)(Local<Name> property, Local<Value> value,
212 const PropertyCallbackInfo<Value>& info);
213
236 void (*)(Local<Name> property, const PropertyCallbackInfo<Integer>& info);
237
260 void (*)(Local<Name> property, const PropertyCallbackInfo<Boolean>& info);
261
269 void (*)(const PropertyCallbackInfo<Array>& info);
270
292 void (*)(Local<Name> property, const PropertyDescriptor& desc,
293 const PropertyCallbackInfo<Value>& info);
294
315 void (*)(Local<Name> property, const PropertyCallbackInfo<Value>& info);
316
321 void (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
322
327 void (*)(uint32_t index, Local<Value> value,
328 const PropertyCallbackInfo<Value>& info);
329
334 void (*)(uint32_t index, const PropertyCallbackInfo<Integer>& info);
335
340 void (*)(uint32_t index, const PropertyCallbackInfo<Boolean>& info);
341
349 void (*)(const PropertyCallbackInfo<Array>& info);
350
355 void (*)(uint32_t index, const PropertyDescriptor& desc,
356 const PropertyCallbackInfo<Value>& info);
357
362 void (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
363
368using AccessCheckCallback = bool (*)(Local<Context> accessing_context,
369 Local<Object> accessed_object,
370 Local<Value> data);
371
373
482 public:
485 Isolate* isolate, FunctionCallback callback = nullptr,
486 Local<Value> data = Local<Value>(),
487 Local<Signature> signature = Local<Signature>(), int length = 0,
488 ConstructorBehavior behavior = ConstructorBehavior::kAllow,
489 SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
490 const CFunction* c_function = nullptr, uint16_t instance_type = 0,
491 uint16_t allowed_receiver_instance_type_range_start = 0,
492 uint16_t allowed_receiver_instance_type_range_end = 0);
493
496 Isolate* isolate, FunctionCallback callback = nullptr,
497 Local<Value> data = Local<Value>(),
498 Local<Signature> signature = Local<Signature>(), int length = 0,
499 ConstructorBehavior behavior = ConstructorBehavior::kAllow,
500 SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
501 const MemorySpan<const CFunction>& c_function_overloads = {});
502
507 Isolate* isolate, FunctionCallback callback,
508 Local<Private> cache_property, Local<Value> data = Local<Value>(),
509 Local<Signature> signature = Local<Signature>(), int length = 0,
510 SideEffectType side_effect_type = SideEffectType::kHasSideEffect);
511
514 Local<Context> context);
515
524
532 FunctionCallback callback, Local<Value> data = Local<Value>(),
533 SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
534 const MemorySpan<const CFunction>& c_function_overloads = {});
535
537 void SetLength(int length);
538
541
548
554
562
569
574 void SetAcceptAnyReceiver(bool value);
575
581
587
593
602
603 V8_INLINE static FunctionTemplate* Cast(Data* data);
604
605 private:
607
608 static void CheckCast(Data* that);
609 friend class Context;
610 friend class ObjectTemplate;
611};
612
621 kNone = 0,
622
626 kAllCanRead = 1,
627
632 kNonMasking = 1 << 1,
633
638 kOnlyInterceptStrings = 1 << 2,
639
643 kHasNoSideEffect = 1 << 3,
644};
645
655 Local<Value> data = Local<Value>(),
656 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
657 : getter(getter),
658 setter(setter),
659 query(query),
660 deleter(deleter),
661 enumerator(enumerator),
662 definer(definer),
663 descriptor(descriptor),
664 data(data),
665 flags(flags) {}
666
669 GenericNamedPropertyGetterCallback getter = nullptr,
670 GenericNamedPropertySetterCallback setter = nullptr,
671 GenericNamedPropertyQueryCallback query = nullptr,
672 GenericNamedPropertyDeleterCallback deleter = nullptr,
673 GenericNamedPropertyEnumeratorCallback enumerator = nullptr,
674 Local<Value> data = Local<Value>(),
675 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
676 : getter(getter),
677 setter(setter),
678 query(query),
679 deleter(deleter),
680 enumerator(enumerator),
681 definer(nullptr),
682 descriptor(nullptr),
683 data(data),
684 flags(flags) {}
685
693 Local<Value> data = Local<Value>(),
694 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
695 : getter(getter),
696 setter(setter),
697 query(nullptr),
698 deleter(deleter),
699 enumerator(enumerator),
700 definer(definer),
701 descriptor(descriptor),
702 data(data),
703 flags(flags) {}
704
714};
715
724 Local<Value> data = Local<Value>(),
725 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
726 : getter(getter),
727 setter(setter),
728 query(query),
729 deleter(deleter),
730 enumerator(enumerator),
731 definer(definer),
732 descriptor(descriptor),
733 data(data),
734 flags(flags) {}
735
738 IndexedPropertyGetterCallback getter = nullptr,
739 IndexedPropertySetterCallback setter = nullptr,
740 IndexedPropertyQueryCallback query = nullptr,
741 IndexedPropertyDeleterCallback deleter = nullptr,
742 IndexedPropertyEnumeratorCallback enumerator = nullptr,
743 Local<Value> data = Local<Value>(),
744 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
745 : getter(getter),
746 setter(setter),
747 query(query),
748 deleter(deleter),
749 enumerator(enumerator),
750 definer(nullptr),
751 descriptor(nullptr),
752 data(data),
753 flags(flags) {}
754
762 Local<Value> data = Local<Value>(),
763 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
764 : getter(getter),
765 setter(setter),
766 query(nullptr),
767 deleter(deleter),
768 enumerator(enumerator),
769 definer(definer),
770 descriptor(descriptor),
771 data(data),
772 flags(flags) {}
773
783};
784
792 public:
795 Isolate* isolate,
797
800
830 V8_DEPRECATED("Do signature check in accessor")
831 void SetAccessor(
832 Local<String> name, AccessorGetterCallback getter,
833 AccessorSetterCallback setter, Local<Value> data, AccessControl settings,
834 PropertyAttribute attribute, Local<AccessorSignature> signature,
835 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
836 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
837 V8_DEPRECATED("Do signature check in accessor")
838 void SetAccessor(
841 AccessControl settings, PropertyAttribute attribute,
842 Local<AccessorSignature> signature,
843 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
844 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
845 void SetAccessor(
846 Local<String> name, AccessorGetterCallback getter,
847 AccessorSetterCallback setter = nullptr,
848 Local<Value> data = Local<Value>(), AccessControl settings = DEFAULT,
849 PropertyAttribute attribute = None,
850 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
851 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
852 void SetAccessor(
854 AccessorNameSetterCallback setter = nullptr,
855 Local<Value> data = Local<Value>(), AccessControl settings = DEFAULT,
856 PropertyAttribute attribute = None,
857 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
858 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
859
871 void SetHandler(const NamedPropertyHandlerConfiguration& configuration);
872
889 // TODO(dcarney): deprecate
890 void SetIndexedPropertyHandler(
892 IndexedPropertySetterCallback setter = nullptr,
893 IndexedPropertyQueryCallback query = nullptr,
894 IndexedPropertyDeleterCallback deleter = nullptr,
895 IndexedPropertyEnumeratorCallback enumerator = nullptr,
896 Local<Value> data = Local<Value>()) {
897 SetHandler(IndexedPropertyHandlerConfiguration(getter, setter, query,
898 deleter, enumerator, data));
899 }
900
912
920 Local<Value> data = Local<Value>());
921
931
941 Local<Value> data = Local<Value>());
942
950 AccessCheckCallback callback,
951 const NamedPropertyHandlerConfiguration& named_handler,
952 const IndexedPropertyHandlerConfiguration& indexed_handler,
953 Local<Value> data = Local<Value>());
954
960
965 void SetInternalFieldCount(int value);
966
970 bool IsImmutableProto() const;
971
977
988 bool IsCodeLike() const;
989
990 V8_INLINE static ObjectTemplate* Cast(Data* data);
991
992 private:
994 static Local<ObjectTemplate> New(internal::Isolate* isolate,
995 Local<FunctionTemplate> constructor);
996 static void CheckCast(Data* that);
997 friend class FunctionTemplate;
998};
999
1008class V8_EXPORT Signature : public Data {
1009 public:
1011 Isolate* isolate,
1013
1014 V8_INLINE static Signature* Cast(Data* data);
1015
1016 private:
1017 Signature();
1018
1019 static void CheckCast(Data* that);
1020};
1021
1027 public:
1029 Isolate* isolate,
1031
1032 V8_INLINE static AccessorSignature* Cast(Data* data);
1033
1034 private:
1036
1037 static void CheckCast(Data* that);
1038};
1039
1040// --- Implementation ---
1041
1042void Template::Set(Isolate* isolate, const char* name, Local<Data> value,
1043 PropertyAttribute attributes) {
1044 Set(String::NewFromUtf8(isolate, name, NewStringType::kInternalized)
1045 .ToLocalChecked(),
1046 value, attributes);
1047}
1048
1049FunctionTemplate* FunctionTemplate::Cast(Data* data) {
1050#ifdef V8_ENABLE_CHECKS
1051 CheckCast(data);
1052#endif
1053 return reinterpret_cast<FunctionTemplate*>(data);
1054}
1055
1056ObjectTemplate* ObjectTemplate::Cast(Data* data) {
1057#ifdef V8_ENABLE_CHECKS
1058 CheckCast(data);
1059#endif
1060 return reinterpret_cast<ObjectTemplate*>(data);
1061}
1062
1063Signature* Signature::Cast(Data* data) {
1064#ifdef V8_ENABLE_CHECKS
1065 CheckCast(data);
1066#endif
1067 return reinterpret_cast<Signature*>(data);
1068}
1069
1070AccessorSignature* AccessorSignature::Cast(Data* data) {
1071#ifdef V8_ENABLE_CHECKS
1072 CheckCast(data);
1073#endif
1074 return reinterpret_cast<AccessorSignature*>(data);
1075}
1076
1077} // namespace v8
1078
1079#endif // INCLUDE_V8_TEMPLATE_H_
static Local< AccessorSignature > New(Isolate *isolate, Local< FunctionTemplate > receiver=Local< FunctionTemplate >())
bool HasInstance(Local< Value > object)
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)
static Local< FunctionTemplate > NewWithCache(Isolate *isolate, FunctionCallback callback, Local< Private > cache_property, Local< Value > data=Local< Value >(), Local< Signature > signature=Local< Signature >(), int length=0, SideEffectType side_effect_type=SideEffectType::kHasSideEffect)
void SetCallHandler(FunctionCallback callback, Local< Value > data=Local< Value >(), SideEffectType side_effect_type=SideEffectType::kHasSideEffect, const MemorySpan< const CFunction > &c_function_overloads={})
static Local< FunctionTemplate > NewWithCFunctionOverloads(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 MemorySpan< const CFunction > &c_function_overloads={})
Local< ObjectTemplate > InstanceTemplate()
void SetLength(int length)
bool IsLeafTemplateForApiObject(v8::Local< v8::Value > value) const
Local< ObjectTemplate > PrototypeTemplate()
void Inherit(Local< FunctionTemplate > parent)
V8_WARN_UNUSED_RESULT MaybeLocal< Function > GetFunction(Local< Context > context)
V8_WARN_UNUSED_RESULT MaybeLocal< Object > NewRemoteInstance()
void SetPrototypeProviderTemplate(Local< FunctionTemplate > prototype_provider)
void SetClassName(Local< String > name)
void SetAcceptAnyReceiver(bool value)
void SetInternalFieldCount(int value)
static Local< ObjectTemplate > New(Isolate *isolate, Local< FunctionTemplate > constructor=Local< FunctionTemplate >())
bool IsCodeLike() const
void SetCallAsFunctionHandler(FunctionCallback callback, Local< Value > data=Local< Value >())
void SetAccessCheckCallbackAndHandler(AccessCheckCallback callback, const NamedPropertyHandlerConfiguration &named_handler, const IndexedPropertyHandlerConfiguration &indexed_handler, Local< Value > data=Local< Value >())
void SetAccessCheckCallback(AccessCheckCallback callback, Local< Value > data=Local< Value >())
bool IsImmutableProto() const
void SetHandler(const IndexedPropertyHandlerConfiguration &configuration)
V8_WARN_UNUSED_RESULT MaybeLocal< Object > NewInstance(Local< Context > context)
int InternalFieldCount() const
static Local< Signature > New(Isolate *isolate, Local< FunctionTemplate > receiver=Local< FunctionTemplate >())
void SetAccessorProperty(Local< Name > name, Local< FunctionTemplate > getter=Local< FunctionTemplate >(), Local< FunctionTemplate > setter=Local< FunctionTemplate >(), PropertyAttribute attribute=None, AccessControl settings=DEFAULT)
void SetPrivate(Local< Private > name, Local< Data > value, PropertyAttribute attributes=None)
void Set(Local< Name > name, Local< Data > value, PropertyAttribute attributes=None)
void(*)(Local< Name > property, const PropertyCallbackInfo< Value > &info) AccessorNameGetterCallback
Definition v8-object.h:156
Intrinsic
Definition v8-template.h:36
void(*)(Local< Name > property, const PropertyCallbackInfo< Boolean > &info) GenericNamedPropertyDeleterCallback
void(*)(uint32_t index, const PropertyCallbackInfo< Boolean > &info) IndexedPropertyDeleterCallback
void(*)(Local< String > property, Local< Value > value, const PropertyCallbackInfo< void > &info) AccessorSetterCallback
Definition v8-object.h:160
void(*)(uint32_t index, const PropertyCallbackInfo< Value > &info) IndexedPropertyDescriptorCallback
bool(*)(Local< Context > accessing_context, Local< Object > accessed_object, Local< Value > data) AccessCheckCallback
AccessControl
Definition v8-object.h:174
void(*)(uint32_t index, Local< Value > value, const PropertyCallbackInfo< Value > &info) IndexedPropertySetterCallback
void(*)(const FunctionCallbackInfo< Value > &info) FunctionCallback
void(*)(uint32_t index, const PropertyCallbackInfo< Value > &info) IndexedPropertyGetterCallback
void(*)(Local< Name > property, const PropertyCallbackInfo< Value > &info) GenericNamedPropertyDescriptorCallback
SideEffectType
Definition v8-object.h:203
void(*)(const PropertyCallbackInfo< Array > &info) GenericNamedPropertyEnumeratorCallback
void(*)(Local< Name > property, const PropertyCallbackInfo< Value > &info) GenericNamedPropertyGetterCallback
void(*)(Local< Name > property, Local< Value > value, const PropertyCallbackInfo< void > &info) AccessorNameSetterCallback
Definition v8-object.h:163
void(*)(Local< Name > property, const PropertyCallbackInfo< Integer > &info) GenericNamedPropertyQueryCallback
PropertyAttribute
Definition v8-object.h:137
void(*)(Local< Name > property, Local< Value > value, const PropertyCallbackInfo< Value > &info) GenericNamedPropertySetterCallback
void(*)(uint32_t index, const PropertyDescriptor &desc, const PropertyCallbackInfo< Value > &info) IndexedPropertyDefinerCallback
ConstructorBehavior
void(*)(const PropertyCallbackInfo< Array > &info) IndexedPropertyEnumeratorCallback
void(*)(Local< String > property, const PropertyCallbackInfo< Value > &info) AccessorGetterCallback
Definition v8-object.h:154
void(*)(Local< Name > property, const PropertyDescriptor &desc, const PropertyCallbackInfo< Value > &info) GenericNamedPropertyDefinerCallback
PropertyHandlerFlags
void(*)(uint32_t index, const PropertyCallbackInfo< Integer > &info) IndexedPropertyQueryCallback
IndexedPropertyHandlerConfiguration(IndexedPropertyGetterCallback getter=nullptr, IndexedPropertySetterCallback setter=nullptr, IndexedPropertyQueryCallback query=nullptr, IndexedPropertyDeleterCallback deleter=nullptr, IndexedPropertyEnumeratorCallback enumerator=nullptr, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
IndexedPropertyQueryCallback query
IndexedPropertyDefinerCallback definer
IndexedPropertyDeleterCallback deleter
IndexedPropertyDescriptorCallback descriptor
IndexedPropertyGetterCallback getter
IndexedPropertySetterCallback setter
IndexedPropertyHandlerConfiguration(IndexedPropertyGetterCallback getter, IndexedPropertySetterCallback setter, IndexedPropertyDescriptorCallback descriptor, IndexedPropertyDeleterCallback deleter, IndexedPropertyEnumeratorCallback enumerator, IndexedPropertyDefinerCallback definer, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
IndexedPropertyHandlerConfiguration(IndexedPropertyGetterCallback getter, IndexedPropertySetterCallback setter, IndexedPropertyQueryCallback query, IndexedPropertyDeleterCallback deleter, IndexedPropertyEnumeratorCallback enumerator, IndexedPropertyDefinerCallback definer, IndexedPropertyDescriptorCallback descriptor, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
IndexedPropertyEnumeratorCallback enumerator
NamedPropertyHandlerConfiguration(GenericNamedPropertyGetterCallback getter, GenericNamedPropertySetterCallback setter, GenericNamedPropertyDescriptorCallback descriptor, GenericNamedPropertyDeleterCallback deleter, GenericNamedPropertyEnumeratorCallback enumerator, GenericNamedPropertyDefinerCallback definer, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
GenericNamedPropertyQueryCallback query
GenericNamedPropertySetterCallback setter
GenericNamedPropertyGetterCallback getter
GenericNamedPropertyEnumeratorCallback enumerator
NamedPropertyHandlerConfiguration(GenericNamedPropertyGetterCallback getter, GenericNamedPropertySetterCallback setter, GenericNamedPropertyQueryCallback query, GenericNamedPropertyDeleterCallback deleter, GenericNamedPropertyEnumeratorCallback enumerator, GenericNamedPropertyDefinerCallback definer, GenericNamedPropertyDescriptorCallback descriptor, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
GenericNamedPropertyDefinerCallback definer
GenericNamedPropertyDescriptorCallback descriptor
GenericNamedPropertyDeleterCallback deleter
NamedPropertyHandlerConfiguration(GenericNamedPropertyGetterCallback getter=nullptr, GenericNamedPropertySetterCallback setter=nullptr, GenericNamedPropertyQueryCallback query=nullptr, GenericNamedPropertyDeleterCallback deleter=nullptr, GenericNamedPropertyEnumeratorCallback enumerator=nullptr, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
#define V8_INTRINSICS_LIST(F)
Definition v8-template.h:25
#define V8_DECL_INTRINSIC(name, iname)
Definition v8-template.h:37
#define V8_EXPORT
Definition v8config.h:578
#define V8_INLINE
Definition v8config.h:425
#define V8_DEPRECATED(message)
Definition v8config.h:462
#define V8_WARN_UNUSED_RESULT
Definition v8config.h:499