libv8-node 22.7.0.3-arm64-darwin → 23.6.1.0-arm64-darwin
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/libv8/node/version.rb +3 -3
- data/vendor/v8/arm64-darwin/libv8/obj/libv8_monolith.a +0 -0
- data/vendor/v8/include/cppgc/allocation.h +10 -11
- data/vendor/v8/include/cppgc/garbage-collected.h +8 -0
- data/vendor/v8/include/cppgc/heap-statistics.h +2 -0
- data/vendor/v8/include/cppgc/internal/api-constants.h +6 -1
- data/vendor/v8/include/cppgc/internal/compiler-specific.h +9 -1
- data/vendor/v8/include/cppgc/internal/gc-info.h +12 -10
- data/vendor/v8/include/cppgc/internal/member-storage.h +6 -0
- data/vendor/v8/include/cppgc/internal/name-trait.h +5 -1
- data/vendor/v8/include/cppgc/name-provider.h +7 -0
- data/vendor/v8/include/v8-array-buffer.h +44 -24
- data/vendor/v8/include/v8-callbacks.h +10 -5
- data/vendor/v8/include/v8-context.h +41 -9
- data/vendor/v8/include/v8-cppgc.h +3 -55
- data/vendor/v8/include/v8-date.h +9 -0
- data/vendor/v8/include/v8-embedder-heap.h +4 -1
- data/vendor/v8/include/v8-exception.h +70 -0
- data/vendor/v8/include/v8-fast-api-calls.h +31 -38
- data/vendor/v8/include/v8-function-callback.h +203 -62
- data/vendor/v8/include/v8-function.h +4 -3
- data/vendor/v8/include/v8-handle-base.h +2 -2
- data/vendor/v8/include/v8-initialization.h +18 -1
- data/vendor/v8/include/v8-inspector.h +6 -3
- data/vendor/v8/include/v8-internal.h +303 -58
- data/vendor/v8/include/v8-isolate.h +58 -39
- data/vendor/v8/include/v8-local-handle.h +18 -19
- data/vendor/v8/include/v8-message.h +0 -21
- data/vendor/v8/include/v8-metrics.h +4 -0
- data/vendor/v8/include/v8-microtask-queue.h +0 -5
- data/vendor/v8/include/v8-object.h +284 -35
- data/vendor/v8/include/v8-persistent-handle.h +0 -19
- data/vendor/v8/include/v8-platform.h +21 -35
- data/vendor/v8/include/v8-primitive.h +92 -1
- data/vendor/v8/include/v8-profiler.h +38 -1
- data/vendor/v8/include/v8-promise.h +2 -2
- data/vendor/v8/include/v8-sandbox.h +173 -0
- data/vendor/v8/include/v8-script.h +44 -14
- data/vendor/v8/include/v8-snapshot.h +38 -2
- data/vendor/v8/include/v8-template.h +105 -263
- data/vendor/v8/include/v8-traced-handle.h +4 -15
- data/vendor/v8/include/v8-unwinder.h +2 -1
- data/vendor/v8/include/v8-util.h +1 -117
- data/vendor/v8/include/v8-value.h +3 -2
- data/vendor/v8/include/v8-version.h +3 -3
- data/vendor/v8/include/v8-wasm.h +3 -0
- data/vendor/v8/include/v8config.h +51 -7
- metadata +4 -3
@@ -9,6 +9,7 @@
|
|
9
9
|
#include <string_view>
|
10
10
|
|
11
11
|
#include "v8-data.h" // NOLINT(build/include_directory)
|
12
|
+
#include "v8-exception.h" // NOLINT(build/include_directory)
|
12
13
|
#include "v8-function-callback.h" // NOLINT(build/include_directory)
|
13
14
|
#include "v8-local-handle.h" // NOLINT(build/include_directory)
|
14
15
|
#include "v8-memory-span.h" // NOLINT(build/include_directory)
|
@@ -60,6 +61,22 @@ class V8_EXPORT Template : public Data {
|
|
60
61
|
V8_INLINE void Set(Isolate* isolate, const char* name, Local<Data> value,
|
61
62
|
PropertyAttribute attributes = None);
|
62
63
|
|
64
|
+
/**
|
65
|
+
* Sets an "accessor property" on the object template, see
|
66
|
+
* https://tc39.es/ecma262/#sec-object-type.
|
67
|
+
*
|
68
|
+
* Whenever the property with the given name is accessed on objects
|
69
|
+
* created from this ObjectTemplate the getter and setter functions
|
70
|
+
* are called.
|
71
|
+
*
|
72
|
+
* \param name The name of the property for which an accessor is added.
|
73
|
+
* \param getter The callback to invoke when getting the property.
|
74
|
+
* \param setter The callback to invoke when setting the property.
|
75
|
+
* \param data A piece of data that will be passed to the getter and setter
|
76
|
+
* callbacks whenever they are invoked.
|
77
|
+
* \param attribute The attributes of the property for which an accessor
|
78
|
+
* is added.
|
79
|
+
*/
|
63
80
|
void SetAccessorProperty(
|
64
81
|
Local<Name> name,
|
65
82
|
Local<FunctionTemplate> getter = Local<FunctionTemplate>(),
|
@@ -67,12 +84,18 @@ class V8_EXPORT Template : public Data {
|
|
67
84
|
PropertyAttribute attribute = None);
|
68
85
|
|
69
86
|
/**
|
87
|
+
* Sets a "data property" on the object template, see
|
88
|
+
* https://tc39.es/ecma262/#sec-object-type.
|
89
|
+
*
|
70
90
|
* Whenever the property with the given name is accessed on objects
|
71
91
|
* created from this Template the getter and setter callbacks
|
72
92
|
* are called instead of getting and setting the property directly
|
73
93
|
* on the JavaScript object.
|
94
|
+
* Note that in case a property is written via a "child" object, the setter
|
95
|
+
* will not be called according to the JavaScript specification. See
|
96
|
+
* https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver.
|
74
97
|
*
|
75
|
-
* \param name The name of the property for which an accessor is added.
|
98
|
+
* \param name The name of the data property for which an accessor is added.
|
76
99
|
* \param getter The callback to invoke when getting the property.
|
77
100
|
* \param setter The callback to invoke when setting the property.
|
78
101
|
* \param data A piece of data that will be passed to the getter and setter
|
@@ -80,27 +103,6 @@ class V8_EXPORT Template : public Data {
|
|
80
103
|
* \param attribute The attributes of the property for which an accessor
|
81
104
|
* is added.
|
82
105
|
*/
|
83
|
-
V8_DEPRECATE_SOON("Use SetNativeDataProperty without AccessControl instead")
|
84
|
-
void SetNativeDataProperty(
|
85
|
-
Local<String> name, AccessorGetterCallback getter,
|
86
|
-
AccessorSetterCallback setter, Local<Value> data,
|
87
|
-
PropertyAttribute attribute, AccessControl settings,
|
88
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
89
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
90
|
-
V8_DEPRECATE_SOON("Use SetNativeDataProperty without AccessControl instead")
|
91
|
-
void SetNativeDataProperty(
|
92
|
-
Local<Name> name, AccessorNameGetterCallback getter,
|
93
|
-
AccessorNameSetterCallback setter, Local<Value> data,
|
94
|
-
PropertyAttribute attribute, AccessControl settings,
|
95
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
96
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
97
|
-
V8_DEPRECATE_SOON("Use SetNativeDataProperty with Local<Name> instead")
|
98
|
-
void SetNativeDataProperty(
|
99
|
-
Local<String> name, AccessorGetterCallback getter,
|
100
|
-
AccessorSetterCallback setter = nullptr,
|
101
|
-
Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
|
102
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
103
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
104
106
|
void SetNativeDataProperty(
|
105
107
|
Local<Name> name, AccessorNameGetterCallback getter,
|
106
108
|
AccessorNameSetterCallback setter = nullptr,
|
@@ -142,7 +144,8 @@ enum class Intercepted : uint8_t { kNo = 0, kYes = 1 };
|
|
142
144
|
* Interceptor for get requests on an object.
|
143
145
|
*
|
144
146
|
* If the interceptor handles the request (i.e. the property should not be
|
145
|
-
* looked up beyond the interceptor) it
|
147
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
148
|
+
* should
|
146
149
|
* - (optionally) use info.GetReturnValue().Set()` to set the return value
|
147
150
|
* (by default the result is set to v8::Undefined),
|
148
151
|
* - return `Intercepted::kYes`.
|
@@ -194,7 +197,8 @@ using GenericNamedPropertyGetterCallback =
|
|
194
197
|
* Interceptor for set requests on an object.
|
195
198
|
*
|
196
199
|
* If the interceptor handles the request (i.e. the property should not be
|
197
|
-
* looked up beyond the interceptor
|
200
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
201
|
+
* should return `Intercepted::kYes`.
|
198
202
|
* If the interceptor does not handle the request it must return
|
199
203
|
* `Intercepted::kNo` and it must not produce side effects.
|
200
204
|
*
|
@@ -229,9 +233,10 @@ using GenericNamedPropertySetterCallback =
|
|
229
233
|
* defineProperty().
|
230
234
|
*
|
231
235
|
* If the interceptor handles the request (i.e. the property should not be
|
232
|
-
* looked up beyond the interceptor) it
|
233
|
-
*
|
234
|
-
*
|
236
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
237
|
+
* should
|
238
|
+
* - (optionally) use `info.GetReturnValue().Set()` to set to an Integer
|
239
|
+
* value encoding a `v8::PropertyAttribute` bits,
|
235
240
|
* - return `Intercepted::kYes`.
|
236
241
|
* If the interceptor does not handle the request it must return
|
237
242
|
* `Intercepted::kNo` and it must not produce side effects.
|
@@ -263,9 +268,10 @@ using GenericNamedPropertyQueryCallback =
|
|
263
268
|
* Interceptor for delete requests on an object.
|
264
269
|
*
|
265
270
|
* If the interceptor handles the request (i.e. the property should not be
|
266
|
-
* looked up beyond the interceptor) it
|
267
|
-
*
|
268
|
-
*
|
271
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
272
|
+
* should
|
273
|
+
* - (optionally) use `info.GetReturnValue().Set()` to set to a Boolean value
|
274
|
+
* indicating whether the property deletion was successful or not,
|
269
275
|
* - return `Intercepted::kYes`.
|
270
276
|
* If the interceptor does not handle the request it must return
|
271
277
|
* `Intercepted::kNo` and it must not produce side effects.
|
@@ -311,7 +317,8 @@ using GenericNamedPropertyEnumeratorCallback = NamedPropertyEnumeratorCallback;
|
|
311
317
|
* Interceptor for defineProperty requests on an object.
|
312
318
|
*
|
313
319
|
* If the interceptor handles the request (i.e. the property should not be
|
314
|
-
* looked up beyond the interceptor
|
320
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
321
|
+
* should return `Intercepted::kYes`.
|
315
322
|
* If the interceptor does not handle the request it must return
|
316
323
|
* `Intercepted::kNo` and it must not produce side effects.
|
317
324
|
*
|
@@ -344,10 +351,11 @@ using GenericNamedPropertyDefinerCallback =
|
|
344
351
|
* Interceptor for getOwnPropertyDescriptor requests on an object.
|
345
352
|
*
|
346
353
|
* If the interceptor handles the request (i.e. the property should not be
|
347
|
-
* looked up beyond the interceptor) it
|
348
|
-
*
|
349
|
-
*
|
350
|
-
*
|
354
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
355
|
+
* should
|
356
|
+
* - (optionally) use `info.GetReturnValue().Set()` to set the return value
|
357
|
+
* which must be object that can be converted to a PropertyDescriptor (for
|
358
|
+
* example, a value returned by `v8::Object::getOwnPropertyDescriptor`),
|
351
359
|
* - return `Intercepted::kYes`.
|
352
360
|
* If the interceptor does not handle the request it must return
|
353
361
|
* `Intercepted::kNo` and it must not produce side effects.
|
@@ -379,7 +387,7 @@ using GenericNamedPropertyDescriptorCallback =
|
|
379
387
|
// removed.
|
380
388
|
|
381
389
|
/**
|
382
|
-
* See `v8::
|
390
|
+
* See `v8::NamedPropertyGetterCallback`.
|
383
391
|
*/
|
384
392
|
using IndexedPropertyGetterCallbackV2 =
|
385
393
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
|
@@ -388,7 +396,7 @@ using IndexedPropertyGetterCallback =
|
|
388
396
|
void (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
|
389
397
|
|
390
398
|
/**
|
391
|
-
* See `v8::
|
399
|
+
* See `v8::NamedPropertySetterCallback`.
|
392
400
|
*/
|
393
401
|
using IndexedPropertySetterCallbackV2 = Intercepted (*)(
|
394
402
|
uint32_t index, Local<Value> value, const PropertyCallbackInfo<void>& info);
|
@@ -398,7 +406,7 @@ using IndexedPropertySetterCallback =
|
|
398
406
|
const PropertyCallbackInfo<Value>& info);
|
399
407
|
|
400
408
|
/**
|
401
|
-
* See `v8::
|
409
|
+
* See `v8::NamedPropertyQueryCallback`.
|
402
410
|
*/
|
403
411
|
using IndexedPropertyQueryCallbackV2 =
|
404
412
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Integer>& info);
|
@@ -407,7 +415,7 @@ using IndexedPropertyQueryCallback =
|
|
407
415
|
void (*)(uint32_t index, const PropertyCallbackInfo<Integer>& info);
|
408
416
|
|
409
417
|
/**
|
410
|
-
* See `v8::
|
418
|
+
* See `v8::NamedPropertyDeleterCallback`.
|
411
419
|
*/
|
412
420
|
using IndexedPropertyDeleterCallbackV2 =
|
413
421
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Boolean>& info);
|
@@ -425,7 +433,7 @@ using IndexedPropertyEnumeratorCallback =
|
|
425
433
|
void (*)(const PropertyCallbackInfo<Array>& info);
|
426
434
|
|
427
435
|
/**
|
428
|
-
* See `v8::
|
436
|
+
* See `v8::NamedPropertyDefinerCallback`.
|
429
437
|
*/
|
430
438
|
using IndexedPropertyDefinerCallbackV2 =
|
431
439
|
Intercepted (*)(uint32_t index, const PropertyDescriptor& desc,
|
@@ -436,7 +444,7 @@ using IndexedPropertyDefinerCallback =
|
|
436
444
|
const PropertyCallbackInfo<Value>& info);
|
437
445
|
|
438
446
|
/**
|
439
|
-
* See `v8::
|
447
|
+
* See `v8::NamedPropertyDescriptorCallback`.
|
440
448
|
*/
|
441
449
|
using IndexedPropertyDescriptorCallbackV2 =
|
442
450
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
|
@@ -489,8 +497,8 @@ enum class ConstructorBehavior { kThrow, kAllow };
|
|
489
497
|
* proto_t->Set(isolate, "proto_const", v8::Number::New(isolate, 2));
|
490
498
|
*
|
491
499
|
* v8::Local<v8::ObjectTemplate> instance_t = t->InstanceTemplate();
|
492
|
-
* instance_t->
|
493
|
-
|
500
|
+
* instance_t->SetNativeDataProperty(
|
501
|
+
* String::NewFromUtf8Literal(isolate, "instance_accessor"),
|
494
502
|
* InstanceAccessorCallback);
|
495
503
|
* instance_t->SetHandler(
|
496
504
|
* NamedPropertyHandlerConfiguration(PropertyHandlerCallback));
|
@@ -650,6 +658,18 @@ class V8_EXPORT FunctionTemplate : public Template {
|
|
650
658
|
*/
|
651
659
|
void SetClassName(Local<String> name);
|
652
660
|
|
661
|
+
/**
|
662
|
+
* Set the interface name of the FunctionTemplate. This is provided as
|
663
|
+
* contextual information in an ExceptionPropagationMessage to the embedder.
|
664
|
+
*/
|
665
|
+
void SetInterfaceName(Local<String> name);
|
666
|
+
|
667
|
+
/**
|
668
|
+
* Provides information on the type of FunctionTemplate for embedder
|
669
|
+
* exception handling.
|
670
|
+
*/
|
671
|
+
void SetExceptionContext(ExceptionContext context);
|
672
|
+
|
653
673
|
/**
|
654
674
|
* When set to true, no access check will be performed on the receiver of a
|
655
675
|
* function call. Currently defaults to true, but this is subject to change.
|
@@ -752,34 +772,13 @@ struct NamedPropertyHandlerConfiguration {
|
|
752
772
|
NamedPropertyDescriptorCallback descriptor, //
|
753
773
|
Local<Value> data = Local<Value>(),
|
754
774
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
755
|
-
: getter(
|
756
|
-
setter(
|
757
|
-
query(
|
758
|
-
deleter(
|
759
|
-
enumerator(enumerator),
|
760
|
-
definer(reinterpret_cast<void*>(definer)),
|
761
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
762
|
-
data(data),
|
763
|
-
flags(WithNewSignatureFlag(flags)) {}
|
764
|
-
|
765
|
-
// This variant will be deprecated soon.
|
766
|
-
NamedPropertyHandlerConfiguration(
|
767
|
-
GenericNamedPropertyGetterCallback getter,
|
768
|
-
GenericNamedPropertySetterCallback setter,
|
769
|
-
GenericNamedPropertyQueryCallback query,
|
770
|
-
GenericNamedPropertyDeleterCallback deleter,
|
771
|
-
GenericNamedPropertyEnumeratorCallback enumerator,
|
772
|
-
GenericNamedPropertyDefinerCallback definer,
|
773
|
-
GenericNamedPropertyDescriptorCallback descriptor,
|
774
|
-
Local<Value> data = Local<Value>(),
|
775
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
776
|
-
: getter(reinterpret_cast<void*>(getter)),
|
777
|
-
setter(reinterpret_cast<void*>(setter)),
|
778
|
-
query(reinterpret_cast<void*>(query)),
|
779
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
775
|
+
: getter(getter),
|
776
|
+
setter(setter),
|
777
|
+
query(query),
|
778
|
+
deleter(deleter),
|
780
779
|
enumerator(enumerator),
|
781
|
-
definer(
|
782
|
-
descriptor(
|
780
|
+
definer(definer),
|
781
|
+
descriptor(descriptor),
|
783
782
|
data(data),
|
784
783
|
flags(flags) {}
|
785
784
|
|
@@ -791,29 +790,10 @@ struct NamedPropertyHandlerConfiguration {
|
|
791
790
|
NamedPropertyEnumeratorCallback enumerator = nullptr,
|
792
791
|
Local<Value> data = Local<Value>(),
|
793
792
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
794
|
-
: getter(
|
795
|
-
setter(
|
796
|
-
query(
|
797
|
-
deleter(
|
798
|
-
enumerator(enumerator),
|
799
|
-
definer(nullptr),
|
800
|
-
descriptor(nullptr),
|
801
|
-
data(data),
|
802
|
-
flags(WithNewSignatureFlag(flags)) {}
|
803
|
-
|
804
|
-
// This variant will be deprecated soon.
|
805
|
-
explicit NamedPropertyHandlerConfiguration(
|
806
|
-
GenericNamedPropertyGetterCallback getter,
|
807
|
-
GenericNamedPropertySetterCallback setter = nullptr,
|
808
|
-
GenericNamedPropertyQueryCallback query = nullptr,
|
809
|
-
GenericNamedPropertyDeleterCallback deleter = nullptr,
|
810
|
-
GenericNamedPropertyEnumeratorCallback enumerator = nullptr,
|
811
|
-
Local<Value> data = Local<Value>(),
|
812
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
813
|
-
: getter(reinterpret_cast<void*>(getter)),
|
814
|
-
setter(reinterpret_cast<void*>(setter)),
|
815
|
-
query(reinterpret_cast<void*>(query)),
|
816
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
793
|
+
: getter(getter),
|
794
|
+
setter(setter),
|
795
|
+
query(query),
|
796
|
+
deleter(deleter),
|
817
797
|
enumerator(enumerator),
|
818
798
|
definer(nullptr),
|
819
799
|
descriptor(nullptr),
|
@@ -829,43 +809,23 @@ struct NamedPropertyHandlerConfiguration {
|
|
829
809
|
NamedPropertyDefinerCallback definer, //
|
830
810
|
Local<Value> data = Local<Value>(),
|
831
811
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
832
|
-
: getter(
|
833
|
-
setter(
|
812
|
+
: getter(getter),
|
813
|
+
setter(setter),
|
834
814
|
query(nullptr),
|
835
|
-
deleter(
|
815
|
+
deleter(deleter),
|
836
816
|
enumerator(enumerator),
|
837
|
-
definer(
|
838
|
-
descriptor(
|
839
|
-
data(data),
|
840
|
-
flags(WithNewSignatureFlag(flags)) {}
|
841
|
-
|
842
|
-
// This variant will be deprecated soon.
|
843
|
-
NamedPropertyHandlerConfiguration(
|
844
|
-
GenericNamedPropertyGetterCallback getter,
|
845
|
-
GenericNamedPropertySetterCallback setter,
|
846
|
-
GenericNamedPropertyDescriptorCallback descriptor,
|
847
|
-
GenericNamedPropertyDeleterCallback deleter,
|
848
|
-
GenericNamedPropertyEnumeratorCallback enumerator,
|
849
|
-
GenericNamedPropertyDefinerCallback definer,
|
850
|
-
Local<Value> data = Local<Value>(),
|
851
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
852
|
-
: getter(reinterpret_cast<void*>(getter)),
|
853
|
-
setter(reinterpret_cast<void*>(setter)),
|
854
|
-
query(nullptr),
|
855
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
856
|
-
enumerator(enumerator),
|
857
|
-
definer(reinterpret_cast<void*>(definer)),
|
858
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
817
|
+
definer(definer),
|
818
|
+
descriptor(descriptor),
|
859
819
|
data(data),
|
860
820
|
flags(flags) {}
|
861
821
|
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
822
|
+
NamedPropertyGetterCallback getter;
|
823
|
+
NamedPropertySetterCallback setter;
|
824
|
+
NamedPropertyQueryCallback query;
|
825
|
+
NamedPropertyDeleterCallback deleter;
|
866
826
|
NamedPropertyEnumeratorCallback enumerator;
|
867
|
-
|
868
|
-
|
827
|
+
NamedPropertyDefinerCallback definer;
|
828
|
+
NamedPropertyDescriptorCallback descriptor;
|
869
829
|
Local<Value> data;
|
870
830
|
PropertyHandlerFlags flags;
|
871
831
|
};
|
@@ -891,34 +851,13 @@ struct IndexedPropertyHandlerConfiguration {
|
|
891
851
|
IndexedPropertyDescriptorCallbackV2 descriptor, //
|
892
852
|
Local<Value> data = Local<Value>(),
|
893
853
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
894
|
-
: getter(
|
895
|
-
setter(
|
896
|
-
query(
|
897
|
-
deleter(
|
854
|
+
: getter(getter),
|
855
|
+
setter(setter),
|
856
|
+
query(query),
|
857
|
+
deleter(deleter),
|
898
858
|
enumerator(enumerator),
|
899
|
-
definer(
|
900
|
-
descriptor(
|
901
|
-
data(data),
|
902
|
-
flags(WithNewSignatureFlag(flags)) {}
|
903
|
-
|
904
|
-
// This variant will be deprecated soon.
|
905
|
-
IndexedPropertyHandlerConfiguration(
|
906
|
-
IndexedPropertyGetterCallback getter, //
|
907
|
-
IndexedPropertySetterCallback setter, //
|
908
|
-
IndexedPropertyQueryCallback query, //
|
909
|
-
IndexedPropertyDeleterCallback deleter, //
|
910
|
-
IndexedPropertyEnumeratorCallback enumerator, //
|
911
|
-
IndexedPropertyDefinerCallback definer, //
|
912
|
-
IndexedPropertyDescriptorCallback descriptor, //
|
913
|
-
Local<Value> data = Local<Value>(),
|
914
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
915
|
-
: getter(reinterpret_cast<void*>(getter)),
|
916
|
-
setter(reinterpret_cast<void*>(setter)),
|
917
|
-
query(reinterpret_cast<void*>(query)),
|
918
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
919
|
-
enumerator(enumerator),
|
920
|
-
definer(reinterpret_cast<void*>(definer)),
|
921
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
859
|
+
definer(definer),
|
860
|
+
descriptor(descriptor),
|
922
861
|
data(data),
|
923
862
|
flags(flags) {}
|
924
863
|
|
@@ -930,29 +869,10 @@ struct IndexedPropertyHandlerConfiguration {
|
|
930
869
|
IndexedPropertyEnumeratorCallback enumerator = nullptr,
|
931
870
|
Local<Value> data = Local<Value>(),
|
932
871
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
933
|
-
: getter(
|
934
|
-
setter(
|
935
|
-
query(
|
936
|
-
deleter(
|
937
|
-
enumerator(enumerator),
|
938
|
-
definer(nullptr),
|
939
|
-
descriptor(nullptr),
|
940
|
-
data(data),
|
941
|
-
flags(WithNewSignatureFlag(flags)) {}
|
942
|
-
|
943
|
-
// This variant will be deprecated soon.
|
944
|
-
explicit IndexedPropertyHandlerConfiguration(
|
945
|
-
IndexedPropertyGetterCallback getter,
|
946
|
-
IndexedPropertySetterCallback setter = nullptr,
|
947
|
-
IndexedPropertyQueryCallback query = nullptr,
|
948
|
-
IndexedPropertyDeleterCallback deleter = nullptr,
|
949
|
-
IndexedPropertyEnumeratorCallback enumerator = nullptr,
|
950
|
-
Local<Value> data = Local<Value>(),
|
951
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
952
|
-
: getter(reinterpret_cast<void*>(getter)),
|
953
|
-
setter(reinterpret_cast<void*>(setter)),
|
954
|
-
query(reinterpret_cast<void*>(query)),
|
955
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
872
|
+
: getter(getter),
|
873
|
+
setter(setter),
|
874
|
+
query(query),
|
875
|
+
deleter(deleter),
|
956
876
|
enumerator(enumerator),
|
957
877
|
definer(nullptr),
|
958
878
|
descriptor(nullptr),
|
@@ -968,43 +888,23 @@ struct IndexedPropertyHandlerConfiguration {
|
|
968
888
|
IndexedPropertyDefinerCallbackV2 definer,
|
969
889
|
Local<Value> data = Local<Value>(),
|
970
890
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
971
|
-
: getter(
|
972
|
-
setter(
|
891
|
+
: getter(getter),
|
892
|
+
setter(setter),
|
973
893
|
query(nullptr),
|
974
|
-
deleter(
|
894
|
+
deleter(deleter),
|
975
895
|
enumerator(enumerator),
|
976
|
-
definer(
|
977
|
-
descriptor(
|
978
|
-
data(data),
|
979
|
-
flags(WithNewSignatureFlag(flags)) {}
|
980
|
-
|
981
|
-
// This variant will be deprecated soon.
|
982
|
-
IndexedPropertyHandlerConfiguration(
|
983
|
-
IndexedPropertyGetterCallback getter,
|
984
|
-
IndexedPropertySetterCallback setter,
|
985
|
-
IndexedPropertyDescriptorCallback descriptor,
|
986
|
-
IndexedPropertyDeleterCallback deleter,
|
987
|
-
IndexedPropertyEnumeratorCallback enumerator,
|
988
|
-
IndexedPropertyDefinerCallback definer,
|
989
|
-
Local<Value> data = Local<Value>(),
|
990
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
991
|
-
: getter(reinterpret_cast<void*>(getter)),
|
992
|
-
setter(reinterpret_cast<void*>(setter)),
|
993
|
-
query(nullptr),
|
994
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
995
|
-
enumerator(enumerator),
|
996
|
-
definer(reinterpret_cast<void*>(definer)),
|
997
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
896
|
+
definer(definer),
|
897
|
+
descriptor(descriptor),
|
998
898
|
data(data),
|
999
899
|
flags(flags) {}
|
1000
900
|
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
901
|
+
IndexedPropertyGetterCallbackV2 getter;
|
902
|
+
IndexedPropertySetterCallbackV2 setter;
|
903
|
+
IndexedPropertyQueryCallbackV2 query;
|
904
|
+
IndexedPropertyDeleterCallbackV2 deleter;
|
1005
905
|
IndexedPropertyEnumeratorCallback enumerator;
|
1006
|
-
|
1007
|
-
|
906
|
+
IndexedPropertyDefinerCallbackV2 definer;
|
907
|
+
IndexedPropertyDescriptorCallbackV2 descriptor;
|
1008
908
|
Local<Value> data;
|
1009
909
|
PropertyHandlerFlags flags;
|
1010
910
|
};
|
@@ -1029,36 +929,6 @@ class V8_EXPORT ObjectTemplate : public Template {
|
|
1029
929
|
*/
|
1030
930
|
V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(Local<Context> context);
|
1031
931
|
|
1032
|
-
/**
|
1033
|
-
* Sets an accessor on the object template.
|
1034
|
-
*
|
1035
|
-
* Whenever the property with the given name is accessed on objects
|
1036
|
-
* created from this ObjectTemplate the getter and setter callbacks
|
1037
|
-
* are called instead of getting and setting the property directly
|
1038
|
-
* on the JavaScript object.
|
1039
|
-
*
|
1040
|
-
* \param name The name of the property for which an accessor is added.
|
1041
|
-
* \param getter The callback to invoke when getting the property.
|
1042
|
-
* \param setter The callback to invoke when setting the property.
|
1043
|
-
* \param data A piece of data that will be passed to the getter and setter
|
1044
|
-
* callbacks whenever they are invoked.
|
1045
|
-
* \param attribute The attributes of the property for which an accessor
|
1046
|
-
* is added.
|
1047
|
-
*/
|
1048
|
-
V8_DEPRECATE_SOON("Use SetAccessor with Local<Name> instead")
|
1049
|
-
void SetAccessor(
|
1050
|
-
Local<String> name, AccessorGetterCallback getter,
|
1051
|
-
AccessorSetterCallback setter = nullptr,
|
1052
|
-
Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
|
1053
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
1054
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
1055
|
-
void SetAccessor(
|
1056
|
-
Local<Name> name, AccessorNameGetterCallback getter,
|
1057
|
-
AccessorNameSetterCallback setter = nullptr,
|
1058
|
-
Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
|
1059
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
1060
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
1061
|
-
|
1062
932
|
/**
|
1063
933
|
* Sets a named property handler on the object template.
|
1064
934
|
*
|
@@ -1072,34 +942,6 @@ class V8_EXPORT ObjectTemplate : public Template {
|
|
1072
942
|
*/
|
1073
943
|
void SetHandler(const NamedPropertyHandlerConfiguration& configuration);
|
1074
944
|
|
1075
|
-
/**
|
1076
|
-
* Sets an indexed property handler on the object template.
|
1077
|
-
*
|
1078
|
-
* Whenever an indexed property is accessed on objects created from
|
1079
|
-
* this object template, the provided callback is invoked instead of
|
1080
|
-
* accessing the property directly on the JavaScript object.
|
1081
|
-
*
|
1082
|
-
* \param getter The callback to invoke when getting a property.
|
1083
|
-
* \param setter The callback to invoke when setting a property.
|
1084
|
-
* \param query The callback to invoke to check if an object has a property.
|
1085
|
-
* \param deleter The callback to invoke when deleting a property.
|
1086
|
-
* \param enumerator The callback to invoke to enumerate all the indexed
|
1087
|
-
* properties of an object.
|
1088
|
-
* \param data A piece of data that will be passed to the callbacks
|
1089
|
-
* whenever they are invoked.
|
1090
|
-
*/
|
1091
|
-
V8_DEPRECATE_SOON("Use SetHandler instead")
|
1092
|
-
void SetIndexedPropertyHandler(
|
1093
|
-
IndexedPropertyGetterCallback getter,
|
1094
|
-
IndexedPropertySetterCallback setter = nullptr,
|
1095
|
-
IndexedPropertyQueryCallback query = nullptr,
|
1096
|
-
IndexedPropertyDeleterCallback deleter = nullptr,
|
1097
|
-
IndexedPropertyEnumeratorCallback enumerator = nullptr,
|
1098
|
-
Local<Value> data = Local<Value>()) {
|
1099
|
-
SetHandler(IndexedPropertyHandlerConfiguration(getter, setter, query,
|
1100
|
-
deleter, enumerator, data));
|
1101
|
-
}
|
1102
|
-
|
1103
945
|
/**
|
1104
946
|
* Sets an indexed property handler on the object template.
|
1105
947
|
*
|
@@ -62,11 +62,11 @@ class TracedReferenceBase : public api_internal::IndirectHandleBase {
|
|
62
62
|
V8_INLINE void Reset();
|
63
63
|
|
64
64
|
/**
|
65
|
-
* Construct a Local<
|
65
|
+
* Construct a Local<Data> from this handle.
|
66
66
|
*/
|
67
|
-
V8_INLINE Local<
|
68
|
-
if (IsEmpty()) return Local<
|
69
|
-
return Local<
|
67
|
+
V8_INLINE Local<Data> Get(Isolate* isolate) const {
|
68
|
+
if (IsEmpty()) return Local<Data>();
|
69
|
+
return Local<Data>::New(isolate, this->value<Data>());
|
70
70
|
}
|
71
71
|
|
72
72
|
/**
|
@@ -135,17 +135,6 @@ class BasicTracedReference : public TracedReferenceBase {
|
|
135
135
|
const_cast<BasicTracedReference<T>&>(*this));
|
136
136
|
}
|
137
137
|
|
138
|
-
V8_DEPRECATE_SOON("Use Get to convert to Local instead")
|
139
|
-
V8_INLINE T* operator->() const {
|
140
|
-
#ifdef V8_ENABLE_CHECKS
|
141
|
-
CheckValue();
|
142
|
-
#endif // V8_ENABLE_CHECKS
|
143
|
-
return this->template value<T>();
|
144
|
-
}
|
145
|
-
|
146
|
-
V8_DEPRECATE_SOON("Use Get to convert to Local instead")
|
147
|
-
V8_INLINE T* operator*() const { return this->operator->(); }
|
148
|
-
|
149
138
|
private:
|
150
139
|
/**
|
151
140
|
* An empty BasicTracedReference without storage cell.
|