U e5d" ã @ sP d dl Z ddlmZ ddlmZ ddlmZ G dd„ deƒZG dd „ d eƒZ dS ) é Né )ÚPatternCompiler)Úpygram)Údoes_tree_importc @ sª e Zd ZdZdZdZdZdZe d¡Z eƒ ZdZ dZdZdZdZdZejZdd„ Zdd „ Zd d„ Zdd „ Zdd„ Zddd„Zdd„ Zddd„Zdd„ Zdd„ Zdd„ Z dS )ÚBaseFixNr ZpostFé c C s || _ || _| ¡ d S ©N)ÚoptionsÚlogÚcompile_pattern)Úselfr r © r ú*/usr/lib64/python3.8/lib2to3/fixer_base.pyÚ__init__/ s zBaseFix.__init__c C s, | j d k r(tƒ }|j| j dd�\| _| _d S )NT)Z with_tree)ÚPATTERNr r ÚpatternÚpattern_tree)r ZPCr r r r ; s ÿzBaseFix.compile_patternc C s || _ d S r )Úfilename)r r r r r Úset_filenameF s zBaseFix.set_filenamec C s d|i}| j ||¡o|S )NÚnode)r Úmatch©r r Zresultsr r r r M s z BaseFix.matchc C s t ƒ ‚d S r )ÚNotImplementedErrorr r r r Ú transformY s zBaseFix.transformÚxxx_todo_changemec C s2 |}|| j kr"|tt| jƒƒ }q| j |¡ |S r )Ú used_namesÚstrÚnextÚnumbersÚadd)r ÚtemplateÚnamer r r Únew_namei s zBaseFix.new_namec C s. | j rd| _ | j d| j ¡ | j |¡ d S )NFz### In file %s ###)Ú first_logr Úappendr )r Úmessager r r Úlog_messaget s zBaseFix.log_messagec C s> | ¡ }| ¡ }d|_d}| |||f ¡ |r:| |¡ d S )NÚ zLine %d: could not convert: %s)Ú get_linenoZcloneÚprefixr&