class documentation

Implementation of X[...] for annotations.

Method __init__ Initialize a SimpleValue.
Method __repr__ Undocumented
Method call Call this abstract value with the given arguments.
Instance Variable base_cls Undocumented
Method _build_value Undocumented
Method _get_value_info Get information about the container's inner values.
Method _sub_annotation Apply type parameter substitutions to an annotation.
Method _validate_inner Check that the passed inner values are valid for the given template.

Inherited from AnnotationClass:

Method getitem_slot Custom __getitem__ implementation.
Method _build_inner Build the list of parameters.
Method _get_class Undocumented

Inherited from SimpleValue (via AnnotationClass):

Method argcount Returns the minimum number of arguments needed for a call.
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 cls Undocumented
Property instance_type_parameters Undocumented
Property maybe_missing_members Undocumented
Method _call_helper Undocumented
Method _get_changestamps 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 AnnotationClass, 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 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
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 AnnotationClass, SimpleValue, BaseValue):

Class Variable __slots__ Undocumented
Instance Variable ctx_weakref Undocumented
Property ctx Undocumented

Inherited from HasSlots (via AnnotationClass, SimpleValue, BaseValue, ContextWeakrefMixin):

Method call_pytd Call the (original) pytd version of a method we overwrote.
Method init_mixin Undocumented
Method set_native_slot Add a new NativeFunction slot to this value.
Method set_slot Add a new slot to this value.
Class Variable overloads Undocumented
Instance Variable _slots Undocumented
Instance Variable _super Undocumented
def __init__(self, name, ctx, base_cls): (source)

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

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

base_cls = (source)

Undocumented

def _build_value(self, node, inner, ellipses): (source)
def _get_value_info(self, inner, ellipses, allowed_ellipses=frozenset()) -> Tuple[Tuple[_Union[int, str], ...], Tuple[_base.BaseValue, ...], Type[_classes.ParameterizedClass]]: (source)

Get information about the container's inner values. Args: inner: The list of parameters from _build_inner(). ellipses: The set of ellipsis indices from _build_inner(). allowed_ellipses: Optionally, a set of indices at which ellipses are allowed. If omitted, ellipses are assumed to be never allowed. Returns: A tuple of the template, the parameters, and the container class.

def _sub_annotation(self, annot: _base.BaseValue, subst: Mapping[str, _base.BaseValue]) -> _base.BaseValue: (source)

Apply type parameter substitutions to an annotation.

def _validate_inner(self, template, inner, raw_inner): (source)

Check that the passed inner values are valid for the given template.