MINI MINI MANI MO
3
  \"                 @   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   */usr/lib64/python3.6/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   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>