← Back
Editing: syntax_tree.cpython-311.pyc
� p�{c�� � �. � d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlm Z m Z mZmZm Z ddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZmZ ddlmZ ddlmZmZ ddlmZ ddlmZm Z m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddddddd d!d"d#d$d%d&d'� Z4d(� e4�5 � � D � � Z6d)� Z7d*� Z8d+� Z9 e'e �,� � d-� � � Z:ej; e7d.� � � � � Z<d/� Z=d0� Z>e7dCd1�� � Z?ej; dCd2�� � Z@d3� ZAed4� � � ZBd5� ZCd6� ZDd7� ZEd8� ZFd9� ZGd:� ZHd;� ZId<� ZJ e3jK � � d=� � � ZL e'� � d>� � � ZMd?� ZN G d@� dAe� � ZOdB� ZPdS )Dz& Functions inferring the syntax tree. � N)�tree)�debug)�parser_utils)�ValueSet� NO_VALUES�ContextualizedNode�iterator_to_value_set�iterate_values)� LazyTreeValue)�compiled)� recursion)�analysis)�imports)� arguments)� ClassValue� FunctionValue)�iterable)�ListModification�DictModification)�TreeInstance)� is_string� is_literal� is_number�get_names_of_node�is_big_annoying_library)�COMPARISON_OPERATORS)�inference_state_method_cache)�VersionInfo)� annotation)�TreeNameDefinition)�CompForContext�� Decoratee)�plugin_manager�__add__�__sub__�__mul__� __matmul__�__truediv__�__floordiv__�__mod__�__pow__� __lshift__� __rshift__�__and__�__or__�__xor__) �+�-�*�@�/z//�%�**z<<z>>�&�|�^c �0 � i | ]\ }}|d |dd� z ��S )�__r� N� )�.0�k�vs �</usr/lib/python3/dist-packages/jedi/inference/syntax_tree.py� <dictcomp>rD 2 s7 � � $� $� $���A�A�u�q����u�}�$� $� $� c � � � � fd�}|S )a{ This is for now the way how we limit type inference going wild. There are other ways to ensure recursion limits as well. This is mostly necessary because of instance (self) access that can be quite tricky to limit. I'm still not sure this is the way to go, but it looks okay for now and we can still go anther way in the future. Tests are there. ~ dave c �F �� | j }| j } |j |xx dz cc<