class SimpleFunction(SignedFunction): (source)
Known subclasses: pytype.overlays.enum_overlay.EnumCmpEQ
, pytype.overlays.enum_overlay.EnumMetaGetItem
, pytype.overlays.enum_overlay.EnumMetaInit
An abstract value representing a function with a particular signature. Unlike InterpreterFunction, a SimpleFunction has a set signature and does not record calls or try to infer types.
Class Method | build |
Returns a SimpleFunction. |
Method | __init__ |
Initialize a SimpleValue. |
Method | call |
Call this abstract value with the given arguments. |
Instance Variable | bound |
Undocumented |
Inherited from SignedFunction
:
Method | argcount |
Returns the minimum number of arguments needed for a call. |
Method | get |
Undocumented |
Method | get |
Undocumented |
Method | match |
Calls match_args() and _map_args(). |
Method | set |
Attempts to set default arguments of a function. |
Method | set |
Set the annotation for `self` in a class. |
Instance Variable | signature |
Undocumented |
Method | _check |
Undocumented |
Method | _map |
Map call args to function args. |
Method | _match |
Undocumented |
Method | _mutations |
Undocumented |
Instance Variable | _has |
Undocumented |
Inherited from Function
(via SignedFunction
):
Method | __repr__ |
Undocumented |
Method | match |
Check whether the given arguments can match the function signature. |
Method | property |
Bind this value to the given self or cls. |
Instance Variable | cls |
Undocumented |
Instance Variable | is |
Undocumented |
Instance Variable | is |
Undocumented |
Instance Variable | is |
Undocumented |
Instance Variable | is |
Undocumented |
Method | _extract |
Extracts defaults from a Variable, used by set_function_defaults. |
Method | _get |
Get the python variable name of a pytype Variable. |
Inherited from SimpleValue
(via SignedFunction
, Function
):
Method | cls |
Undocumented |
Method | get |
Undocumented |
Method | get |
Get a cfg.Variable of the instance's values for the type parameter. |
Method | get |
Build a key from the information used to perform type matching. |
Method | has |
Check if the key is in `instance_type_parameters`. |
Method | instantiate |
Create an instance of self. |
Method | maybe |
Undocumented |
Method | merge |
Set the value of a type parameter. |
Method | set |
Set the __class__ of an instance, for code that does "x.__class__ = y. |
Method | update |
Undocumented |
Instance Variable | members |
Undocumented |
Property | instance |
Undocumented |
Property | maybe |
Undocumented |
Method | _call |
Undocumented |
Method | _get |
Undocumented |
Method | _get |
Undocumented |
Method | _unique |
Get unique parameter subtypes as variables. |
Instance Variable | _cached |
Undocumented |
Instance Variable | _cls |
Undocumented |
Instance Variable | _fullhash |
Undocumented |
Instance Variable | _instance |
Undocumented |
Instance Variable | _maybe |
Undocumented |
Instance Variable | _type |
Undocumented |
Inherited from BaseValue
(via SignedFunction
, Function
, SimpleValue
):
Method | compute |
Undocumented |
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 |
Get the type an instance of us would have. |
Method | get |
Get this value's __new__ method, if it isn't object.__new__. |
Method | get |
Fetch a special attribute (e.g., __get__, __iter__). |
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 | 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 | 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 |
Instance Variable | _all |
Undocumented |
Instance Variable | _instance |
Undocumented |
Instance Variable | _module |
Undocumented |
Instance Variable | _official |
Undocumented |
Instance Variable | _template |
Undocumented |
Inherited from ContextWeakrefMixin
(via SignedFunction
, Function
, SimpleValue
, BaseValue
):
Class Variable | __slots__ |
Undocumented |
Instance Variable | ctx |
Undocumented |
Property | ctx |
Undocumented |
def build(cls, name, param_names, posonly_count, varargs_name, kwonly_params, kwargs_name, defaults, annotations, ctx): (source) ¶
Returns a SimpleFunction. Args: name: Name of the function as a string param_names: Tuple of parameter names as strings. This DOES include positional-only parameters and does NOT include keyword-only parameters. posonly_count: Number of positional-only parameters. varargs_name: The "args" in "*args". String or None. kwonly_params: Tuple of keyword-only parameters as strings. kwargs_name: The "kwargs" in "**kwargs". String or None. defaults: Dictionary of string names to values of default arguments. annotations: Dictionary of string names to annotations (strings or types). ctx: The abstract context for this function.
pytype.overlays.enum_overlay.EnumCmpEQ
, pytype.overlays.enum_overlay.EnumMetaGetItem
, pytype.overlays.enum_overlay.EnumMetaInit
Initialize a SimpleValue. Args: name: Name of this value. For debugging and error reporting. ctx: The abstract context.
pytype.overlays.enum_overlay.EnumCmpEQ
, pytype.overlays.enum_overlay.EnumMetaGetItem
, pytype.overlays.enum_overlay.EnumMetaInit
Call this abstract value with the given arguments. The posargs and namedargs arguments may be modified by this function. Args: node: The CFGNode calling this function func: The cfg.Binding containing this function. args: Arguments for the call. alias_map: A datatypes.UnionFind, which stores all the type renaming information, mapping of type parameter name to its representative. Returns: A tuple (cfg.Node, cfg.Variable). The CFGNode corresponds to the function's "return" statement(s). Raises: function.FailedFunctionCall Make the call as required by this specific kind of atomic value, and make sure to annotate the results correctly with the origins (val and also other values appearing in the arguments).