????

Your IP : 18.116.170.100


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/astroid/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/astroid/__pycache__/raw_building.cpython-311.pyc

�

�܋f[Y���UdZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZddlmZmZddlmZmZddlmZmZdd	lmZdd
lmZeje��Zee	j e	j!e	j"e	j#e	j$e	j%fZ&e'ej(��Z)e*e��Z+e,d��Z-e,e.��Z/e,d��Z0dId�Z1dJd�Z2efdId�Z3dId�Z4dKd�Z5dLdMd�Z6	dNdOd�Z7						dPdQd(�Z8dRd-�Z9dLdSd0�Z:dTd6�Z;dUd9�Z<dVd:�Z=dWd;�Z>dVd<�Z?		dXdYd=�Z@dZd@�ZAd[dB�ZBGdC�dD��ZCiZDdEeEdF<d\dG�ZFdJdH�ZGeG��dS)]z�this module contains a set of functions to create astroid trees from scratch
(build_* functions) or from living object (object_build_* functions)
�)�annotationsN)�Iterable)�redirect_stderr�redirect_stdout)�Any�Union)�bases�nodes)�_EMPTY_OBJECT_MARKER�IS_PYPY)�AstroidManager)�node_classes.�name�str�return�Nonec�>�||_|�|��dS�N)r�add_local_node)�parent�noders   �e/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/astroid/raw_building.py�_attach_local_noder0s#���D�I�
���$������c��|j}t|dd��}|sdSd�|jD��}t|||j��}|g|jd<dS)zFAdd a __class__ member to the given func node, if we can determine it.�__name__Nc��g|]	}|j��
S��r)�.0�ancestors  r�
<listcomp>z%_add_dunder_class.<locals>.<listcomp>;s��H�H�H�x��"�H�H�Hr�	__class__)r#�getattr�	__bases__�build_class�__doc__�instance_attrs)�func�member�
python_cls�cls_name�	cls_bases�	ast_klasss      r�_add_dunder_classr/5sg���!�J��z�:�t�4�4�H�����H�H�:�3G�H�H�H�I��H�i��1C�D�D�I�(1�{�D���$�$�$rc�\�tj��}||_t|||��dS)zdcreate a dummy node and register it in the locals of the given
    node with the specified name
    N)r
�	EmptyNode�objectr)rr�runtime_object�enodes    r�attach_dummy_noder5@s0��
�O���E�!�E�L��t�U�D�)�)�)�)�)rc�b�||jvr%t|tj|��|��dSdS)zdcreate a Const node and register it in the locals of the given
    node with the specified name
    N)�special_attributesrr
�
const_factory)rr�values   r�attach_const_noder:Is=���4�*�*�*��4��!4�U�!;�!;�T�B�B�B�B�B�+�*r�modname�
membernamec�X�tj||dfg��}t|||��dS)zicreate a ImportFrom node and register it in the locals of the given
    node with the specified name
    N)r
