5#ifndef INCLUDE_V8_TEMPLATE_H_
6#define INCLUDE_V8_TEMPLATE_H_
22class FunctionTemplate;
28#define V8_INTRINSICS_LIST(F) \
29 F(ArrayProto_entries, array_entries_iterator) \
30 F(ArrayProto_forEach, array_for_each_iterator) \
31 F(ArrayProto_keys, array_keys_iterator) \
32 F(ArrayProto_values, array_values_iterator) \
33 F(ArrayPrototype, initial_array_prototype) \
34 F(AsyncIteratorPrototype, initial_async_iterator_prototype) \
35 F(ErrorPrototype, initial_error_prototype) \
36 F(IteratorPrototype, initial_iterator_prototype) \
37 F(MapIteratorPrototype, initial_map_iterator_prototype) \
38 F(ObjProto_valueOf, object_value_of_function) \
39 F(SetIteratorPrototype, initial_set_iterator_prototype)
42#define V8_DECL_INTRINSIC(name, iname) k##name,
44#undef V8_DECL_INTRINSIC
78 void SetAccessorProperty(
104 void SetNativeDataProperty(
108 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
109 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
115 void SetLazyDataProperty(
118 SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
119 SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
192 "Use NamedPropertyGetterCallback instead") =
226 "Use NamedPropertySetterCallback instead") =
265 "Use NamedPropertyQueryCallback instead") =
303 "Use NamedPropertyDeleterCallback instead") =
317 "Use NamedPropertyEnumeratorCallback instead") =
351 "Use NamedPropertyDefinerCallback instead") =
388 "Use NamedPropertyDescriptorCallback instead") =
402 "Use IndexedPropertyGetterCallbackV2 instead") =
412 "Use IndexedPropertySetterCallbackV2 instead") =
423 "Use IndexedPropertyQueryCallbackV2 instead") =
433 "Use IndexedPropertyDeleterCallbackV2 instead") =
453 "Use IndexedPropertyDefinerCallbackV2 instead") =
464 "Use IndexedPropertyDescriptorCallbackV2 instead") =
593 const CFunction* c_function =
nullptr, uint16_t instance_type = 0,
594 uint16_t allowed_receiver_instance_type_range_start = 0,
595 uint16_t allowed_receiver_instance_type_range_end = 0);
613 SideEffectType side_effect_type = SideEffectType::kHasSideEffect);
640 void SetLength(
int length);
689 void SetAcceptAnyReceiver(
bool value);
695 void ReadOnlyPrototype();
701 void RemovePrototype();
724 void SealAndPrepareForPromotionToReadOnly();
731 static void CheckCast(
Data* that);
779 static_cast<int>(
flags) |
858 static_cast<int>(
flags) |
994 void MarkAsUndetectable();
1013 void SetAccessCheckCallbackAndHandler(
1023 int InternalFieldCount()
const;
1029 void SetInternalFieldCount(
int value);
1034 bool IsImmutableProto()
const;
1040 void SetImmutableProto();
1052 bool IsCodeLike()
const;
1059 static void CheckCast(
Data* that);
1093 static void CheckCast(
Data* that);
1117 static void CheckCast(
Data* that);
1130#ifdef V8_ENABLE_CHECKS
1137#ifdef V8_ENABLE_CHECKS
1144#ifdef V8_ENABLE_CHECKS
1151#ifdef V8_ENABLE_CHECKS
union v8::internal::@341::BuiltinMetadata::KindSpecificData data
static void CheckCast(Data *that)
static V8_INLINE DictionaryTemplate * Cast(Data *data)
static void CheckCast(Data *that)
static V8_INLINE FunctionTemplate * Cast(Data *data)
static void CheckCast(Data *that)
static V8_INLINE ObjectTemplate * Cast(Data *data)
static void CheckCast(Data *that)
static V8_INLINE Signature * Cast(Data *data)
static V8_WARN_UNUSED_RESULT MaybeLocal< String > NewFromUtf8(Isolate *isolate, const char *data, NewStringType type=NewStringType::kNormal, int length=-1)
void Set(Local< Name > name, Local< Data > value, PropertyAttribute attributes=None)
Handle< SharedFunctionInfo > info
Intercepted(*)(uint32_t index, const PropertyCallbackInfo< Boolean > &info) IndexedPropertyDeleterCallbackV2
void(*)(Local< Name > property, const PropertyCallbackInfo< Value > &info) AccessorNameGetterCallback
void(*)(const PropertyCallbackInfo< Array > &info) NamedPropertyEnumeratorCallback
Intercepted(*)( Local< Name > property, const PropertyCallbackInfo< Integer > &info) NamedPropertyQueryCallback
Intercepted(*)( uint32_t index, Local< Value > value, const PropertyCallbackInfo< void > &info) IndexedPropertySetterCallbackV2
bool(*)(Local< Context > accessing_context, Local< Object > accessed_object, Local< Value > data) AccessCheckCallback
Intercepted(*)(uint32_t index, const PropertyCallbackInfo< Value > &info) IndexedPropertyDescriptorCallbackV2
Intercepted(*)( Local< Name > property, const PropertyCallbackInfo< Value > &info) NamedPropertyGetterCallback
Intercepted(*)(uint32_t index, const PropertyCallbackInfo< Value > &info) IndexedPropertyGetterCallbackV2
Intercepted(*)(uint32_t index, const PropertyDescriptor &desc, const PropertyCallbackInfo< void > &info) IndexedPropertyDefinerCallbackV2
void(*)(const FunctionCallbackInfo< Value > &info) FunctionCallback
void(*)(const PropertyCallbackInfo< Array > &info) IndexedPropertyEnumeratorCallback
Intercepted(*)(Local< Name > property, const PropertyDescriptor &desc, const PropertyCallbackInfo< void > &info) NamedPropertyDefinerCallback
void(*)(Local< Name > property, Local< Value > value, const PropertyCallbackInfo< void > &info) AccessorNameSetterCallback
Intercepted(*)( Local< Name > property, const PropertyCallbackInfo< Value > &info) NamedPropertyDescriptorCallback
Intercepted(*)(Local< Name > property, Local< Value > value, const PropertyCallbackInfo< void > &info) NamedPropertySetterCallback
Intercepted(*)( Local< Name > property, const PropertyCallbackInfo< Boolean > &info) NamedPropertyDeleterCallback
Intercepted(*)(uint32_t index, const PropertyCallbackInfo< Integer > &info) IndexedPropertyQueryCallbackV2
@ kInternalNewCallbacksSignatures
IndexedPropertyHandlerConfiguration(IndexedPropertyGetterCallbackV2 getter=nullptr, IndexedPropertySetterCallbackV2 setter=nullptr, IndexedPropertyQueryCallbackV2 query=nullptr, IndexedPropertyDeleterCallbackV2 deleter=nullptr, IndexedPropertyEnumeratorCallback enumerator=nullptr, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
PropertyHandlerFlags flags
IndexedPropertyQueryCallbackV2 query
IndexedPropertyDeleterCallbackV2 deleter
IndexedPropertyGetterCallbackV2 getter
IndexedPropertyEnumeratorCallback enumerator
static constexpr PropertyHandlerFlags WithNewSignatureFlag(PropertyHandlerFlags flags)
IndexedPropertyHandlerConfiguration(IndexedPropertyGetterCallbackV2 getter, IndexedPropertySetterCallbackV2 setter, IndexedPropertyDescriptorCallbackV2 descriptor, IndexedPropertyDeleterCallbackV2 deleter, IndexedPropertyEnumeratorCallback enumerator, IndexedPropertyDefinerCallbackV2 definer, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
IndexedPropertyDescriptorCallbackV2 descriptor
IndexedPropertyHandlerConfiguration(IndexedPropertyGetterCallbackV2 getter, IndexedPropertySetterCallbackV2 setter, IndexedPropertyQueryCallbackV2 query, IndexedPropertyDeleterCallbackV2 deleter, IndexedPropertyEnumeratorCallback enumerator, IndexedPropertyDefinerCallbackV2 definer, IndexedPropertyDescriptorCallbackV2 descriptor, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
IndexedPropertySetterCallbackV2 setter
IndexedPropertyDefinerCallbackV2 definer
NamedPropertyDescriptorCallback descriptor
NamedPropertyHandlerConfiguration(NamedPropertyGetterCallback getter, NamedPropertySetterCallback setter, NamedPropertyQueryCallback query, NamedPropertyDeleterCallback deleter, NamedPropertyEnumeratorCallback enumerator, NamedPropertyDefinerCallback definer, NamedPropertyDescriptorCallback descriptor, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
NamedPropertySetterCallback setter
NamedPropertyDeleterCallback deleter
NamedPropertyHandlerConfiguration(NamedPropertyGetterCallback getter, NamedPropertySetterCallback setter, NamedPropertyDescriptorCallback descriptor, NamedPropertyDeleterCallback deleter, NamedPropertyEnumeratorCallback enumerator, NamedPropertyDefinerCallback definer, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
NamedPropertyEnumeratorCallback enumerator
NamedPropertyHandlerConfiguration(NamedPropertyGetterCallback getter, NamedPropertySetterCallback setter=nullptr, NamedPropertyQueryCallback query=nullptr, NamedPropertyDeleterCallback deleter=nullptr, NamedPropertyEnumeratorCallback enumerator=nullptr, Local< Value > data=Local< Value >(), PropertyHandlerFlags flags=PropertyHandlerFlags::kNone)
NamedPropertyQueryCallback query
NamedPropertyGetterCallback getter
static constexpr PropertyHandlerFlags WithNewSignatureFlag(PropertyHandlerFlags flags)
NamedPropertyDefinerCallback definer
PropertyHandlerFlags flags
#define V8_INTRINSICS_LIST(F)
#define V8_DECL_INTRINSIC(name, iname)
#define V8_DEPRECATE_SOON(message)
#define V8_WARN_UNUSED_RESULT
std::unique_ptr< ValueMirror > value