← Back
Editing: dynamic_arrays.cpython-311.pyc
� p�{cg � �> � d Z ddlmZ ddlmZ ddlmZ ddlmZmZm Z m Z ddlmZ ddl mZ ddlmZ e� � Zd � Z ee� � � ej d� � � � � Zd� Z G d � de � � Z G d� de � � Z G d� de� � Z G d� de� � ZdS )a� A module to deal with stuff like `list.append` and `set.add`. Array modifications ******************* If the content of an array (``set``/``list``) is requested somewhere, the current module will be checked for appearances of ``arr.append``, ``arr.insert``, etc. If the ``arr`` name points to an actual array, the content will be added This can be really cpu intensive, as you can imagine. Because |jedi| has to follow **every** ``append`` and check whether it's the right array. However this works pretty good, because in *slow* cases, the recursion detector and other settings will stop this process. It is important to note that: 1. Array modifications work only in the current module. 2. Jedi only checks Array additions; ``list.pop``, etc are ignored. � )�debug)�settings)� recursion)�ValueSet� NO_VALUES�HelperValueMixin�ValueWrapper)�LazyKnownValues)�infer_call_of_leaf)�inference_state_method_cachec �B � |j dvrt S t | |� � S )zI Just a mapper function for the internal _internal_check_array_additions )�list�set)� array_typer �_internal_check_array_additions)�context�sequences �E/usr/lib/python3/dist-packages/jedi/inference/value/dynamic_arrays.py�check_array_additionsr "