File: //lib64/python3.9/lib2to3/__pycache__/refactor.cpython-39.opt-2.pyc
a
    �DOgsk  �                   @   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   sT   t | g g dg�}g }t�|j�D ].\}}}|�d�r |rD|dd � }|�|� q |S )N�*�fix_�   )�
__import__�pkgutil�iter_modules�__path__�
startswith�append)Z	fixer_pkgZ
remove_prefix�pkgZ	fix_names�finder�name�ispkg� r   �(/usr/lib64/python3.9/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 u r t�| jhS t | tj�rH| jrDt| j�S t�t | tj	�r�t
� }| jD ]}|D ]}|�t|�� qhq`|S td|  ��d S )Nz$Oh no! I don't understand pattern %s)
�
isinstancer   ZNodePatternZLeafPattern�typer   ZNegatedPatternZcontent�_get_head_typesZWildcardPattern�set�update�	Exception)�pat�r�p�xr   r   r   r"