class Empty(Singleton): (source)
Known subclasses: pytype.abstract._singletons.Deleted
An empty value. These values represent items extracted from empty containers. Because of false positives in flagging containers as empty (consider: x = [] def initialize(): populate(x) def f(): iterate(x) ), we treat these values as placeholders that we can do anything with, similar to Unsolvable, with the difference that they eventually convert to NothingType so that cases in which they are truly empty are discarded (see: x = ... # type: List[nothing] or Dict[int, str] y = [i for i in x] # The type of i is int; y is List[int] ). On the other hand, if Empty is the sole type candidate, we assume that the container was populated elsewhere: x = [] def initialize(): populate(x) def f(): return x[0] # Oops! The return type should be Any rather than nothing. The nothing -> anything conversion happens in convert.Converter._function_to_def and tracer_vm.CallTracer.pytd_for_types.
Method | __init__ |
Basic initializer for all BaseValues. |
Inherited from Singleton
:
Method | __new__ |
Undocumented |
Method | call |
Call this abstract value with the given arguments. |
Method | compute |
Undocumented |
Method | get |
Fetch a special attribute (e.g., __get__, __iter__). |
Method | instantiate |
Create an instance of self. |
Class Variable | _instance |
Undocumented |
Inherited from BaseValue
(via Singleton
):
Method | __repr__ |
Undocumented |
Method | argcount |
Returns the minimum number of arguments needed for a call. |
Method | default |
Undocumented |
Method | get |
Undocumented |
Method | get |
Gets a default type key. See get_type_key. |
Method | get |
Get the class's type for the type parameter. |
Method | get |
Undocumented |
Method | get |
Get the type an instance of us would have. |
Method | get |
Get a cfg.Variable of the instance's values for the type parameter. |
Method | get |
Get this value's __new__ method, if it isn't object.__new__. |
Method | get |
Build a key from the information used to perform type matching. |
Method | has |
Return True if this is a function and has a **kwargs parameter. |
Method | has |
Return True if this is a function and has a *args parameter. |
Method | init |
Allow metaprogramming via __init_subclass__. |
Method | is |
Undocumented |
Method | module |
Undocumented |
Method | official |
Undocumented |
Method | property |
Bind this value to the given self or cls. |
Method | register |
Treating self as a class definition, register an instance of it. |
Method | should |
Undocumented |
Method | to |
Undocumented |
Method | to |
Undocumented |
Method | to |
Get a PyTD definition for this object. |
Method | to |
Get a PyTD type representing this object, as seen at a node. |
Method | to |
Build a variable out of this abstract value. |
Method | unique |
Get unique parameter subtypes as bindings. |
Method | update |
Update the official name. |
Class Variable | formal |
Undocumented |
Instance Variable | cls |
Undocumented |
Instance Variable | final |
Undocumented |
Instance Variable | from |
Undocumented |
Instance Variable | is |
Undocumented |
Instance Variable | is |
Undocumented |
Instance Variable | mro |
Undocumented |
Instance Variable | name |
Undocumented |
Instance Variable | slots |
Undocumented |
Property | all |
Undocumented |
Property | full |
Undocumented |
Property | module |
Undocumented |
Property | official |
Undocumented |
Property | template |
Undocumented |
Method | _unique |
Get unique parameter subtypes as variables. |
Instance Variable | _all |
Undocumented |
Instance Variable | _module |
Undocumented |
Instance Variable | _official |
Undocumented |
Instance Variable | _template |
Undocumented |
Inherited from ContextWeakrefMixin
(via Singleton
, BaseValue
):
Class Variable | __slots__ |
Undocumented |
Instance Variable | ctx |
Undocumented |
Property | ctx |
Undocumented |
pytype.abstract._base.BaseValue.__init__
pytype.abstract._singletons.Deleted
Basic initializer for all BaseValues.