| 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 ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
dd lmZ dd
lmZ ddlmZmZ ddlmZ dd
lmZ dZd� Zej6 ed� � � Z ed�� ed� � � Zd� Zd� Zd� Z y)a�
One of the really important features of |jedi| is to have an option to
understand code like this::
def foo(bar):
bar. # completion here
foo(1)
There's no doubt wheter bar is an ``int`` or not, but if there's also a call
like ``foo('str')``, what would happen? Well, we'll just show both. Because
that's what a human would expect.
It works as follows:
- |Jedi| sees a param
- search for function calls named ``foo``
- execute these calls and check the input.
� )�settings)�debug)�get_parent_scope)�inference_state_method_cache)�
TreeArguments)�get_executed_param_names)�is_stdlib_path)�to_list)�instance)�ValueSet� NO_VALUES)�#get_module_contexts_containing_name)� recursion� c � � � � fd�}|S )Nc �F �� | j }t j || j � 5 }|r=|xj dz
c_ �| |� |xj dz c_ cd d d � S t
cd d d � S # |xj dz c_ w xY w# 1 sw Y y xY w)N� )�inference_stater �execution_allowed� tree_node�dynamic_params_depthr
)�function_value�param_index�inf�allowed�funcs ��?/usr/lib/python3/dist-packages/jedi/inference/dynamic_params.py�wrapperz"_avoid_recursions.<locals>.wrapper&