Ǯ/$ d dl mZ d dlmZ d dlmZmZ d dlmZ d dl m Z d dlmZ d dl mZ d dlmZ d Zd Zd Z e e de ddZdZdddZer! e eee dS dS ) )annotations)register_module_extender)extract_nodeparse PY39_PLUS)InferenceContext)AttributeInferenceError)AstroidManager)ClassDefc \ t dt z t z S )Nz class defaultdict(dict): default_factory = None def __missing__(self, key): pass def __getitem__(self, key): return default_factory )r _deque_mock_ordered_dict_mock q/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/astroid/brain/brain_collections.py_collections_transformr s7 -- r c " d} t r| dz } | S )Na class deque(object): maxlen = 0 def __init__(self, iterable=None, maxlen=None): self.iterable = iterable or [] def append(self, x): pass def appendleft(self, x): pass def clear(self): pass def count(self, x): return 0 def extend(self, iterable): pass def extendleft(self, iterable): pass def pop(self): return self.iterable[0] def popleft(self): return self.iterable[0] def remove(self, value): pass def reverse(self): return reversed(self.iterable) def rotate(self, n=1): return self def __iter__(self): return self def __reversed__(self): return self.iterable[::-1] def __getitem__(self, index): return self.iterable[index] def __setitem__(self, index, value): pass def __delitem__(self, index): pass def __bool__(self): return bool(self.iterable) def __nonzero__(self): return bool(self.iterable) def __contains__(self, o): return o in self.iterable def __len__(self): return len(self.iterable) def __copy__(self): return deque(self.iterable) def copy(self): return deque(self.iterable) def index(self, x, start=0, end=0): return 0 def insert(self, i, x): pass def __add__(self, other): pass def __iadd__(self, other): pass def __mul__(self, other): pass def __imul__(self, other): pass def __rmul__(self, other): passzK @classmethod def __class_getitem__(self, item): return clsr )base_deque_classs r r r s- !+D 9 9 9 r c " d} t r| dz } | S )Nz class OrderedDict(dict): def __reversed__(self): return self[::-1] def move_to_end(self, key, last=False): passzJ @classmethod def __class_getitem__(cls, item): return clsr )base_ordered_dict_classs r r r H s, 8 8 $8 8 #"r collectionsnoder returnboolc | d s'| d r( | d dS # t $ r Y nw xY wdS )z Returns True if the node corresponds to a ClassDef of the Collections.abc module that supports subscripting. :param node: ClassDef node _collectionsr __class_getitem__TF)qname startswithgetattrr )r s r _looks_like_subscriptabler" W s zz||~.. $**,,2I2I3 3 LL,---4&