�
ImportFromr)rr;r<�	from_nodes    r�attach_import_noder@Qs6��� ��J��+=�*>�?�?�I��t�Y�
�3�3�3�3�3r�doc�
str | None�nodes.Modulec��tj|dd���}|�g|rtj|���nd���|S)z,create and initialize an astroid Module nodeF)�pure_python�package�r9N)�body�doc_node)r
�Module�postinit�Const)rrArs   r�build_modulerMYsW���<��%��?�?�?�D��M�M�
�+.�8���3�'�'�'�'�D������Krr�	basenames�
Iterable[str]�nodes.ClassDefc���tj|������fd�|D��gd|rtj|���nd����S)z/Create and initialize an astroid ClassDef node.c�<��g|]}tj|������S�)rr)r
�Name)r �basers  �rr"zbuild_class.<locals>.<listcomp>is(���H�H�H�d�u�z�t�D�1�1�1�H�H�HrNrG�r	rH�
decoratorsrI)r
�ClassDefrKrL)rrNrArs   @rr&r&csm����>�$���D��M�M�H�H�H�H�i�H�H�H�
��+.�8���3�'�'�'�'�D�	�����Kr�args�list[str] | None�posonlyargs�defaults�list[Any] | None�
kwonlyargs�kwonlydefaults�nodes.FunctionDefc	�^��tj|��}tj|����|��fd�|D��}nd}g}	|�6|D]2}
tj|
��}�|_|	�|���3nd}	g}|�6|D]2}
tj|
��}�|_|�|���3nd}��||	�fd�|pdD��|g�fd�|pdD�����|��g|rtj|���nd�	��|rt|��|S)
z1create and initialize an astroid FunctionDef node)rNc�<��g|]}tj|������SrS�r
�
AssignName�r �arg�argsnodes  �rr"z"build_function.<locals>.<listcomp>�s)���Q�Q�Q�S�U�%�3�x�@�@�@�Q�Q�Qrc�<��g|]}tj|������SrSrcres  �rr"z"build_function.<locals>.<listcomp>�s6���
�
�
�<?�E��#�h�7�7�7�
�
�
rrc�<��g|]}tj|������SrSrcres  �rr"z"build_function.<locals>.<listcomp>�s6���
�
�
�<?�E��#�h�7�7�7�
�
�
r)rYr\r^�kw_defaultsrr[rG)rYrHrI)	r
�FunctionDef�	Argumentsr8r�appendrKrL�register_arguments)rrYr[r\rAr^r_r)�	arguments�
default_nodes�default�default_node�kwonlydefault_nodes�
kwonlydefault�kwonlydefault_nodergs               @r�build_functionrvqs������T�"�"�D���d�+�+�+�H�
��Q�Q�Q�Q�D�Q�Q�Q�	�	��	�/1�M����	/�	/�G� �.�w�7�7�L�"*�L��� � ��.�.�.�.�	/�
�
�<>���!�+�	;�	;�M�!&�!4�]�!C�!C��(0��%��&�&�'9�:�:�:�:�	;�
#�����
��
�
�
�
�CM�CS�QS�
�
�
�(��
�
�
�
�CN�CT�RT�
�
�
�����	�M�M�
�
�+.�8���3�'�'�'�'�D�����
�!��4� � � ��Kr�fromname�names�	list[str]�nodes.ImportFromc�@�tj|d�|D����S)z<create and initialize an astroid ImportFrom import statementc��g|]}|df��Srr)r rs  rr"z%build_from_import.<locals>.<listcomp>�s��&F�&F�&F���d�|�&F�&F�&Fr)r
r>)rwrxs  r�build_from_importr}�s$����H�&F�&F��&F�&F�&F�G�G�Grr)�list | Nonec��|�r|jjr%|�|jj|j��|jjr%|�|jj|j��|jj}|�dS|D]M}t	|t
j��r|�|j|���8t||j	���NdS)z{add given arguments to local

    args is a list that may contains nested lists
    (i.e. def func(a, (b, c, d)): ...)
    N)
rY�vararg�	set_local�kwarg�
isinstancer
rdrrn�elts)r)rYrfs   rrnrn�s����|��9��	8��N�N�4�9�+�T�Y�7�7�7��9�?�	7��N�N�4�9�?�D�I�6�6�6��y�~���<��F��/�/���c�5�+�,�,�	/��N�N�3�8�S�)�)�)�)��t�S�X�.�.�.�.�	/�/rr�nodes.Module | nodes.ClassDefr*�type�	localnamec�J�d�|jD��}t||||���S)z(create astroid for a living class objectc��g|]	}|j��
Srr)r rUs  rr"z&object_build_class.<locals>.<listcomp>�s��<�<�<�4���<�<�<r)r�)r%�_base_class_object_build)rr*r�rNs    r�object_build_classr��s1��=�<�6�+;�<�<�<�I�#�D�&�)�y�Q�Q�Q�Qr�_FunctionTypes�<tuple[list[str], list[str], list[Any], list[str], list[Any]]c�8�tj|��}g}g}g}g}g}|j���D�][\}}|jtjjkr|�|��n�|jtjjkr|�|��n�|jtjj	kr|�|��n�|jtjj
kr|�|��nc|jtjjkrI|�|��|jtjj
ur|�|j����)|jtjj
ur|�|j����]|||||fS)zjReturns args, posonlyargs, defaults, kwonlyargs.

    :note: currently ignores the return annotation.
    )�inspect�	signature�
