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__/argument_effects.cpython-311.pyc
�

cR�a����dZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZddl
Zdd	lmZGd
�de��ZiZd�Zej��D]
Zee���Gd
�de��ZdS)z5 ArgumentEffects computes write effect on arguments. �)�Aliases)�GlobalDeclarations)�ModuleAnalysis)�MODULES)�DiGraph)�	intrinsicN)�reducec��eZdZd�ZdS)�FunctionEffectsc��||_t|tj��r$dgt	|jj��z|_dSt|tj��rd�|j	D��|_dSt|tj
��r	g|_dSt|tj��r	g|_dSt�)NFc�B�g|]}t|tj����S�)�
isinstancer�UpdateEffect)�.0�xs  �C/usr/lib/python3/dist-packages/pythran/analyses/argument_effects.py�
<listcomp>z,FunctionEffects.__init__.<locals>.<listcomp>s;��#C�#C�#C�'(�$.�a��1G�#H�#H�#C�#C�#C�)
�funcr�ast�FunctionDef�len�args�update_effectsr�	Intrinsic�argument_effects�alias�Class�NotImplementedError��self�nodes  r�__init__zFunctionEffects.__init__s�����	��d�C�O�,�,�
	&�#(�'�C��	��,?�,?�"?�D����
��i�1�
2�
2�	&�#C�#C�,0�,A�#C�#C�#C�D����
��c�i�
(�
(�	&�"$�D����
��i�o�
.�
.�	&�"$�D����%�%rN)�__name__�
__module__�__qualname__r$rrrrrs#������&�&�&�&�&rrc��|���D]n}t|t��rt|���'t	|��}|t
|<t|tj��rt|j���odS)z: Recursively save function effect for pythonic functions. N)	�valuesr�dict�save_function_effectr�IntrinsicArgumentEffectsrr�fields)�module�intr�fes   rr+r+#s����
�
���2�2���d�D�!�!�	2� ��&�&�&�&� ��&�&�B�-/�$�T�*��$�	��0�0�
2�$�T�[�1�1�1��2�2rc�Z��eZdZdZ�fd�Z�fd�Z�fd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Z�xZ
S)�ArgumentEffectsz7Gathers inter-procedural effects on function arguments.c�<��t��|_t���|_t���D]}|j�|���tt|���	tt��dS)N)r�resultr,�copy�node_to_functioneffectr)�add_node�superr2r$rr)r"r0�	__class__s  �rr$zArgumentEffects.__init__7s}����i�i���&>�&C�&C�&E�&E��#�*�1�1�3�3�	%�	%�B��K� � ��$�$�$�$�
�o�t�$�$�-�-�g�7I�J�J�J�J�Jrc���tt|���|��|j���D]5}t|��}||j|<|j�|���6dS)z�
        Initialise arguments effects as this analyse is inter-procedural.

        Initialisation done for Pythonic functions and default value set for
        user defined functions.
        N)	r8r2�prepare�global_declarationsr)rr6r4r7)r"r#�nr0r9s    �rr;zArgumentEffects.prepare>s~���	�o�t�$�$�,�,�T�2�2�2��)�0�0�2�2�	%�	%�A� ��#�#�B�-/�D�'��*��K� � ��$�$�$�$�	%�	%rc���tt|���|��}t|��}|r�|���}t|j��D]�}|\}}|s�
