f"l ddlZddlmZddlmZddlmZGddeZGdd eZ dS) N)PatternCompiler)pygram)does_tree_importceZdZ dZdZdZdZdZej dZ e Z dZ dZdZdZdZdZejZdZdZdZd Zd Zdd Zd ZddZdZdZdZ dS)BaseFixNrpostFcL ||_||_|dSN)optionslogcompile_pattern)selfr rs 9/opt/alt/python311/lib64/python3.11/lib2to3/fixer_base.py__init__zBaseFix.__init__/s/   c |j9t}||jd\|_|_dSdS)NT) with_tree)PATTERNrrpattern pattern_tree)rPCs rrzBaseFix.compile_pattern;sX < # ""B.0.@.@KO/A/Q/Q +DL$+++ $ #rc ||_dSr )filename)rrs r set_filenamezBaseFix.set_filenameFs ! rcF d|i}|j||o|S)Nnode)rmatchrrresultss rrz BaseFix.matchMs/ 4.|!!$00 B"DN HOO04=@ A A A      rc |}|}d|_d}||||fz|r||dSdS)NzLine %d: could not convert: %s) get_linenocloneprefixr3)rrreasonlineno for_outputmsgs rcannot_convertzBaseFix.cannot_convertzs| ""ZZ\\  .  33444  %   V $ $ $ $ $ % %rcd |}|d||fzdS)Nz Line %d: %s)r6r3)rrr9r:s rwarningzBaseFix.warnings< "" &&)99:::::rc |j|_||tjd|_d|_dS)NrT)r'r itertoolscountr*r0rtreers r start_treezBaseFix.start_treesB / (### q)) rc dSr rCs r finish_treezBaseFix.finish_trees r)r%r )!__name__ __module__ __qualname__rrrr rrArBr*setr'orderexplicit run_order _accept_typekeep_line_order BM_compatiblerpython_symbolssymsrrrrr$r.r3r=r?rErHrGrrrrs,GGLGHioa  GJ EHILOM  D    Q Q Q!!! = = =$$$    !!! % % % %;;;        rrc*eZdZ dZfdZdZxZS)ConditionalFixNcPtt|j|d|_dSr )superrVrE _should_skip)rargs __class__s rrEzConditionalFix.start_trees+.nd##.55 rc|j|jS|jd}|d}d|dd}t ||||_|jS)N.)rYskip_onsplitjoinr)rrpkgr-s r should_skipzConditionalFix.should_skipsh   ($ $l  %%2whhs3B3x  ,S$==  r)rIrJrKr_rErc __classcell__)r[s@rrVrVsQJG!!!!!!!!!!!!rrV) rApatcomprr5r fixer_utilrobjectrrVrGrrrhs9%$$$$$((((((X X X X X fX X X v!!!!!W!!!!!r