B YI~db ã@sJddlZddlmZddlmZmZmZmZdd„Z Gdd„dej ƒZ dS)éN)Ú fixer_base)ÚCallÚNameÚStringÚ touch_importcs‡fdd„}|S)Ncs ˆ|_|S)N)Ú invocation)Úf)Ús©ú?/opt/alt/python37/lib64/python3.7/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"| ||¡}|dk r|||ƒSdS)N)Ú _check_method)ÚselfÚnodeÚresultsÚmethodr r r Ú transform+s zFixOperator.transformzoperator.contains(%s)cCs| ||d¡S)NÚcontains)Ú_handle_rename)rrrr r r Ú_sequenceIncludes0szFixOperator._sequenceIncludesz callable(%s)cCs"|d}ttdƒ| ¡g|jd�S)NrÚcallable)Úprefix)rrÚcloner)rrrrr r r Ú _isCallable4szFixOperator._isCallablezoperator.mul(%s)cCs| ||d¡S)NÚmul)r)rrrr r r Ú_repeat9szFixOperator._repeatzoperator.imul(%s)cCs| ||d¡S)NÚimul)r)rrrr r r Ú_irepeat=szFixOperator._irepeatz(isinstance(%s, collections.abc.Sequence)cCs| ||dd¡S)Nzcollections.abcÚSequence)Ú_handle_type2abc)rrrr r r Ú_isSequenceTypeAszFixOperator._isSequenceTypez'isinstance(%s, collections.abc.Mapping)cCs| ||dd¡S)Nzcollections.abcÚMapping)r")rrrr r r Ú_isMappingTypeEszFixOperator._isMappingTypezisinstance(%s, numbers.Number)cCs| ||dd¡S)NZnumbersÚNumber)r")rrrr r r Ú _isNumberTypeIszFixOperator._isNumberTypecCs|dd}||_| ¡dS)Nrr)ÚvalueZchanged)rrrÚnamerr r r rMs zFixOperator._handle_renamecCsFtd||ƒ|d}| ¡tdd ||g¡ƒg}ttdƒ||jd�S)Nrz, Ú.Ú isinstance)r)rrrÚjoinrrr)rrrÚmoduleÚabcrÚargsr r r r"Rs zFixOperator._handle_type2abccCs^t|d|ddjƒ}t|tjjƒrZd|kr2|St|dƒf}|j|}| |d|¡dS)NÚ_rrr-rzYou should use '%s' here.) Úgetattrr(r+Ú collectionsr.ÚCallableÚstrrZwarning)rrrrÚsubZinvocation_strr r r rXs zFixOperator._check_methodN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleÚorderrrÚdictZPATTERNrrrrrr r#r%r'rr"rr r r r r s r ) Zcollections.abcr2Zlib2to3rZlib2to3.fixer_utilrrrrrZBaseFixr r r r r Ú s