Member predicate CustomAbstractValueFromDefinition::getAPrototype
Gets an abstract value that represents a prototype object of this value.
We currently model three sources of prototypes:
-
direct assignments to
o.__proto__
are tracked; -
for an instance
o
of a functionf
, any value that can be shown to flow intof.prototype
is considered a prototype object ofo
; -
for an instance of a class
C
, any instance of a function or class that can be shown to flow into theextends
clause ofC
is considered a prototype object ofo
.
In all cases, purely local flow tracking is used to find prototype objects, so this predicate cannot be relied on to compute all possible prototype objects.