parameters�items�kind�	Parameter�POSITIONAL_ONLYrm�POSITIONAL_OR_KEYWORD�VAR_POSITIONAL�VAR_KEYWORD�KEYWORD_ONLYrq�empty)	r*r�rYr\r[r^r_�
param_name�params	         r�_get_args_info_from_callabler��s~���!�&�)�)�I��D��H��K��J� "�N�&�1�7�7�9�9�+�+��
�E��:��*�:�:�:����z�*�*�*�*�
�Z�7�,�B�
B�
B��K�K�
�#�#�#�#�
�Z�7�,�;�
;�
;��K�K�
�#�#�#�#�
�Z�7�,�8�
8�
8��K�K�
�#�#�#�#�
�Z�7�,�9�
9�
9����j�)�)�)��}�G�$5�$;�;�;��%�%�e�m�4�4�4���=�� 1� 7�7�7��O�O�E�M�*�*�*����h�
�N�B�Brc	��t|��\}}}}}tt|dd��p|||||j||���}|�||��dS)z+create astroid for a living function objectrN)r^r_)r�rvr$r'r)	rr*r�rYr[r\r^�kwonly_defaultsr)s	         r�object_build_functionr��s��	%�V�,�,�
���������
�D�)�)�6�Y�������&����D�	����i�(�(�(�(�(rc�&�t||g|��S)z2create astroid for a living data descriptor object)r�)rr*rs   r�object_build_datadescriptorr�s��$�D�&�"�d�;�;�;rc��tt|dd��p||j���}|�||��t	||��dS)z4create astroid for a living method descriptor objectrN)rA)rvr$r'rr/)rr*r�r)s    r�object_build_methoddescriptorr�s^�����
�D�)�)�6�Y�F�N����D�	����i�(�(�(��d�F�#�#�#�#�#rc��|pt|dd��p|}t|t��sJ�t|||j��}t|t
��|_|�||��	t|t��r|��j
}nt�	|���D]8\}}	tj��}
|	|
_||
_d|
_|
g|j|<�9n#t$rYnwxYw|S)zbcreate astroid for a living class object, with a given set of base names
    (e.g. ancestors)
    rN�)r$r�rr&r'r��	_newstyler�
issubclass�	Exception�__dict__�	TypeErrorr�r
r1r2r�linenor()rr*rNrr��
class_name�klass�instdict�	item_name�obj�valnodes           rr�r�#s,���G����T�:�:�G�i�J��j�#�&�&�&�&�&������
�
�E�
!���.�.�E�O�����y�)�)�)�8�
�f�i�(�(�	��v�x�x�(�H�H��O�
�'�n�n�.�.�	8�	8�N�I�s��o�'�'�G� �G�N�"�G�N��G�N�/6�i�E� ��+�+�	8���
�
�
���
�����Ls�4,C/�/
C<�;C<�module�types.ModuleTypec�(�	|j}n#t$rd}YnwxYwt|dd��}|�*t|t��sJ�t|||��dS|t|dd��krt
|||��dSt|||��dS)N�co_filename�__file__)�__code__�AttributeErrorr$r�r2r�r5r�)rrr*r��code�filenames      r�_build_from_functionr�Ks����������������������t�]�D�1�1�H����&�&�)�)�)�)�)�%�d�F�D�9�9�9�9�9�	�W�V�Z��6�6�	6�	6��$��f�-�-�-�-�-��d�F�D�1�1�1�1�1s�
���boolc�F�	t||��S#t$rYdSwxYw)zrRequired because unexpected RunTimeError can be raised.

    See https://github.com/PyCQA/astroid/issues/1958
    F)�hasattrr�)r�r*s  r�_safe_has_attributer�bs9��
