509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \"  ã               @   sP   d dl Z ddlmZ ddlmZ ddlmZ G dd„ deƒZG dd	„ d	eƒZ	dS )
é    Né   )ÚPatternCompiler)Úpygram)Údoes_tree_importc               @   sª   e Zd ZdZdZdZdZdZej	dƒZ
eƒ ZdZdZdZdZdZdZejZdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zddd„Zdd„ Zddd„Zdd„ Zdd„ Zdd„ Z dS )ÚBaseFixNr   ZpostFé   c             C   s   || _ || _| jƒ  d S )N)ÚoptionsÚlogÚcompile_pattern)Úselfr   r	   © r   ú*/usr/lib64/python3.6/lib2to3/fixer_base.pyÚ__init__/   s    zBaseFix.__init__c             C   s,   | j d k	r(tƒ }|j| j dd�\| _| _d S )NT)Z	with_tree)ÚPATTERNr   r
   ÚpatternÚpattern_tree)r   ÚPCr   r   r   r
   ;   s    
zBaseFix.compile_patternc             C   s
   || _ d S )N)Úfilename)r   r   r   r   r   Úset_filenameF   s    zBaseFix.set_filenamec             C   s   d|i}| j j||ƒo|S )NÚnode)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    zBaseFix.transformÚxxx_todo_changemec             C   s6   |}x || j kr$|tt| jƒƒ }qW | j j|ƒ |S )N)Ú
used_namesÚstrÚnextÚnumbersÚadd)r   ÚtemplateÚnamer   r   r   Únew_namei   s
    zBaseFix.new_namec             C   s.   | j rd| _ | jjd| j ƒ | jj|ƒ d S )NFz### In file %s ###)Ú	first_logr	   Úappendr   )r   Úmessager   r   r   Úlog_messaget   s    zBaseFix.log_messagec             C   s>   |j ƒ }|jƒ }d|_d}| j|||f ƒ |r:| j|ƒ d S )NÚ zLine %d: could not convert: %s)Ú
get_linenoZcloneÚprefixr&   )r   r   ÚreasonÚlinenoZ
for_outputÚmsgr   r   r   Úcannot_convertz   s    zBaseFix.cannot_convertc             C   s   |j ƒ }| jd||f ƒ d S )NzLine %d: %s)r(   r&   )r   r   r*   r+   r   r   r   Úwarning‰   s    zBaseFix.warningc             C   s(   |j | _ | j|ƒ tjdƒ| _d| _d S )Nr   T)r   r   Ú	itertoolsÚcountr   r#   )r   Útreer   r   r   r   Ú
start_tree“   s    
zBaseFix.start_treec             C   s   d S )Nr   )r   r1   r   r   r   r   Úfinish_treeŸ   s    zBaseFix.finish_tree)r   )N)!Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r/   r0   r   Úsetr   ÚorderZexplicitZ	run_orderZ_accept_typeZkeep_line_orderZBM_compatibler   Zpython_symbolsZsymsr   r
   r   r   r   r"   r&   r-   r.   r2   r3   r   r   r   r   r      s2   




r   c                   s(   e Zd ZdZ‡ fdd„Zdd„ Z‡  ZS )ÚConditionalFixNc                s   t t| ƒj|Ž  d | _d S )N)Úsuperr9   r2   Ú_should_skip)r   Úargs)Ú	__class__r   r   r2   ¯   s    zConditionalFix.start_treec             C   sJ   | j d k	r| j S | jjdƒ}|d }dj|d d… ƒ}t|||ƒ| _ | j S )NÚ.r   éÿÿÿÿr?   )r;   Úskip_onÚsplitÚjoinr   )r   r   Zpkgr!   r   r   r   Úshould_skip³   s    
zConditionalFix.should_skip)r4   r5   r6   r@   r2   rC   Ú__classcell__r   r   )r=   r   r9   ©   s   r9   )
r/   Zpatcompr   r'   r   Z
fixer_utilr   Úobjectr   r9   r   r   r   r   Ú<module>   s    