U if" @ sP d dl Z ddlmZ ddlmZ ddlmZ G dd deZG dd d eZ dS ) N )PatternCompiler)pygram)does_tree_importc @ s e Zd ZdZdZdZdZdZe dZ e ZdZ dZdZdZdZdZejZdd Zdd Zd d Zdd Zdd ZdddZdd ZdddZdd Zdd Zdd Z dS )BaseFixNr ZpostF c C s || _ || _| d S N)optionslogcompile_pattern)selfr r r 7/opt/alt/python38/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 patternpattern_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 )Nnode)r matchr r Zresultsr r r r M s z BaseFix.matchc C s t d S r )NotImplementedErrorr r r r transformY s zBaseFix.transformxxx_todo_changemec C s2 |}|| j kr"|tt| j }q| j | |S r ) used_namesstrnextnumbersadd)r templatenamer r r new_namei s zBaseFix.new_namec C s. | j rd| _ | jd| 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_linenoZcloneprefixr&