��s�F�#�#�#�������u�u����s��
 � c�:�eZdZdZddd�Z		ddd�Zdd�Zdd�ZdS)�InspectBuilderz�class for building nodes from living object

    this is actually a really minimal representation, including only Module,
    FunctionDef and ClassDef nodes and some others as guessed.
    N�manager_instance�AstroidManager | Nonerrc�B�|p
t��|_i|_|dSr)r
�_manager�_done)�selfr�s  r�__init__zInspectBuilder.__init__ts'��(�<�N�,<�,<��
�SU��
��&�&�&rr�r�r;rB�pathrCc���||_|�|j}	t||j��}n#t$rt|��}YnwxYw|�|x|_|_n7tj�|��g|_|jd|_||_	|j
�|��t|d��|_
i|_|�||��|S)z�build astroid from a living module (i.e. using inspect)
        this is used when there is no python source code available (either
        because it's a built-in module or because the .py is not available)
        Nr�__path__)�_modulerrMr'r�r��file�os�abspathrr��cache_moduler�rFr��object_build)r�r�r;r�rs     r�
inspect_buildzInspectBuilder.inspect_buildys�������?��o�G�	)�����8�8�D�D���	)�	)�	)���(�(�D�D�D�	)�����<�$(�(�D�I��	�	������.�.�/�D�I��	�!��D�I���	��
�"�"�4�(�(�(��v�z�2�2�����
����$��'�'�'��s�(�A�Arr�r��types.ModuleType | typec� �||jvrdS||j|<t|��D�]�}to|dk}	tj��5tjd��t
||��}ddd��n#1swxYwYn #t$rt||��Y�}wxYwtj
|��r	|s|j}tj|��rt||||j����tj|��s|r+|�|||��r��t#|||����tj|��r�|�|||��r��8||jvr]|j|}t'|t(j��sJ�||j�|d��vr|�||��n't3|||��}|�||��|dkr|j�|j|j|_���tj|��rt#|||����tj|��rt=|||����9t'|t>��rtA|||����atj!|��rt||||j�����tE|d��r8tG|��}tI|||��|�||�����t|||�����dS)z}recursive method which create a partial ast from real objects
        (only function, class, and method are handled)
        N�__class_getitem__�ignorerr#�__all__)%r��dirr�warnings�catch_warnings�simplefilterr$r�r5r��ismethod�__func__�
isfunctionr�r��	isbuiltin�imported_memberr��isclassr�r
rX�locals�getrr�r�r�ismethoddescriptor�isdatadescriptorr��
_CONSTANTSr:�	isroutiner�rMr)r�rr�r�pypy__class_getitem__r*�
class_noder�s        rr�zInspectBuilder.object_build�s����$�*����4���
�3����H�H�3	6�3	6�D�%,�$K��8K�0K�!�
��,�.�.�0�0��)�(�3�3�3�$�S�$�/�/�F�0�0�0�0�0�0�0�0�0�0�0����0�0�0�0���"�
�
�
�!�$��-�-�-���
�������'�'�
)�0E�
)�����!�&�)�)�%
6�$�T�4����F�F�F�F��"�6�*�*�#
6�.C�#
6��'�'��f�d�;�;���-�d�F�D�A�A�A�A����(�(�
6��'�'��f�d�;�;����T�Z�'�'�!%��F�!3�J�%�j�%�.�A�A�A�A�A�!������r�)B�)B�B�B��+�+�J��=�=�=��!3�D�&�$�!G�!G�J��%�%�j�&�9�9�9��;�&�&�:�+<�+D�(,�
�4�<�(@�J�%���+�F�3�3�
6�-�d�F�D�A�A�A�A��)�&�1�1�
6�+�D�&�$�?�?�?�?��F�J�/�/�

6�!�$��f�5�5�5�5��"�6�*�*�
6�%�T�4����F�F�F�F�$�V�Y�7�7�
6�%�d�+�+��"�4���6�6�6��!�!�&�&�1�1�1�1�"�$��f�5�5�5�5��ts5�B�	%A:�.B�:A>	�>B�A>	�B�B#�"B#rrr�c���	t|dd��}n#t$rd}YnwxYw|�$|dvr
tj}nt	|||��dS|dkr|jjdksdSdd	i�||��}||jjk�rS	ttj	����5}ttj	����5}ttj||��|�
��}|r-t�d
|tj||��|�
��}	|	r-t�d|tj||	��ddd��n#1swxYwYddd��n#1swxYwYt#|||��n(#t$t&f$rt	|||��YnwxYwdSdS)z1verify this is not an imported class or handle it�
__module__N>�__new__�__subclasshook__T�_io�builtinsF�gtk�gtk_gtkz,Captured stderr while getting %s from %s:
%sz,Captured stdout while getting %s from %s:
%s)r$r�r�rr5r�r�r�io�StringIOr�sys�modules�getvalue�logger�error�infor@�KeyErrorr�)
r�rr*rr;�	real_name�stderr�stdout�stderr_value�stdout_values
          rr�zInspectBuilder.imported_member�s���
	��f�l�D�9�9�G�G���	�	�	��G�G�G�	�����?��6�6�6�#�+���!�$��f�5�5�5��t�
