class documentation

A class that contains additional parameters. E.g. a container. Attributes: base_cls: The base type. formal_type_parameters: An iterable of BaseValue, one for each type parameter.

Method __contains__ Undocumented
Method __eq__ Undocumented
Method __hash__ Undocumented
Method __init__ Basic initializer for all BaseValues.
Method __ne__ Undocumented
Method __repr__ Undocumented
Method call Call this abstract value with the given arguments.
Method cls.setter Undocumented
Method compute_mro Compute the class precedence list (mro) according to C3.
Method get_formal_type_parameter Get the class's type for the type parameter.
Method get_formal_type_parameters Undocumented
Method get_inner_types Undocumented
Method get_own_abstract_methods Get the abstract methods defined by this class.
Method get_own_attributes Get the attributes defined by this class.
Method has_protocol_base Returns whether this class inherits directly from typing.Protocol.
Method instantiate Create an instance of self.
Method official_name.setter Undocumented
Method replace Undocumented
Method set_class Undocumented
Method type_param_check Throw exception for invalid type parameters.
Method update_inner_type Undocumented
Instance Variable base_cls Undocumented
Instance Variable is_dynamic Undocumented
Instance Variable module Undocumented
Instance Variable slots Undocumented
Property cls Undocumented
Property formal_type_parameters Undocumented
Property members Undocumented
Property official_name Undocumented
Method _is_callable Undocumented
Method _load_formal_type_parameters Undocumented
Method _raw_formal_type_parameters Undocumented
Instance Variable _cls Undocumented
Instance Variable _formal_type_parameters Undocumented
Instance Variable _formal_type_parameters_loaded Undocumented
Instance Variable _hash Undocumented
Instance Variable _template Undocumented

Inherited from BaseValue:

Method argcount Returns the minimum number of arguments needed for a call.
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_fullhash Undocumented
Method get_instance_type Get the type an instance of us would have.
Method get_instance_type_parameter Get a cfg.Variable of the instance's values for the type parameter.
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 get_type_key Build a key from the information used to perform type matching.
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 property_get Bind this value to the given self or cls.
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
Property all_template_names Undocumented
Property full_name Undocumented
Property template Undocumented
Method _unique_parameters Get unique parameter subtypes as variables.
Instance Variable _all_template_names Undocumented
Instance Variable _instance Undocumented
Instance Variable _module Undocumented
Instance Variable _official_name Undocumented

Inherited from ContextWeakrefMixin (via BaseValue):

Class Variable __slots__ Undocumented
Instance Variable ctx_weakref Undocumented
Property ctx Undocumented

Inherited from Class (via BaseValue, ContextWeakrefMixin):

Method __new__ Prevent direct instantiation.
Method bases Undocumented
Method call_init Undocumented
Method call_init_subclass Call init_subclass(cls) for all base classes.
Method call_metaclass_init Call the metaclass's __init__ method if it does anything interesting.
Method compute_attr_metadata Sets combined metadata based on inherited and own attrs.
Method compute_is_dynamic Undocumented
Method get_annotated_local Undocumented
Method has_dynamic_attributes Undocumented
Method init_mixin Mix-in equivalent of __init__.
Method is_test_class Undocumented
Method record_attr_ordering Records the order of attrs to write in the output pyi.
Class Variable overloads Undocumented
Instance Variable abstract_methods Undocumented
Instance Variable additional_init_methods Undocumented
Instance Variable metadata Undocumented
Instance Variable overrides_bool Undocumented
Instance Variable protocol_attributes Undocumented
Property all_formal_type_parameters Undocumented
Property annotations_dict Undocumented
Property is_abstract Undocumented
Property is_enum Undocumented
Property is_protocol Undocumented
Property is_typed_dict_class Undocumented
Method _call_method Undocumented
Method _call_new_and_init Call __new__ if it has been overridden on the given value.
Method _check_not_instantiable Report [not-instantiable] if the class cannot be instantiated.
Method _get_attrs_from_mro Traverse the MRO and collect base class attributes for metadata_key.
Method _get_class Undocumented
Method _get_inherited_metaclass Undocumented
Method _get_mro_attrs_for_attrs Traverse the MRO and collect base class attributes for metadata_key.
Method _has_explicit_abcmeta Undocumented
Method _has_implicit_abcmeta Whether the class should be considered implicitly abstract.
Method _init_abstract_methods Compute this class's abstract methods.
Method _init_overrides_bool Compute and cache whether the class sets its own boolean value.
Method _init_protocol_attributes Compute this class's protocol attributes.
Method _load_all_formal_type_parameters Load _all_formal_type_parameters.
Method _new_instance Returns a (possibly cached) instance of 'self'.
Method _recompute_attrs_type_from_mro Traverse the MRO and apply Generic type params to class attributes.
Instance Variable _all_formal_type_parameters Undocumented
Instance Variable _all_formal_type_parameters_loaded Undocumented
Instance Variable _instance_cache Undocumented

Inherited from NestedAnnotation (via BaseValue, ContextWeakrefMixin, Class):

Instance Variable processed Undocumented
Instance Variable _seen_for_formal Undocumented
def __contains__(self, name): (source)

Undocumented

def __eq__(self, other): (source)

Undocumented

def __hash__(self): (source)

Undocumented

def __ne__(self, other): (source)

Undocumented

def call(self, node, func, args, alias_map=None): (source)

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).

@cls.setter
def cls(self, cls): (source)

Undocumented

def compute_mro(self): (source)

Compute the class precedence list (mro) according to C3.

def get_formal_type_parameter(self, t): (source)

Get the class's type for the type parameter. Treating self as a class_mixin.Class, gets its formal type for the given type parameter. For the real implementation, see ParameterizedClass.get_formal_type_parameter. Args: t: The name of the type parameter. Returns: A formal type.

def get_formal_type_parameters(self): (source)
def get_inner_types(self): (source)
def get_own_abstract_methods(self): (source)

Get the abstract methods defined by this class.

def get_own_attributes(self): (source)

Get the attributes defined by this class.

def has_protocol_base(self): (source)

Returns whether this class inherits directly from typing.Protocol. Subclasses that may inherit from Protocol should override this method.

def instantiate(self, node, container=None): (source)

Create an instance of self. Note that this method does not call __init__, so the instance may be incomplete. If you need a complete instance, use self.ctx.vm.init_class instead. Args: node: The current node. container: Optionally, the value that contains self. (See TypeParameter.) Returns: The instance.

@official_name.setter
def official_name(self, official_name): (source)
def replace(self, inner_types): (source)
def set_class(self, node, var): (source)

Undocumented

def type_param_check(self): (source)

Throw exception for invalid type parameters.

def update_inner_type(self, key, typ): (source)
base_cls = (source)

Undocumented

is_dynamic = (source)

Undocumented

@property
formal_type_parameters = (source)

Undocumented

Undocumented

def _is_callable(self): (source)

Undocumented

def _load_formal_type_parameters(self): (source)

Undocumented

def _raw_formal_type_parameters(self): (source)

Undocumented

Undocumented

_formal_type_parameters = (source)

Undocumented

_formal_type_parameters_loaded: bool = (source)

Undocumented

Undocumented