|�|��D]n}|j||f}	t|	d��D]G}
|
\}}|	d|}
||kr,|j|
sd|j|
<|�	|���H�o��|��d�|D��|_
|j
S)N�formal_parameters�effective_parametersTc�(�i|]}|j|j��Sr)rr)r�fs  r�
<dictcomp>z'ArgumentEffects.run.<locals>.<dictcomp>`s��@�@�@�A�q�v�q�/�@�@�@r)r8r2�run�set�pop�	enumerater�predecessors�edges�addr4)r"r#r4�
candidates�function�ue�update_effect_idx�
update_effect�pred�edge�fp�i�formal_parameter_idx�ith_effectivr9s              �rrDzArgumentEffects.runKsJ������-�-�1�1�$�7�7����[�[�
��	1�!�~�~�'�'�H��� 7�8�8�
1�
1��35�0�!�=�$���"�/�/��9�9�
1�
1�D�!�<��h��7�D�'��-@�(A�B�B�1�1��24�/��/�(,�,B�'C�A�'F��/�3D�D�D�#�2�<�@�E�@D�D�/��=�&�N�N�4�0�0�0��1�
1�
�	1�$A�@��@�@�@����{�rc�r�t|tj��r!|j}t|tj���!|j|D]m}t|tj��r!|j}t|tj���!||jvr|j|cS||jvr|j|cS�ndS)N���)rr�	Subscript�value�aliases�current_arguments�current_subscripted_arguments)r"r#�
node_aliass   r�argument_indexzArgumentEffects.argument_indexcs�����s�}�-�-�	��:�D���s�}�-�-�	��,�t�,�	F�	F�J��Z���7�7�
.�'�-�
��Z���7�7�
.��T�3�3�3��-�j�9�9�9�9��T�?�?�?��9�*�E�E�E�E�@��rrc���|j||_d�t|jj��D��|_t��|_|j|jvsJ�|�|��dS)Nc��i|]\}}||��	Srr)rrS�args   rrCz5ArgumentEffects.visit_FunctionDef.<locals>.<dictcomp>qs4��"@�"@�"@�&,�a��#&�q�"@�"@�"@r)	r6�current_functionrGrr[r*r\r4�
generic_visitr!s  r�visit_FunctionDefz!ArgumentEffects.visit_FunctionDefos��� $� ;�D� A���"@�"@�%.�t�y�~�%>�%>�"@�"@�"@���.2�V�V��*��$���3�3�3�3����4� � � � � rc��|�|j��}|dkr||j|j<|�|��dS�Nr)r^�iterr\�targetrc)r"r#�ais   r�	visit_ForzArgumentEffects.visit_ForxsI��
�
 �
 ���
+�
+��
��7�7�>@�D�.�t�{�;����4� � � � � rc��|�|j��}|dkrd|jj|<|�|��dS�NrT)r^rhrbrrc)r"r#r=s   r�visit_AugAssignzArgumentEffects.visit_AugAssign~sJ�������,�,����6�6�6:�D�!�0��3����4� � � � � rc���|jD]F}t|tj��r*|�|��}|dkrd|jj|<�G|�|��dSrl)�targetsrrrXr^rbrrc)r"r#�tr=s    r�visit_AssignzArgumentEffects.visit_Assign�sq����	C�	C�A��!�S�]�+�+�
C��'�'��*�*����6�6�>B�D�)�8��;�����4� � � � � rc�*��t|j��D�]�\}}��|��}|dk�rĉj|j}|�d�jj|<�Ft�fd�|t����}|D�]|}t|tj��r|jdj}�j
|}|tjur�K|�jvr�U|t"ddurp�j|jd}�j|}	t%|��dkr7t't)|����}
�j�|
|	��}	n
�j|}	�j�|	��}�j|vr#�j��j|	gg����jj�j|	f}|d�|��|d	�|����~����|��dS)
NrTc����|t|tj��r?��|��dkr&t	�j�����n|gzSrf)rr�Namer^�listr6�keys)r�yr"s  �r�<lambda>z,ArgumentEffects.visit_Call.<locals>.<lambda>�sa����'�q�#�(�3�3�!� �/�/��2�2�a�7�7��T�8�=�=�?�?�@�@�@� �S�""�r�	functools�partial�)r@r?r@r?)rGrr^rZrrbrr	rurr�Call�idr<r�UnboundValuer6rr�nextrg�getr4rH�add_edgerI�appendrc)
r"r#rSrar=�func_aliases�
func_alias�
bound_name�base_func_aliasesr0�base_func_aliasrHrQs
`            r�
visit_CallzArgumentEffects.visit_Call�sC�����	�*�*�2	8�2	8�F�A�s��#�#�C�(�(�A��A�v�v�#�|�D�I�6�� �'�>B�D�)�8��;�� &�"�"�"�"�!��F�F� � ��#/�8�8�J�!�*�c�h�7�7�J�%/�_�Q�%7�%:�
�%)�%=�j�%I�
�!�Y�%;�;�;� �!��)D�D�D� �!�W�[�%9�)�%D�D�D�,0�L���1��,F�)�!�8��D���0�1�1�Q�6�6�.2�4�8I�3J�3J�.K�.K�O�!%�!<�!@�!@� /� "�"$�"$�B��"�8��D��#'�;�#;�#;�B�#?�#?�L��,�L�@�@���,�,� �1��13�.0�	-�2�2�2�
 �;�,�T�-B�B�-F�G�D��/�0�7�7��:�:�:��,�-�4�4�Q�7�7�7�7�����4� � � � � r)r%r&r'�__doc__r$r;rDr^rdrjrmrqr��
__classcell__)r9s@rr2r23s��������A�A�K�K�K�K�K�%�%�%�%�%������0
�
�
�!�!�!�!�!�!�!�!�!�!�!�!�4!�4!�4!�4!�4!�4!�4!rr2)r��pythran.analyses.aliasesr�$pythran.analyses.global_declarationsr�pythran.passmanagerr�pythran.tablesr�
pythran.graphr�pythranr�gastrryr	�objectrr,r+r)r.r2rrr�<module>r�sC��;�;�,�,�,�,�,�,�C�C�C�C�C�C�.�.�.�.�.�.�"�"�"�"�"�"�!�!�!�!�!�!�����������������
&�
&�
&�
&�
&�f�
&�
&�
&�"��	2�	2�	2��g�n���!�!�F���� � � � �M!�M!�M!�M!�M!�n�M!�M!�M!�M!�M!r

Youez - 2016 - github.com/yon3zu
LinuXploit