grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \"ã@sPddlZddlmZddlmZddlmZGdd„deƒZGdd „d eƒZ dS) éNé)ÚPatternCompiler)Úpygram)Údoes_tree_importc@sªeZdZdZdZdZdZdZej dƒZ e ƒZ dZ dZdZdZdZdZejZdd„Zdd „Zd d „Zd d „Zdd„Zddd„Zdd„Zddd„Zdd„Zdd„Zdd„Z dS)ÚBaseFixNrZpostFécCs||_||_|jƒdS)N)ÚoptionsÚlogÚcompile_pattern)Úselfrr ©r ú*/usr/lib64/python3.6/lib2to3/fixer_base.pyÚ__init__/szBaseFix.__init__cCs,|jdk r(tƒ}|j|jdd�\|_|_dS)NT)Z with_tree)ÚPATTERNrr ÚpatternÚ pattern_tree)r ÚPCr r r r ;s zBaseFix.compile_patterncCs ||_dS)N)Úfilename)r rr r r Ú set_filenameFszBaseFix.set_filenamecCsd|i}|jj||ƒo|S)NÚnode)rÚmatch)r rÚresultsr r r rMs z BaseFix.matchcCs tƒ‚dS)N)ÚNotImplementedError)r rrr r r Ú transformYszBaseFix.transformÚxxx_todo_changemecCs6|}x ||jkr$|tt|jƒƒ}qW|jj|ƒ|S)N)Ú used_namesÚstrÚnextÚnumbersÚadd)r ÚtemplateÚnamer r r Únew_nameis   zBaseFix.new_namecCs.|jrd|_|jjd|jƒ|jj|ƒdS)NFz### In file %s ###)Ú first_logr Úappendr)r Úmessager r r Ú log_messagetszBaseFix.log_messagecCs>|jƒ}|jƒ}d|_d}|j|||fƒ|r:|j|ƒdS)NÚzLine %d: could not convert: %s)Ú get_linenoZcloneÚprefixr&)r rÚreasonÚlinenoZ for_outputÚmsgr r r Úcannot_convertzszBaseFix.cannot_convertcCs|jƒ}|jd||fƒdS)Nz Line %d: %s)r(r&)r rr*r+r r r Úwarning‰szBaseFix.warningcCs(|j|_|j|ƒtjdƒ|_d|_dS)NrT)rrÚ itertoolsÚcountrr#)r Útreerr r r Ú start_tree“s  zBaseFix.start_treecCsdS)Nr )r r1rr r r Ú finish_treeŸszBaseFix.finish_tree)r)N)!Ú__name__Ú __module__Ú __qualname__rrrrrr/r0rÚsetrÚorderZexplicitZ run_orderZ _accept_typeZkeep_line_orderZ BM_compatiblerZpython_symbolsZsymsrr rrrr"r&r-r.r2r3r r r r rs2         rcs(eZdZdZ‡fdd„Zdd„Z‡ZS)ÚConditionalFixNcstt|ƒj|Žd|_dS)N)Úsuperr9r2Ú _should_skip)r Úargs)Ú __class__r r r2¯szConditionalFix.start_treecCsJ|jdk r|jS|jjdƒ}|d}dj|dd…ƒ}t|||ƒ|_|jS)NÚ.réÿÿÿÿr?)r;Úskip_onÚsplitÚjoinr)r rZpkgr!r r r Ú should_skip³s  zConditionalFix.should_skip)r4r5r6r@r2rCÚ __classcell__r r )r=r r9©s r9) r/Zpatcomprr'rZ fixer_utilrÚobjectrr9r r r r Ús