| 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/transformations/__pycache__/ |
Upload File : |
�
cR�a4 � �F � d Z ddlmZ ddlmZ ddlZ G d� de� � ZdS )z=
UnshadowParameters prevents the shadow parameter phenomenon
� )�Identifiers)�TransformationNc �6 � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z dS ) �UnshadowParametersax
Prevents parameter shadowing by creating new variable.
>>> import gast as ast
>>> from pythran import passmanager, backend
>>> node = ast.parse("def foo(a): a = 1")
>>> pm = passmanager.PassManager("test")
>>> _, node = pm.apply(UnshadowParameters, node)
>>> print(pm.dump(backend.Python, node))
def foo(a):
a_ = a
a_ = 1
c �: � t j | t � � d S �N)r �__init__r )�selfs �M/usr/lib/python3/dist-packages/pythran/transformations/unshadow_parameters.pyr zUnshadowParameters.__init__ s � ����k�2�2�2�2�2� c
� � � d� |j j D � � � _ i � _ � fd�|j D � � � fd�|j D � � � j � � � D ]�\ }}|j � dt
j t
j |t
j � � d d � � gt
j |t
j
� � d d � � d � � � � ��� xj t � j � � z c_ |S )Nc � � h | ] }|j ��
S � )�id)�.0�args r � <setcomp>z7UnshadowParameters.visit_FunctionDef.<locals>.<setcomp> s � �8�8�8�#�s�v�8�8�8r c �: �� g | ]}�� |� � ��S r ��visit�r �nr
s �r �
<listcomp>z8UnshadowParameters.visit_FunctionDef.<locals>.<listcomp> �# �� �*�*�*�1����A���*�*�*r c �: �� g | ]}�� |� � ��S r r r s �r r z8UnshadowParameters.visit_FunctionDef.<locals>.<listcomp>"