3
\�
ã @ sJ d dl Z d dlmZ d dlmZmZmZmZ dd„ ZG dd„ dej ƒZ
dS )é N)Ú
fixer_base)ÚCallÚNameÚStringÚtouch_importc s ‡ fdd„}|S )Nc s
ˆ | _ | S )N)Ú
invocation)Úf)Ús© ú2/usr/lib64/python3.6/lib2to3/fixes/fix_operator.pyÚdec s zinvocation..decr
)r r r
)r r r s r c @ s¼ e Zd ZdZdZdZdZdeeed� Zdd„ Z e
d ƒd
d„ ƒZe
dƒd
d„ ƒZe
dƒdd„ ƒZ
e
dƒdd„ ƒZe
dƒdd„ ƒZe
dƒdd„ ƒZe
dƒdd„ ƒZdd„ Zd d!„ Zd"d#„ Zd$S )%ÚFixOperatorTZprezµ
method=('isCallable'|'sequenceIncludes'
|'isSequenceType'|'isMappingType'|'isNumberType'
|'repeat'|'irepeat')
z'(' obj=any ')'z¼
power< module='operator'
trailer< '.' %(methods)s > trailer< %(obj)s > >
|
power< %(methods)s trailer< %(obj)s > >
)ÚmethodsÚobjc C s" | j ||ƒ}|d k r|||ƒS d S )N)Ú
_check_method)ÚselfÚnodeÚresultsÚmethodr
r
r Ú transform+ s zFixOperator.transformzoperator.contains(%s)c C s | j ||dƒS )NÚcontains)Ú_handle_rename)r r r r
r
r Ú_sequenceIncludes0 s zFixOperator._sequenceIncludeszhasattr(%s, '__call__')c C s2 |d }|j ƒ tdƒtdƒg}ttdƒ||jd�S )Nr z, z
'__call__'Úhasattr)Úprefix)Úcloner r r r )r r r r Úargsr
r
r Ú_isCallable4 s zFixOperator._isCallablezoperator.mul(%s)c C s | j ||dƒS )NÚmul)r )r r r r
r
r Ú_repeat: s zFixOperator._repeatzoperator.imul(%s)c C s | j ||dƒS )NÚimul)r )r r r r
r
r Ú_irepeat> s zFixOperator._irepeatz$isinstance(%s, collections.Sequence)c C s | j ||ddƒS )NÚcollectionsÚSequence)Ú_handle_type2abc)r r r r
r
r Ú_isSequenceTypeB s zFixOperator._isSequenceTypez#isinstance(%s, collections.Mapping)c C s | j ||ddƒS )Nr" ÚMapping)r$ )r r r r
r
r Ú_isMappingTypeF s zFixOperator._isMappingTypezisinstance(%s, numbers.Number)c C s | j ||ddƒS )NZnumbersÚNumber)r$ )r r r r
r
r Ú
_isNumberTypeJ s zFixOperator._isNumberTypec C s |d d }||_ |jƒ d S )Nr r )ÚvalueZchanged)r r r Únamer r
r
r r N s zFixOperator._handle_renamec C sF t d ||ƒ |d }|jƒ tddj||gƒ ƒg}ttdƒ||jd�S )Nr z, Ú.Ú
isinstance)r )r r r Újoinr r r )r r r ÚmoduleÚabcr r r
r
r r$ S s zFixOperator._handle_type2abcc C s\ t | d|d d j ƒ}t|tjƒrXd|kr0|S t|d ƒf}|j| }| j|d| ƒ d S )NÚ_r r r/ r zYou should use '%s' here.)Úgetattrr* r- r" ÚCallableÚstrr Zwarning)r r r r ÚsubZinvocation_strr
r
r r Y s
zFixOperator._check_methodN)Ú__name__Ú
__module__Ú__qualname__Z
BM_compatibleÚorderr r ÚdictZPATTERNr r r r r r! r% r' r) r r$ r r
r
r
r r
s r
)r" Zlib2to3r Zlib2to3.fixer_utilr r r r r ZBaseFixr
r
r
r
r Ú s