The method on line 6512 is an overload of 6504. The first three arguments 
are different, so if embedders call SetAccessor with a String argument, 
6504 will be called. If embedders call SetAccessor with a Name argument, 
6512 will be called.

On Tuesday, October 22, 2019 at 8:10:51 AM UTC-7, Alvaro Barcellos wrote:
>
> Hi,
>
> I was looking for tips inside v8.h and got surprised that lines 6504 to 
> 6511 are duplicated as 6512 to 6519, as void SetAccessor(...) block, why ? 
> is a trick to compiler or just a forgot ctrl-c&ctr-v ?
>
> 6482    *
>  6483    * \param name The name of the property for which an accessor is 
> added.
>  6484    * \param getter The callback to invoke when getting the property.
>  6485    * \param setter The callback to invoke when setting the property.
>  6486    * \param data A piece of data that will be passed to the getter 
> and setter
>  6487    *   callbacks whenever they are invoked.
>  6488    * \param settings Access control settings for the accessor. This 
> is a bit
>  6489    *   field consisting of one of more of
>  6490    *   DEFAULT = 0, ALL_CAN_READ = 1, or ALL_CAN_WRITE = 2.
>  6491    *   The default is to not allow cross-context access.
>  6492    *   ALL_CAN_READ means that all cross-context reads are allowed.
>  6493    *   ALL_CAN_WRITE means that all cross-context writes are allowed.
>  6494    *   The combination ALL_CAN_READ | ALL_CAN_WRITE can be used to 
> allow all
>  6495    *   cross-context access.
>  6496    * \param attribute The attributes of the property for which an 
> accessor
>  6497    *   is added.
>  6498    * \param signature The signature describes valid receivers for 
> the accessor
>  6499    *   and is used to perform implicit instance checks against them. 
> If the
>  6500    *   receiver is incompatible (i.e. is not an instance of the 
> constructor as
>  6501    *   defined by FunctionTemplate::HasInstance()), an implicit 
> TypeError is
>  6502    *   thrown and no callback is invoked.
>  6503    */
>  6504   void SetAccessor(
>  6505       Local<String> name, AccessorGetterCallback getter,
>  6506       AccessorSetterCallback setter = nullptr,
>  6507       Local<Value> data = Local<Value>(), AccessControl settings = 
> DEFAULT,
>  6508       PropertyAttribute attribute = None,
>  6509       Local<AccessorSignature> signature = 
> Local<AccessorSignature>(),
>  6510       SideEffectType getter_side_effect_type = 
> SideEffectType::kHasSideEffect,
>  6511       SideEffectType setter_side_effect_type = 
> SideEffectType::kHasSideEffect);
>  6512   void SetAccessor(
>  6513       Local<Name> name, AccessorNameGetterCallback getter,
>  6514       AccessorNameSetterCallback setter = nullptr,
>  6515       Local<Value> data = Local<Value>(), AccessControl settings = 
> DEFAULT,
>  6516       PropertyAttribute attribute = None,
>  6517       Local<AccessorSignature> signature = 
> Local<AccessorSignature>(),
>  6518       SideEffectType getter_side_effect_type = 
> SideEffectType::kHasSideEffect,
>  6519       SideEffectType setter_side_effect_type = 
> SideEffectType::kHasSideEffect);
>  6520 
>  6521   /**
>  6522    * Sets a named property handler on the object template.
>  6523    *
>
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/3d4a3b8d-9527-418b-aee6-c896d406ea61%40googlegroups.com.

Reply via email to