B xcb @sNdZddlZddlmZddlmZmZmZm Z ddZ Gdddej Z dS) aFixer for operator functions. operator.isCallable(obj) -> callable(obj) operator.sequenceIncludes(obj) -> operator.contains(obj) operator.isSequenceType(obj) -> isinstance(obj, collections.abc.Sequence) operator.isMappingType(obj) -> isinstance(obj, collections.abc.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)CallNameString touch_importcsfdd}|S)Ncs |_|S)N) invocation)f)s?/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_operator.pydecszinvocation..decr )r r r )r r rs rc@seZdZdZdZdZdZdeeedZddZ e d d d Z e d d dZ e dddZ e dddZe dddZe dddZe dddZddZd 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 > > )methodsobjcCs"|||}|dk r|||SdS)N) _check_method)selfnoderesultsmethodr r r transform+s zFixOperator.transformzoperator.contains(%s)cCs|||dS)Ncontains)_handle_rename)rrrr r r _sequenceIncludes0szFixOperator._sequenceIncludesz callable(%s)cCs"|d}ttd|g|jdS)Nrcallable)prefix)rrcloner)rrrrr r r _isCallable4szFixOperator._isCallablezoperator.mul(%s)cCs|||dS)Nmul)r)rrrr r r _repeat9szFixOperator._repeatzoperator.imul(%s)cCs|||dS)Nimul)r)rrrr r r _irepeat=szFixOperator._irepeatz(isinstance(%s, collections.abc.Sequence)cCs|||ddS)Nzcollections.abcSequence)_handle_type2abc)rrrr r r _isSequenceTypeAszFixOperator._isSequenceTypez'isinstance(%s, collections.abc.Mapping)cCs|||ddS)Nzcollections.abcMapping)r")rrrr r r _isMappingTypeEszFixOperator._isMappingTypezisinstance(%s, numbers.Number)cCs|||ddS)NZnumbersNumber)r")rrrr r r _isNumberTypeIszFixOperator._isNumberTypecCs|dd}||_|dS)Nrr)valueZchanged)rrrnamerr r r rMs zFixOperator._handle_renamecCsFtd|||d}|tdd||gg}ttd||jdS)Nrz, . isinstance)r)rrrjoinrrr)rrrmoduleabcrargsr r r r"Rs zFixOperator._handle_type2abccCs^t|d|ddj}t|tjjrZd|kr2|St|df}|j|}||d|dS)N_rrr-rzYou should use '%s' here.) getattrr(r+ collectionsr.CallablestrrZwarning)rrrrsubZinvocation_strr r r rXs zFixOperator._check_methodN)__name__ __module__ __qualname__Z BM_compatibleorderrrdictZPATTERNrrrrrr r#r%r'rr"rr r r r r s r ) __doc__Zcollections.abcr2Zlib2to3rZlib2to3.fixer_utilrrrrrZBaseFixr r r r r  s