Edit File: fix_metaclass.cpython-36.opt-2.pyc
3 � \ ������������������@���sr���d�dl�mZ�d�dlmZ�d�dlmZmZmZ�dd��Zdd��Z dd ��Z d d��Zdd ��Zdd��Z G�dd��dej�ZdS�)����)� fixer_base)�token)�syms�Node�Leafc�������������C���sx���xr|�j�D�]h}|jtjkr t|�S�|jtjkr|j�r|j�d�}|jtjkr|j�r|j�d�}t|t�r|j dkrdS�qW�dS�)N������ __metaclass__TF) �children�typer����suite� has_metaclass�simple_stmt� expr_stmt� isinstancer����value)�parent�node� expr_nodeZ left_side��r����3/usr/lib64/python3.6/lib2to3/fixes/fix_metaclass.pyr������s���� r���c�������������C���s����x|�j�D�]}|jtjkrd�S�qW�x,t|�j��D�]\}}|jtjkr,P�q,W�td��ttjg��}x:|�j�|d�d���r�|�j�|d��}|j |j ����|j���q\W�|�j |��|}d�S�)NzNo class suite and no ':'!����)r ���r ���r���r���� enumerater����COLON� ValueErrorr����append_child�clone�remove)�cls_noder����ir���� move_noder���r���r����fixup_parse_tree-���s���� r ���c������� ������C���s����x(t�|j�D�]\}}|jtjkrP�qW�d�S�|j���ttjg��}ttj |g�}x2|j|d���r~|j|�}|j |j����|j���qNW�|�j||��|jd�jd�}|jd�jd�} | j |_ d�S�)Nr���)r���r ���r ���r����SEMIr���r���r���r���r ���r���r����insert_child�prefix) r���r���Z stmt_nodeZsemi_indr���Znew_exprZnew_stmtr���Z new_leaf1Z old_leaf1r���r���r����fixup_simple_stmtG���s���� r$���c�������������C���s*���|�j�r&|�j�d�jtjkr&|�j�d�j���d�S�)Nr������r%���)r ���r ���r����NEWLINEr���)r���r���r���r����remove_trailing_newline_���s����r'���c�������������c���s����x$|�j�D�]}|jtjkrP�qW�td��x�tt|j���D�]t\}}|jtjkr6|j�r6|j�d�}|jtjkr6|j�r6|j�d�}t |t �r6|jdkr6t|||��t |��|||fV��q6W�d�S�)NzNo class suite!r���r���)r ���r ���r���r���r����listr���r ���r���r���r���r���r$���r'���)r���r���r���Zsimple_noder���Z left_noder���r���r���� find_metasd���s���� r)���c�������������C���s����|�j�d�d�d��}x|r.|j��}|jtjkrP�qW�xL|r||j��}t|t�rd|jtjkrd|jr`d|_d�S�|j |j�d�d�d����q2W�d�S�)Nr�����r%���r%���) r ����popr ���r����INDENTr���r����DEDENTr#����extend)r���Zkidsr���r���r���r����fixup_indent{���s����r/���c���������������@���s���e�Zd�ZdZdZdd��ZdS�)�FixMetaclassTz classdef<any*> c�������������C���s<��t�|�sd�S�t|��d�}x"t|�D�]\}}}|}|j���q"W�|jd�j}t|j�dkr�|jd�jtjkrt|jd�}n(|jd�j ��} t tj| g�}|jd|��n�t|j�dkr�t tjg��}|jd|��nZt|j�dk�rt tjg��}|jdt tjd���|jd|��|jdt tjd���ntd ��|jd�jd�} d | _| j}|j�r^|jt tjd���d| _nd | _|jd�}d |jd�_d |jd�_|j|��t|��|j�s�|j���t |d�} || _|j| ��|jt tjd���nbt|j�dk�r8|jd�jtjk�r8|jd�jtjk�r8t |d�} |jd| ��|jdt tjd���d�S�)Nr�������������������r����)�(zUnexpected class definition� metaclass�,� r*���r����pass� ���r%���r%���r%���)r���r ���r)���r���r ���r ����lenr����arglistr���r���Z set_childr"���r���r����RPAR�LPARr���r���r#���r����COMMAr/���r&���r,���r-���)�selfr���ZresultsZlast_metaclassr���r���ZstmtZ text_typer>���r���Zmeta_txtZorig_meta_prefixr���Z pass_leafr���r���r���� transform����s^���� zFixMetaclass.transformN)�__name__� __module__�__qualname__Z BM_compatibleZPATTERNrC���r���r���r���r���r0�������s���r0���N)r*���r���Zpygramr���Z fixer_utilr���r���r���r���r ���r$���r'���r)���r/���ZBaseFixr0���r���r���r���r����<module>���s���