Edit File: fix_idioms.cpython-38.opt-2.pyc
U ����@��d����������������������@���sJ���d�dl�mZ�d�dlmZmZmZmZmZmZ�dZ dZ G�dd��dej�ZdS�)����)� fixer_base)�Call�Comma�Name�Node� BlankLine�symsz0(n='!=' | '==' | 'is' | n=comp_op< 'is' 'not' >)z(power< 'type' trailer< '(' x=any ')' > >c�����������������������sP���e�Zd�ZdZdeeeef�Z��fdd�Zdd��Zdd��Z d d ��Z dd��Z���ZS�) � FixIdiomsTa��� isinstance=comparison< %s %s T=any > | isinstance=comparison< T=any %s %s > | while_stmt< 'while' while='1' ':' any+ > | sorted=any< any* simple_stmt< expr_stmt< id1=any '=' power< list='list' trailer< '(' (not arglist<any+>) any ')' > > > '\n' > sort= simple_stmt< power< id2=any trailer< '.' 'sort' > trailer< '(' ')' > > '\n' > next=any* > | sorted=any< any* simple_stmt< expr_stmt< id1=any '=' expr=any > '\n' > sort= simple_stmt< power< id2=any trailer< '.' 'sort' > trailer< '(' ')' > > '\n' > next=any* > c��������������������s8���t�t|���|�}|r4d|kr4|d�|d�kr0|S�d�S�|S�)N�sortedZid1Zid2)�superr ����match)�self�node�r�� __class__���=/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_idioms.pyr���O���s����zFixIdioms.matchc�����������������C���sH���d|kr|���||�S�d|kr(|��||�S�d|kr<|��||�S�td��d�S�)N� isinstance�whiler ���z Invalid match)�transform_isinstance�transform_while�transform_sort�RuntimeError)r ���r����resultsr���r���r���� transformZ���s����zFixIdioms.transformc�����������������C���sh���|d�����}|d�����}d|_d|_ttd�|t��|g�}d|kr\d|_ttjtd�|g�}|j|_|S�)N�x�T��� r����n�not)�clone�prefixr���r���r���r���r���Znot_test)r ���r���r���r���r���Ztestr���r���r���r���d���s����zFixIdioms.transform_isinstancec�����������������C���s ���|d�}|��td|jd���d�S�)Nr����True�r#���)�replacer���r#���)r ���r���r���Zoner���r���r���r���p���s����zFixIdioms.transform_whilec�����������������C���s����|d�}|d�}|��d�}|��d�}|r>|�td|jd���n8|rn|���}d|_|�ttd�|g|jd���ntd��|����|j}d |kr�|r�|�d �d �|d �jf} d � | �|d �_n"t ��} |j�| ��|�d �d �| _d�S�)N�sort�next�list�exprr ���r%���r���zshould not have reached here� �����) �getr&���r���r#���r"���r���r����remove� rpartition�joinr����parentZappend_child)r ���r���r���Z sort_stmtZ next_stmtZ list_callZsimple_expr�newZbtwnZprefix_linesZend_liner���r���r���r���t���s,���� � zFixIdioms.transform_sort) �__name__� __module__�__qualname__Zexplicit�TYPE�CMPZPATTERNr���r���r���r���r���� __classcell__r���r���r���r���r ���%���s���% �' r ���N) r���r���Z fixer_utilr���r���r���r���r���r���r7���r6���ZBaseFixr ���r���r���r���r����<module>���s���