ðÕYf�
ã @ sm d Z d d l Z d d l m Z d d l m Z m Z m Z m Z d d „ Z Gd d „ d e j
ƒ Z d S) aÓ Fixer for operator functions.
operator.isCallable(obj) -> hasattr(obj, '__call__')
operator.sequenceIncludes(obj) -> operator.contains(obj)
operator.isSequenceType(obj) -> isinstance(obj, collections.Sequence)
operator.isMappingType(obj) -> isinstance(obj, collections.Mapping)
operator.isNumberType(obj) -> isinstance(obj, numbers.Number)
operator.repeat(obj, n) -> operator.mul(obj, n)
operator.irepeat(obj, n) -> operator.imul(obj, n)
é N)Ú
fixer_base)ÚCallÚNameÚStringÚtouch_importc s ‡ f d d † } | S)Nc s
ˆ | _ | S)N)Ú
invocation)Úf)Ús© ú?/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_operator.pyÚdec s zinvocation..decr
)r r r
)r r r s r c @ s e Z d Z d Z d Z d Z d Z d e d e d e ƒ Z d d „ Z e
d
ƒ d d „ ƒ Z e
d
ƒ d d „ ƒ Z e
d ƒ d d „ ƒ Z
e
d ƒ d d „ ƒ Z e
d ƒ d d „ ƒ Z e
d ƒ d d „ ƒ Z e
d ƒ d d „ ƒ Z d d „ Z d! d" „ Z d# d$ „ Z d% 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+ | | | ƒ Sd 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 sG | d } | j ƒ t d ƒ t d ƒ g } t t d ƒ | d | j ƒ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 | | d d ƒ S)NÚcollectionsÚSequence)Ú_handle_type2abc)r r r r
r
r Ú_isSequenceTypeB s zFixOperator._isSequenceTypez#isinstance(%s, collections.Mapping)c C s | j | | d d ƒ S)Nr" ÚMapping)r$ )r r r r
r
r Ú_isMappingTypeF s zFixOperator._isMappingTypezisinstance(%s, numbers.Number)c C s | j | | d d ƒ 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 sa t d | | ƒ | d } | j ƒ t d d j | | g ƒ ƒ g } t t d ƒ | d | j ƒS)Nr z, Ú.Ú
isinstancer )r r r Újoinr r r )r r r ÚmoduleÚabcr r r
r
r r$ S s
+zFixOperator._handle_type2abcc C sx t | d | d d j ƒ } t | t j ƒ rt d | k r@ | St | 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
)Ú__doc__r" Zlib2to3r Zlib2to3.fixer_utilr r r r r ZBaseFixr
r
r
r
r Ú
s
"