← Back
Editing: imported_ids.cpython-311.pyc
� cR�a� � �^ � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl Z G d� de� � ZdS )z5 ImportedIds gathers identifiers imported by a node. � )�Globals)�Locals)�NodeAnalysisNc � � � e Zd ZdZ� fd�Zd� Zd� Zd� ZeZeZ eZ eZd� Zd� Z d� Zd � Zd � Zd� ZeZd� Zd � Z� fd�Z� fd�Z� xZS )�ImportedIdsz9Gather ids referenced by a node and not declared locally.c �� �� t � � | _ t � � | _ d| _ d| _ t t | � � � t t � � d S )NF) �set�result�current_locals�is_list�in_augassign�superr �__init__r r )�self� __class__s ��?/usr/lib/python3/dist-packages/pythran/analyses/imported_ids.pyr zImportedIds.__init__ sO �� ��e�e���!�e�e������!��� �k�4� � �)�)�'�6�:�:�:�:�:� c � � t |j t j � � r(| j s!| j � |j � � d S |j | j vr/|j | j vr#| j � |j � � d S d S d S �N) � isinstance�ctx�ast�Storer r �add�id�visible_globalsr �r �nodes r � visit_NamezImportedIds.visit_Name s� � ��d�h�� �*�*� %�4�3D� %���#�#�D�G�,�,�,�,�,��g�T�1�1�1��g�T�0�0�0��K�O�O�D�G�$�$�$�$�$� 2�1�0�0r c � � | j � |j � � | j � � � }| j � d� |j j D � � � � |j D ]}| � |� � �|| _ d S )Nc 3 �$ K � | ]}|j V � �d S r �r ��.0�args r � <genexpr>z0ImportedIds.visit_FunctionDef.<locals>.<genexpr> �$ � � � �"D�"D�c�3�6�"D�"D�"D�"D�"D�"Dr )r r �name�copy�update�args�body�visit)r r r �stmts r �visit_FunctionDefzImportedIds.visit_FunctionDef s� � ������ �*�*�*��,�1�1�3�3����"�"�"D�"D�T�Y�^�"D�"D�"D�D�D�D��I� � �D��J�J�t�����,����r c � � | j � � � }|j D ]}| � |� � �| � |j � � || _ d S r )r r) � generatorsr- �elt)r r r � generators r � visit_AnyCompzImportedIds.visit_AnyComp% s^ � ��,�1�1�3�3���� "� "�I��J�J�y�!�!�!�!�� � �4�8����,����r c � � t j | |� � | � |j � � |j D ]}| � |� � �d S r )�mdr- �value�targets)r r �targets r �visit_AssignzImportedIds.visit_Assign1 sZ � � ���t����� � �4�:�����l� � �F��J�J�v����� � r c �L � d| _ | � |� � d| _ d S )NTF)r � generic_visitr s r �visit_AugAssignzImportedIds.visit_AugAssign9 s, � � ������4� � � �!����r c �� � | j � � � }| j � d� |j j D � � � � | � |j � � || _ d S )Nc 3 �$ K � | ]}|j V � �d S r r"