They can be defined on normal objects. The canonical example is
Array.prototype.length being implemented as an AccessorInfo.


On Mon, Jul 20, 2020 at 4:39 PM Jann G <[email protected]> wrote:

> Can an AccessorInfo be defined on normal objects or only custom receivers?
> There's been some confusion in bug reports like:
> https://bugs.chromium.org/p/chromium/issues/detail?id=1082355
> <https://bugs.chromium.org/p/chromium/issues/detail?id=1082355&q=%22PropertyCallbackArguments%3A%3ACallAccessorGetter%22&can=1>
>  which
> reaches PropertyCallbackArguments::CallAccessorGetter.
>
>
> On Monday, July 20, 2020 at 1:50:23 PM UTC+1, Jakob Kummerow wrote:
>>
>> AFAIK AccessorInfo can only be defined via the C++ API, i.e. by the
>> embedder (or by V8 itself). AccessorPair is what you get when you define
>> accessors via JavaScript.
>>
>>
>> On Mon, Jul 20, 2020 at 1:03 PM Jann Godspeed <[email protected]>
>> wrote:
>>
>>> I'm having trouble understanding how AccessInfo works. Can they only be
>>> defined on special objects?
>>>
>>>
>>> To define an AccessorPair on an object I would do something like
>>>
>>> let o = {}
>>> o.__defineGetter__("test", function() { });
>>>
>>> let o = {};
>>> ???
>>>
>>> --
>>> --
>>
>>

-- 
-- 
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/CAKSzg3RxoJDrz2DB4Lt1ww0me6T-3xi2xQfGD9nBabR4q%2BKLbw%40mail.gmail.com.

Reply via email to