�e���D�L�$9�Z�$G�$G��5��I�&�*�*�7�G�<�<�	����-�-�-�
8�$�R�[�]�]�3�3��v���K�M�M�@�@����C�K��0�$�7�7�7�#)�?�?�#4�#4�L�#�����K� ��K��0�(�	���$*�?�?�#4�#4�L�#�����K� ��K��0�(�	���������������������������������������.#�4��$�7�7�7�7���n�-�
6�
6�
6�!�$��f�5�5�5�5�5�
6�����4��usg��#�#� F6�.!F�B'F�6F�F	�F�	F	�
F�
F6�F�F6� F�!F6�6"G�Gr)r�r�rr�NN)r�r�r;rBr�rBrrC)rr�r�r�rr)rrrr�)rr��__qualname__r'r�r�r�r�rrrr�r�ms���������'�'�'�'�'�#��	�����<=�=�=�=�~8�8�8�8�8�8rr�zdict[type, nodes.ClassDef]�_CONST_PROXYc�0�t|jjSr)rr9r#)�consts r�_set_proxiedrs�����-�.�.rc
�	�t��}|�t��}tj���D]�\}}|turtd��}||_n||turtd��}||_n\|turtd��}||_n<|�|j��d}t|tj��sJ�|t t"t$t&fvr||_��|t*|<��t-t.��tj_tjt2jj��}||_t2jjr$tjt2jj���nd}|�ggd|���|t:j_|�t:jjt2j��tAt2d��r�tjt2j!j��}||_t2j!jr$tjt2j!j���nd}|�ggd|���|t:j"_|�t:j"jt2j!��tAt2d	��r�tjt2j#j��}	||	_t2j#jr$tjt2j#j���nd}
|	�ggd|
���|	t:j#_|�t:j#jt2j#��t2j$t2jt2j%ttt2j&t2j't2j(t2j)t2j*f
}|D]�}|j|vrztj|j��}
||
_|
�ggd|jrtj|j���nd���|�|
|��|
||j<��dS)
z)astroid bootstrapping the builtins module�NoneType�NotImplementedType�EllipsisrrGNrV�AsyncGeneratorType�	UnionType)+r�r�r�r�	CONST_CLSr��	TYPE_NONEr&r�TYPE_NOTIMPLEMENTED�
TYPE_ELLIPSISr$rr�r
rX�dict�list�set�tuple�_proxiedr�propertyrrL�types�
GeneratorTyper'rKr	�	Generatorr�r�r�AsyncGeneratorr�GetSetDescriptorType�MemberDescriptorType�FunctionType�
MethodType�BuiltinFunctionType�
ModuleType�
TracebackType)�builder�astroid_builtin�cls�node_cls�proxy�_GeneratorType�generator_doc_node�_AsyncGeneratorType�async_generator_doc_node�_UnionTypeType�union_type_doc_node�
builtin_types�_typer�s              r�_astroid_bootstrappingr/s�����G��+�+�H�5�5�O�%�/�5�5�7�7�&�&�
��X��)����
�+�+�E�*�E�L�L�
�'�
'�
'�� 4�5�5�E�*�E�L�L�
�M�
!�
!��
�+�+�E�*�E�L�L�#�+�+�C�L�9�9�!�<�E��e�U�^�4�4�4�4�4��4��s�E�*�*�*� %�H��� %�L����$�L�1�1�E�K���^�E�$7�$@�A�A�N�+�N����&�	���%�-�5�6�6�6�6�
��
����
��#�	���� .�E�O�������1�5�3F�G�G�G��u�*�+�+�V�#�n�U�-E�-N�O�O��%4��"��'�/�
�E�K�e�6�>�?�?�?�?��	!�
	�$�$����-�		%�	
