class documentation

An abstract base class for functions represented by function.Signature. Subclasses should define call(self, node, f, args) and set self.bound_class.

Method __init__ Initialize a SimpleValue.
Method argcount Returns the minimum number of arguments needed for a call.
Method get_first_opcode Undocumented
Method get_nondefault_params Undocumented
Method match_and_map_args Calls match_args() and _map_args().
Method set_function_defaults Attempts to set default arguments of a function.
Method set_self_annot Set the annotation for `self` in a class.
Instance Variable signature Undocumented
Method _check_paramspec_args Undocumented
Method _map_args Map call args to function args.
Method _match_args_sequentially Undocumented
Method _mutations_generator Undocumented
Instance Variable _has_self_annot Undocumented

Inherited from Function:

Method __repr__ Undocumented
Method match_args Check whether the given arguments can match the function signature.
Method property_get Bind this value to the given self or cls.
Class Variable bound_class Undocumented
Instance Variable cls Undocumented
Instance Variable is_abstract Undocumented
Instance Variable is_attribute_of_class Undocumented
Instance Variable is_classmethod Undocumented
Instance Variable is_method Undocumented
Method _extract_defaults Extracts defaults from a Variable, used by set_function_defaults.
Method _get_cell_variable_name Get the python variable name of a pytype Variable.

Inherited from SimpleValue (via Function):

Method call Call this abstract value with the given arguments.
Method cls.setter Undocumented
Method get_fullhash Undocumented
Method get_instance_type_parameter Get a cfg.Variable of the instance's values for the type parameter.
Method get_type_key Build a key from the information used to perform type matching.
Method has_instance_type_parameter Check if the key is in `instance_type_parameters`.
Method instantiate Create an instance of self.
Method maybe_missing_members.setter Undocumented
Method merge_instance_type_parameter Set the value of a type parameter.
Method set_class Set the __class__ of an instance, for code that does "x.__class__ = y.
Method update_caches Undocumented
Instance Variable members Undocumented
Property instance_type_parameters Undocumented
Property maybe_missing_members Undocumented
Method _call_helper Undocumented
Method _get_changestamps Undocumented
Method _get_class Undocumented
Method _unique_parameters Get unique parameter subtypes as variables.
Instance Variable _cached_changestamps Undocumented
Instance Variable _cls Undocumented
Instance Variable _fullhash Undocumented
Instance Variable _instance_type_parameters Undocumented
Instance Variable _maybe_missing_members Undocumented
Instance Variable _type_key Undocumented

Inherited from BaseValue (via Function, SimpleValue):

Method compute_mro Undocumented
Method default_mro Undocumented
Method get_default_fullhash Undocumented
Method get_default_type_key Gets a default type key. See get_type_key.
Method get_formal_type_parameter Get the class's type for the type parameter.
Method get_instance_type Get the type an instance of us would have.
Method get_own_new Get this value's __new__ method, if it isn't object.__new__.
Method get_special_attribute Fetch a special attribute (e.g., __get__, __iter__).
Method has_kwargs Return True if this is a function and has a **kwargs parameter.
Method has_varargs Return True if this is a function and has a *args parameter.
Method init_subclass Allow metaprogramming via __init_subclass__.
Method is_late_annotation Undocumented
Method module.setter Undocumented
Method official_name.setter Undocumented
Method register_instance Treating self as a class definition, register an instance of it.
Method should_replace_self_annot Undocumented
Method to_annotation_container Undocumented
Method to_binding Undocumented
Method to_pytd_def Get a PyTD definition for this object.
Method to_type Get a PyTD type representing this object, as seen at a node.
Method to_variable Build a variable out of this abstract value.
Method unique_parameter_values Get unique parameter subtypes as bindings.
Method update_official_name Update the official name.
Class Variable formal Undocumented
Instance Variable final Undocumented
Instance Variable from_annotation Undocumented
Instance Variable is_concrete Undocumented
Instance Variable is_decorated Undocumented
Instance Variable mro Undocumented
Instance Variable name Undocumented
Instance Variable slots Undocumented
Property all_template_names Undocumented
Property full_name Undocumented
Property module Undocumented
Property official_name Undocumented
Property template Undocumented
Instance Variable _all_template_names Undocumented
Instance Variable _instance Undocumented
Instance Variable _module Undocumented
Instance Variable _official_name Undocumented
Instance Variable _template Undocumented

Inherited from ContextWeakrefMixin (via Function, SimpleValue, BaseValue):

Class Variable __slots__ Undocumented
Instance Variable ctx_weakref Undocumented
Property ctx Undocumented
def __init__(self, signature, ctx): (source)

Initialize a SimpleValue. Args: name: Name of this value. For debugging and error reporting. ctx: The abstract context.

def argcount(self, _): (source)

Returns the minimum number of arguments needed for a call.

def get_first_opcode(self): (source)
def get_nondefault_params(self): (source)
def match_and_map_args(self, node, args, alias_map): (source)

Calls match_args() and _map_args().

def set_function_defaults(self, node, defaults_var): (source)

Attempts to set default arguments of a function. If defaults_var is not an unambiguous tuple (i.e. one that can be processed by abstract_utils.get_atomic_python_constant), every argument is made optional and a warning is issued. This function emulates __defaults__. Args: node: The node where default arguments are being set. Needed if we cannot get a useful value from defaults_var. defaults_var: a Variable with a single binding to a tuple of default values.

@contextlib.contextmanager
def set_self_annot(self, annot_class): (source)

Set the annotation for `self` in a class.

signature = (source)

Undocumented

def _check_paramspec_args(self, args): (source)

Undocumented

def _map_args(self, node, args): (source)

Map call args to function args. This emulates how Python would map arguments of function calls. It takes care of keyword parameters, default parameters, and *args and **kwargs. Args: node: The current CFG node. args: The arguments. Returns: A dictionary, mapping strings (parameter names) to cfg.Variable. Raises: function.FailedFunctionCall: If the caller supplied incorrect arguments.

def _match_args_sequentially(self, node, args, alias_map, match_all_views): (source)
def _mutations_generator(self, node, first_arg, substs): (source)

Undocumented

_has_self_annot: bool = (source)

Undocumented