403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
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 :  /usr/lib/python3/dist-packages/pythran/analyses/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

cR�a4���dZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZddl
ZddlmZGd	�d
e��ZdS)z9 GlobalEffects computes function effect on global state. �)�Aliases)�GlobalDeclarations)�ModuleAnalysis)�MODULES)�DiGraphN)�reducec�d��eZdZdZGd�de��Z�fd�Z�fd�Z�fd�Zd�Z	d�Z
d	�Z�xZS)
�
GlobalEffectsz;Add a flag on each function that updates a global variable.c��eZdZd�ZdS)�GlobalEffects.FunctionEffectc��||_t|tj��r	d|_dSt|t
j��r|j|_dSt|tj��r	d|_dSt|t��r	d|_dSt|t
j
��r	d|_dSt|t
j��r	d|_dStt|��|��t�)NFT)�func�
isinstance�ast�FunctionDef�
global_effect�	intrinsic�	Intrinsic�global_effects�alias�str�Class�UnboundValueType�print�type�NotImplementedError��self�nodes  �A/usr/lib/python3/dist-packages/pythran/analyses/global_effects.py�__init__z%GlobalEffects.FunctionEffect.__init__s����D�I��$���0�0�
*�%*��"�"�"��D�)�"5�6�6�
*�%)�%8��"�"�"��D�#�)�,�,�

*�%*��"�"�"��D�#�&�&�
*�%*��"�"�"��D�)�/�2�2�
*�%*��"�"�"��D�)�"<�=�=�
*�%)��"�"�"��d�4�j�j�$�'�'�'�)�)�N)�__name__�
__module__�__qualname__r!�r"r �FunctionEffectrs#������	*�	*�	*�	*�	*r"r'c���t��|_t��|_t	t
|���tt��dS�N)	r�result�dict�node_to_functioneffect�superr
r!rr)r�	__class__s �r r!zGlobalEffects.__init__%sA����i�i���&*�f�f��#�
�m�T�"�"�+�+�G�5G�H�H�H�H�Hr"c�6����tt����|����fd����j��t	j��D]
}�|���t�tj���j	tj<dS)z�
        Initialise globals effects as this analyse is inter-procedural.

        Initialisation done for Pythonic functions and default value set for
        user defined functions.
        c�H��|���D]�}t|t��r�|���#t�|��}|�j|<�j�|��t|tj	��r�|j
����dS)z4 Recursively save globals effect for all functions. N)�valuesrr+r
r'r,r*�add_noderr�fields)�module�v�fe�
register_noders   ��r r7z,GlobalEffects.prepare.<locals>.register_node3s�����]�]�_�_�
0�
0���a��&�&�0�!�M�!�$�$�$�$�&�5�5�a�8�8�B�57�D�/��2��K�(�(��,�,�,�!�!�Y�_�5�5�0�%�
�a�h�/�/�/��
0�
0r"N)
r-r
�prepare�global_declarationsrr1r'r�UnboundValuer,)rrr4r7r.s`  @�r r8zGlobalEffects.prepare*s������	�m�T�"�"�*�*�4�0�0�0�
	0�
	0�
	0�
	0�
	0�
	0�	�
�d�.�/�/�/��n�&�&�	"�	"�F��M�&�!�!�!�!��(�(��)?�@�@�	
�#�I�$:�;�;�;r"c���tt|���|��}d}|r=d}|D]6}|jr-|j�|��D]}|js	dx}|_��7|�=d�|D��|_|jS)NTFc�*�h|]}|j�	|j��Sr&)rr)�.0�fs  r �	<setcomp>z$GlobalEffects.run.<locals>.<setcomp>Os!��A�A�A�!���A�q�v�A�A�Ar")r-r
�runrr*�predecessors)rrr*�
keep_going�function�predr.s      �r r@zGlobalEffects.runEs�����}�d�+�+�/�/��5�5���
��	C��J�"�
C�
C���)�C� $�� 8� 8�� B� B�C�C��#�1�C�>B�B�J��);���
�	C�B�A�v�A�A�A����{�r"c�t�|j||_|j|jvsJ�|�|��dSr))r,�current_functionr*�
generic_visitrs  r �visit_FunctionDefzGlobalEffects.visit_FunctionDefRsB�� $� ;�D� A����$���3�3�3�3����4� � � � � r"c��d|j_dS)NT)rFr)r�_s  r �visit_PrintzGlobalEffects.visit_PrintWs��.2���+�+�+r"c�����j|j}t�fd�|t����}|D]�}t	|t
j��rDtj|jd|jdd�g��}��|���`|�j	vrtj}�j	|}�j�
�j|������|��dS)Nc���|t|tj��r&t�j�����n|gzSr))rr�Name�listr,�keys)�x�yrs  �r �<lambda>z*GlobalEffects.visit_Call.<locals>.<lambda>asC����!+�A�s�x�!8�!8�B�d�4�#>�#C�#C�#E�#E�F�F�F�?@�c�C�r"r�)�aliasesrrrOrr�Call�args�visitr,rr:r*�add_edgerFrG)rr�func_aliases�
func_alias�	fake_calls`    r �
visit_CallzGlobalEffects.visit_CallZs����|�D�I�.���
C�
C�
C�
C���F�F����'�
	D�
	D�J��*�c�h�/�/�
��H�Z�_�Q�%7�%/�_�Q�R�R�%8�"�>�>�	��
�
�9�%�%�%����!<�<�<�&�3�
��4�Z�@�J��K� � ��!6�
�C�C�C�C����4� � � � � r")
r#r$r%�__doc__�objectr'r!r8r@rHrKr]�
__classcell__)r.s@r r
r
s��������E�E�*�*�*�*�*��*�*�*�&I�I�I�I�I�
A�A�A�A�A�6�����!�!�!�
3�3�3�!�!�!�!�!�!�!r"r
)r^�pythran.analyses.aliasesr�$pythran.analyses.global_declarationsr�pythran.passmanagerr�pythran.tablesr�
pythran.graphr�pythran.intrinsicr�gastr�	functoolsrr
r&r"r �<module>ris���?�?�,�,�,�,�,�,�C�C�C�C�C�C�.�.�.�.�.�.�"�"�"�"�"�"�!�!�!�!�!�!�%�%�%�%�%�%�����������e!�e!�e!�e!�e!�N�e!�e!�e!�e!�e!r"

Youez - 2016 - github.com/yon3zu
LinuXploit