| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/lib/python3/dist-packages/jedi/inference/__pycache__/ |
Upload File : |
�
e�� � �& � 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'�
Z4e4jk � D � �ci c] \ } }| d(|d)d z �� c}} Z6d*� Z7d+� Z8d,� Z9 e'e
�-� d.� � Z:ejv e7d/� � � Z<d0� Z=d1� Z>e7dDd2�� Z?ejv dDd3�� Z@d4� ZAed5� � ZBd6� ZCd7� ZDd8� ZEd9� ZFd:� ZGd;� ZHd<� ZId=� ZJ e3j� � d>� � ZL e'� d?� � ZMd@� ZN G dA� dBe� ZOdC� ZPyc c}} w )Ez&
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>>�&�|�^�__r� 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 �t �� | j }| j } |j |xx dz
cc<