관리-도구
편집 파일: refactor.cpython-37.opt-2.pyc
B YI~dk � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl mZmZm Z ddlmZ ddlmZmZ ddlmZ d d d�ZG dd � d e�Zdd� Zdd� Zdd� Zdd� Zdd� ZG dd� de�ZG dd� de�ZG dd� de�Z G dd� de�Z!dS )!z#Guido van Rossum <guido@python.org>� N)�chain� )�driver�tokenize�token)� find_root)�pytree�pygram)�btm_matcherTc C sX t | g g dg�}g }x>t�|j�D ].\}}}|�d�r"|rF|dd � }|�|� q"W |S )N�*�fix_� )� __import__�pkgutilZiter_modules�__path__� startswith�append)Z fixer_pkgZ remove_prefixZpkgZ fix_names�finder�nameZispkg� r �5/opt/alt/python37/lib64/python3.7/lib2to3/refactor.py�get_all_fix_names s r c @ s e Zd ZdS )� _EveryNodeN)�__name__� __module__�__qualname__r r r r r + s r c C s� t | tjtjf�r(| jd kr t�| jhS t | tj�rH| jrDt| j�S t�t | tj �r�t � }x*| jD ] }x|D ]}|�t|�� qlW qbW |S td| ��d S )Nz$Oh no! I don't understand pattern %s) � isinstancer ZNodePatternZLeafPattern�typer ZNegatedPatternZcontent�_get_head_typesZWildcardPattern�set�update� Exception)Zpat�r�p�xr r r r / s r c C s� t �t�}g }x�| D ]|}|jrjyt|j�}W n tk rJ |�|� Y q�X xB|D ]}|| �|� qRW q|jd k r�||j �|� q|�|� qW x,tt j j�� t j j �D ]}|| �|� q�W t|�S )N)�collections�defaultdict�list�patternr r r Z_accept_typer r �python_grammarZ symbol2number�values�tokens�extend�dict)Z fixer_listZ head_nodesZevery�fixerZheadsZ node_typer r r �_get_headnode_dictK s"