3 2a" @ sP d dl Z ddlmZ ddlmZ ddlmZ G dd deZG dd d eZ dS ) N )PatternCompiler)pygram)does_tree_importc @ s e Zd ZdZdZdZdZdZej dZ e ZdZ dZdZdZdZdZejZdd Zdd Zd d Zdd Zdd ZdddZdd ZdddZdd Zdd Zdd Z dS )BaseFixNr ZpostF c C s || _ || _| j d S )N)optionslogcompile_pattern)selfr r r //opt/alt/python36/lib64/python3.6/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 PCr r r r ; s zBaseFix.compile_patternc C s || _ d S )N)filename)r r r r r set_filenameF s zBaseFix.set_filenamec C s d|i}| j j||o|S )Nnode)r match)r r resultsr r r r M s z BaseFix.matchc C s t d S )N)NotImplementedError)r r r r r r transformY s zBaseFix.transformxxx_todo_changemec C s6 |}x || j kr$|tt| j }qW | j j| |S )N) used_namesstrnextnumbersadd)r templatenamer r r new_namei s zBaseFix.new_namec C s. | j rd| _ | jjd| j | jj| d S )NFz### In file %s ###) first_logr appendr )r messager r r log_messaget s zBaseFix.log_messagec C s> |j }|j }d|_d}| j|||f |r:| j| d S )N zLine %d: could not convert: %s) get_linenoZcloneprefixr&