403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.25
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/pythran/analyses/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/pythran/analyses/__pycache__/scope.cpython-311.pyc
�

cR�a`��^�dZddlmZddlmZddlmZddlmZddl	Z
Gd�de��ZdS)	z"
Scope computes scope information
�)�AncestorsWithBody)�DefUseChains)�FunctionAnalysis)�defaultdictNc�.��eZdZdZ�fd�Zd�Zd�Z�xZS)�ScopeaN
    Associate each variable declaration with the node that defines it

    Whenever possible, associate the variable declaration to an assignment,
    otherwise to a node that defines a bloc (e.g. a For)
    This takes OpenMP information into accounts!
    The result is a dictionary with nodes as key and set of names as values
    c�(��tt��|_tjtjtjtjtjtf|_
tt|���
tt��dS�N)r�set�result�ast�FunctionDef�For�
excepthandler�While�If�tuple�decl_holders�superr�__init__rr)�self�	__class__s ��8/usr/lib/python3/dist-packages/pythran/analyses/scope.pyrzScope.__init__s_���!�#�&�&��� �_�c�g� �.� �Y����7���	�e�T���#�#�$5�|�D�D�D�D�D�c���|jD]Y}||jvr�t|tj��r3|j�|jg���|���ZdSr
)	�deps�private_deps�
isinstancer
�Name�openmp_deps�
setdefault�id�append)r�node�deps   r�visit_OMPDirectivezScope.visit_OMPDirectivesq���9�	D�	D�C��d�'�'�'���#�s�x�(�(�
D�� �+�+�C�F�B�7�7�>�>�s�C�C�C��		D�	Drc����j�_t���_��|��t��}�jj|D]=}|�|���g���	|���>|�
��D�]�\}}d�|D��d�|D��z}|��fd��j�|g��D�����fd�|D��}d�t|�D��}|dd}	t|	�j��r�d�|D��}|��j�|g����t!��}
|D]V}|}�j|d|	ur(�j|d}�j|d|	u�(|
�|���W|	|
vrEt|	t$��r|	n|	j}
|
D]$}||
vrt|t(j��r|}	n�%�j|	�|�����dS)	Nc��g|]	}|j��
S��r$��.0�ds  r�
<listcomp>z+Scope.visit_FunctionDef.<locals>.<listcomp>4s��)�)�)�q�A�F�)�)�)rc�J�g|] }|���D]	}|j��
�!Sr))�usersr$)r,r-�us   rr.z+Scope.visit_FunctionDef.<locals>.<listcomp>4sO��-O�-O�-O�12�A�G�G�I�I�-O�-O�?@�./�V�-O�-O�-O�-Orc3�>�K�|]}�j|dV��dS)���N��	ancestors)r,r-rs  �r�	<genexpr>z*Scope.visit_FunctionDef.<locals>.<genexpr>7sK�����A�A����q�)�"�-�A�A�A�A�A�Arc�*��g|]}�j|��Sr)r4)r,�refrs  �rr.z+Scope.visit_FunctionDef.<locals>.<listcomp>:s ���=�=�=�����,�=�=�=rc�R�g|]$}tt|����dk�"|��%S)�)�lenr)r,�ps  rr.z+Scope.visit_FunctionDef.<locals>.<listcomp><s.��G�G�G�a�c�#�a�&�&�k�k�Q�6F�6F��6F�6F�6Fr���rc��g|]	}|j��
Sr)r*r+s  rr.z+Scope.visit_FunctionDef.<locals>.<listcomp>Cs��-�-�-�1���-�-�-r)�ancestors_with_bodyr5�dictr �
generic_visit�def_use_chains�localsr!�namer#�items�extend�get�ziprrr�addr�bodyr
�Assignr)rr$�name_to_defs�def_rD�defs�refsr5�prefixes�common�prefs�r�ancestorrJ�cs`              r�visit_FunctionDefzScope.visit_FunctionDef%s�����1��� �6�6������4� � � ��v�v���'�.�t�4�	B�	B�D��#�#�D�I�I�K�K��4�4�;�;�D�A�A�A�A�'�,�,�.�.�(	*�(	*�J�D�$�)�)�D�)�)�)�-O�-O�6:�-O�-O�-O�O�D�
�K�K�A�A�A�A�!%�!1�!5�!5�d�B�!?�!?�A�A�A�
A�
A�
A�>�=�=�=��=�=�=�I�G�G�3�	�?�G�G�G�H��b�\�!�_�F��&�$�"3�4�4�
"�-�-��-�-�-�����D�,�0�0��r�:�:�;�;�;������(�(�A� �H��.��2�2�6�f�D�D�#'�>�(�#;�B�#?���.��2�2�6�f�D�D��I�I�h�'�'�'�'�
��&�&�%/���%>�%>�O�6�6�F�K�D�!�"�"����:�:�)�!�S�Z�8�8�+�)*��!�E�&�
�K���#�#�D�)�)�)�)�Q(	*�(	*r)�__name__�
__module__�__qualname__�__doc__rr&rV�
__classcell__)rs@rrr
sh���������E�E�E�E�E�D�D�D�5*�5*�5*�5*�5*�5*�5*rr)rZ�pythran.analyses.ancestorsr�pythran.analyses.use_def_chainr�pythran.passmanagerr�collectionsr�gastr
rr)rr�<module>ras�����9�8�8�8�8�8�7�7�7�7�7�7�0�0�0�0�0�0�#�#�#�#�#�#�����M*�M*�M*�M*�M*��M*�M*�M*�M*�M*r

Youez - 2016 - github.com/yon3zu
LinuXploit