PATH:
usr
/
local
/
lib
/
python3.9
/
site-packages
/
libpasteurize
/
fixes
/
__pycache__
a ���i� � @ sj d Z ddlmZ ddlmZmZmZmZmZm Z ddl mZ ddlm Z mZ dd� ZG dd � d ej�Zd S )zn Fixer for (metaclass=X) -> __metaclass__ = X Some semantics (see PEP 3115) may be altered in the translation.� )� fixer_base)�Name�syms�Node�Leaf�Newline� find_root)�token)�indentation�suitifyc C s d }| j D � ]�}|j }|jtjkrd|d ttjd�krb|d ttjd�krb|d rb|g| } �qq |jtjkr |j D ]�}|r� q |jtj kr�|}qvt|�t krvd } }}|j D ]P} | ttjd�kr�| }q�|r�| ttjd�kr�| }q�|r�|r�| }||||f} qvq�qvq |S )Nr � metaclass� �=� )�children�typer �argumentr r �NAME�EQUALZarglist�COMMAr ) �parent�results�nodeZkids�child�comma�meta�equal�name�arg� r �K/usr/local/lib/python3.9/site-packages/libpasteurize/fixes/fix_metaclass.py� has_metaclass s8 �� r! c @ s e Zd ZdZdd� ZdS )�FixMetaclassz classdef<any*> c C s� t |�}|sd S |D ]}|�� qttjd�}ttjddd�}|}d|_ttj |||g�}t |� |jD ]p} | jtj krh| jD ]X} | jtjkr~| j�| �d }ttj| j�}| �||� | �|t� � | �||� qhq~qhd S )N� __metaclass__r � )�prefixr )r! �remover r r r r% r r Zatomr r r Zsuite�INDENT�index�valueZinsert_childr ) �selfr r Zmeta_resultsr �targetr r Z stmt_node�item�stmt�loc�identr r r � transform5 s( zFixMetaclass.transformN)�__name__� __module__�__qualname__ZPATTERNr0 r r r r r"