a 97a @sjdZddlmZddlmZmZmZmZmZm Z ddl m Z ddl m Z mZddZGdd d ejZd S) zn Fixer for (metaclass=X) -> __metaclass__ = X Some semantics (see PEP 3115) may be altered in the translation.) fixer_base)NamesymsNodeLeafNewline find_root)token) indentationsuitifyc Cs d}|jD]}|j}|jtjkrd|dttjdkrb|dttjdkrb|drb|g|}qq |jtjkr |jD]}|rq |jtj kr|}qvt|t krvd}}}|jD]P} | ttjdkr| }q|r| ttjdkr| }q|r|r| }||||f}qvqqvq |S)Nr metaclass=) childrentyperZargumentrr NAMEEQUALZarglistCOMMAr) parentresultsnodeZkidschildcommametaequalnameargr|/private/var/folders/s6/9n5zrl012gv99k63s4q6ccsd4s6mqz/T/pip-target-f5cq3f2q/lib/python/libpasteurize/fixes/fix_metaclass.py has_metaclass s8           r c@seZdZdZddZdS) FixMetaclassz classdef c Cst|}|sdS|D] }|qttjd}ttjddd}|}d|_ttj |||g}t ||j D]p} | j tj krh| j D]X} | j tjkr~| j | d} ttj| j} | | | | | t| | |qhq~qhdS)N __metaclass__r )prefixr )r removerr rrr$rrZatomr rrZsuiteINDENTindexvalueZ insert_childr) selfrrZ meta_resultsrtargetrrZ stmt_nodeitemstmtlocidentrrr transform5s(        zFixMetaclass.transformN)__name__ __module__ __qualname__ZPATTERNr/rrrrr!/sr!N)__doc__Zlib2to3rZlib2to3.fixer_utilrrrrrrZlib2to3.pygramr Zlibfuturize.fixer_utilr r r ZBaseFixr!rrrrs    $