grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \� ã@sJddlZddlmZddlmZmZmZmZdd„ZGdd„dej ƒZ dS)éN)Ú fixer_base)ÚCallÚNameÚStringÚ touch_importcs‡fdd„}|S)Ncs ˆ|_|S)N)Ú invocation)Úf)Ús©ú2/usr/lib64/python3.6/lib2to3/fixes/fix_operator.pyÚdecszinvocation..decr )r r r )r r rs rc@s¼eZdZdZdZdZdZdeeed�Zdd„Z e d ƒd d „ƒZ e d ƒd d„ƒZ e 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ÚobjcCs"|j||ƒ}|dk r|||ƒSdS)N)Ú _check_method)ÚselfÚnodeÚresultsÚmethodr r r Ú transform+s zFixOperator.transformzoperator.contains(%s)cCs|j||dƒS)NÚcontains)Ú_handle_rename)rrrr r r Ú_sequenceIncludes0szFixOperator._sequenceIncludeszhasattr(%s, '__call__')cCs2|d}|jƒtdƒtdƒg}ttdƒ||jd�S)Nrz, z '__call__'Úhasattr)Úprefix)Úclonerrrr)rrrrÚargsr r r Ú _isCallable4szFixOperator._isCallablezoperator.mul(%s)cCs|j||dƒS)NÚmul)r)rrrr r r Ú_repeat:szFixOperator._repeatzoperator.imul(%s)cCs|j||dƒS)NÚimul)r)rrrr r r Ú_irepeat>szFixOperator._irepeatz$isinstance(%s, collections.Sequence)cCs|j||ddƒS)NÚ collectionsÚSequence)Ú_handle_type2abc)rrrr r r Ú_isSequenceTypeBszFixOperator._isSequenceTypez#isinstance(%s, collections.Mapping)cCs|j||ddƒS)Nr"ÚMapping)r$)rrrr r r Ú_isMappingTypeFszFixOperator._isMappingTypezisinstance(%s, numbers.Number)cCs|j||ddƒS)NZnumbersÚNumber)r$)rrrr r r Ú _isNumberTypeJszFixOperator._isNumberTypecCs|dd}||_|jƒdS)Nrr)ÚvalueZchanged)rrrÚnamerr r r rNs zFixOperator._handle_renamecCsFtd||ƒ|d}|jƒtddj||gƒƒg}ttdƒ||jd�S)Nrz, Ú.Ú isinstance)r)rrrÚjoinrrr)rrrÚmoduleÚabcrrr r r r$Ss zFixOperator._handle_type2abccCs\t|d|ddjƒ}t|tjƒrXd|kr0|St|dƒf}|j|}|j|d|ƒdS)NÚ_rrr/rzYou should use '%s' here.)Úgetattrr*r-r"ÚCallableÚstrrZwarning)rrrrÚsubZinvocation_strr r r rYs  zFixOperator._check_methodN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleÚorderrrÚdictZPATTERNrrrrrr!r%r'r)rr$rr r r r r s r ) r"Zlib2to3rZlib2to3.fixer_utilrrrrrZBaseFixr r r r r Ú s