�	
�	
�)<���%����U�1�:�E�<T�U�U�U��u�k�"�"�H�����(@�A�A�� /�����&�
�E�K�e�o�5�6�6�6�6��	�
	������(�		 �	
�	
�	
�$2��� ����U�_�5�u��G�G�G�	�"�
��
�"���
��
��
�!�
��
���M��4�4���>��0�0��N�5�>�2�2�E�*�E�L��N�N����=B�]�T���5�=�9�9�9�9�PT�	
�
�
�
�
� � ���.�.�.�.3�O�E�N�+��4�4r)rrrr)rr)r;rr<rrrr)rrrArBrrC)rN)rrrNrOrArBrrP)NNNNNN)rrrYrZr[rZr\r]rArBr^rZr_r]rr`)rwrrxryrrz)r)r`rYr~rr)rr�r*r�r�rrrP)r*r�rr�)rr�r*r�r�rrr)rr�r*r�rrrrPr)rr�r*r�rNryrrBr�rBrrP)
rr�rrr*r�r�r�rr)r*rrr�)rrP)Hr'�
__future__rr�r�r��loggingr�r�rr��collections.abcr�
contextlibrr�typingrr�astroidr	r
�
astroid.constrr�astroid.managerr
�
astroid.nodesr�	getLoggerrr�rrr�WrapperDescriptorType�MethodDescriptorType�ClassMethodDescriptorTyper�rr
r��vars�	_BUILTINSr�r�NotImplementedrrrr/r5r:r@rMr&rvr}rnr�r�r�r�r�r�r�r�r�r�__annotations__rr/rrr�<module>rAs���
���#�"�"�"�"�"���������	�	�	�	�����	�	�	�	�
�
�
�
���������$�$�$�$�$�$�7�7�7�7�7�7�7�7��������� � � � � � � � �7�7�7�7�7�7�7�7�*�*�*�*�*�*�&�&�&�&�&�&�	��	�8�	$�	$���	��	��	��	��	��	�#�%����U�<�)�
*�
*�
��D��N�N�	��D��J�J�	��d�>�*�*����S�	�	�
� � � � �
3�3�3�3�7K�*�*�*�*�*�C�C�C�C�4�4�4�4������AE������ "�$(�!%��#'�'+�;�;�;�;�;�|H�H�H�H�
/�/�/�/�/�.R�R�R�R�C�C�C�C�D)�)�)�)�2<�<�<�<�$�$�$�$�$� �%�%�%�%�%�P2�2�2�2�.����a�a�a�a�a�a�a�a�L,.��-�-�-�-�/�/�/�/�
e4�e4�e4�e4�P������r