î
\á[\   ã               @   sS   d  Z  d d l m Z d d l m Z d d l m Z Gd d „  d e j ƒ Z d S)z-Fixer that turns 1L into 1, 0755 into 0o755.
é   )Útoken)Ú
fixer_base)ÚNumberc               @   s1   e  Z d  Z e j Z d d „  Z d d „  Z d S)ÚFixNumliteralsc             C   s#   | j  j d ƒ p" | j  d d k S)NÚ0é   ÚLléÿÿÿÿ)ÚvalueÚ
startswith)ÚselfÚnode© r   ú3/usr/lib/python3.4/lib2to3/fixes/fix_numliterals.pyÚmatch   s    zFixNumliterals.matchc             C   s‰   | j  } | d d k r, | d  d … } nJ | j d ƒ rv | j ƒ  rv t t | ƒ ƒ d k rv d | d d  … } n  t | d | j ƒS)Nr   r   r   Z0oÚprefixr	   r	   )r
   r   ÚisdigitÚlenÚsetr   r   )r   r   ZresultsÚvalr   r   r   Ú	transform   s    	3zFixNumliterals.transformN)Ú__name__Ú
__module__Ú__qualname__r   ÚNUMBERZ_accept_typer   r   r   r   r   r   r      s   	r   N)	Ú__doc__Zpgen2r   Ú r   Z
fixer_utilr   ZBaseFixr   r   r   r   r   Ú<module>   s   