a
ib
@ sJ d dl Zd dlmZ d dlmZmZmZmZ dd Z G dd dej
ZdS ) N)
fixer_base)CallNameStringtouch_importc s fdd}|S )Nc s
| _ | S N)
invocation)fs 2/usr/lib64/python3.9/lib2to3/fixes/fix_operator.pydec s zinvocation..decr )r r r r
r
r s r c @ s e Zd ZdZdZdZdZdeeed Zdd Z e
d d
d Ze
dd
d Ze
ddd Z
e
ddd Ze
ddd Ze
ddd Ze
ddd Zdd Zd d! Zd"d# Zd$S )%FixOperatorTprez
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 > >
)methodsobjc C s" | ||}|d ur|||S d S r )
_check_method)selfnoderesultsmethodr r r
transform+ s zFixOperator.transformzoperator.contains(%s)c C s | ||dS )Ncontains_handle_renamer r r r r r
_sequenceIncludes0 s zFixOperator._sequenceIncludeszcallable(%s)c C s" |d }t td| g|jdS )Nr callableprefix)r r cloner )r r r r r r r
_isCallable4 s zFixOperator._isCallablezoperator.mul(%s)c C s | ||dS )Nmulr r r r r
_repeat9 s zFixOperator._repeatzoperator.imul(%s)c C s | ||dS )Nimulr r r r r
_irepeat= s zFixOperator._irepeatz(isinstance(%s, collections.abc.Sequence)c C s | ||ddS )Ncollections.abcSequence_handle_type2abcr r r r
_isSequenceTypeA s zFixOperator._isSequenceTypez'isinstance(%s, collections.abc.Mapping)c C s | ||ddS )Nr' Mappingr) r r r r
_isMappingTypeE s zFixOperator._isMappingTypezisinstance(%s, numbers.Number)c C s | ||ddS )NZnumbersNumberr) r r r r
_isNumberTypeI s zFixOperator._isNumberTypec C s |d d }||_ | d S )Nr r )valuechanged)r r r namer r r r
r M s zFixOperator._handle_renamec C sF t d || |d }| tdd||g g}ttd||jdS )Nr z, .
isinstancer )r r! r joinr r r )r r r moduleabcr argsr r r
r* R s zFixOperator._handle_type2abcc C s^ t | d|d d j }t|tjjrZd|v r2|S t|d f}|j| }| |d| d S )N_r r r6 r zYou should use '%s' here.) getattrr0 r4 collectionsr7 Callablestrr warning)r r r r subZinvocation_strr r r
r X s
zFixOperator._check_methodN)__name__
__module____qualname__Z
BM_compatibleorderr r dictZPATTERNr r r r" r$ r&