x~j, b d dl mZ d dlmZmZmZmZmZmZ dZ dZ
G d dej ZdS ) )
fixer_base)CallCommaNameNode BlankLinesymsz0(n='!=' | '==' | 'is' | n=comp_op< 'is' 'not' >)z(power< 'type' trailer< '(' x=any ')' > >c X e Zd ZdZdedededed Z fdZd Zd Z d Z
d
Z xZS ) FixIdiomsTz
isinstance=comparison< z8 T=any >
|
isinstance=comparison< T=any aX >
|
while_stmt< 'while' while='1' ':' any+ >
|
sorted=any<
any*
simple_stmt<
expr_stmt< id1=any '='
power< list='list' trailer< '(' (not arglist) any ')' > >
>
'\n'
>
sort=
simple_stmt<
power< id2=any
trailer< '.' 'sort' > trailer< '(' ')' >
>
'\n'
>
next=any*
>
|
sorted=any<
any*
simple_stmt< expr_stmt< id1=any '=' expr=any > '\n' >
sort=
simple_stmt<
power< id2=any
trailer< '.' 'sort' > trailer< '(' ')' >
>
'\n'
>
next=any*
>
c t t | | }|rd|v r|d |d k r|S d S |S )Nsortedid1id2)superr match)selfnoder __class__s E/opt/alt/python-internal/lib64/python3.11/lib2to3/fixes/fix_idioms.pyr zFixIdioms.matchO sT )T""((..
Qx1U8##4 c d|v r| || S d|v r| || S d|v r| || S t d )N
isinstancewhiler z
Invalid match)transform_isinstancetransform_whiletransform_sortRuntimeError)r r resultss r transformzFixIdioms.transformZ ss 7"",,T7;;;
''g666
&&tW555///r c b |d }|d }d|_ d|_ t t d |t |g }d|v r0d|_ t t j t d |g }|j |_ |S )NxT r r nnot)cloneprefixr r r r r not_test)r r r r# r$ tests r r zFixIdioms.transform_isinstanced s CL CL D&&EGGQ88'>>DK
UT':;;Dkr c h |d }| t d|j d S )Nr Truer) )replacer r) )r r r ones r r zFixIdioms.transform_whilep s3 gD
33344444r c |d }|d }| d }| d }|r*| t d|j ne|rT| }d|_ | t t d |g|j nt
d | |j }d |v r|rJ| d d
|d
j f} d | |d
_ d S t }
|j |
| d d
|
_ d S d S )Nsortnextlistexprr r. r% zshould not have reached here
)
getr/ r r) r( r r remove
rpartitionjoinr parentappend_child)r r r sort_stmt next_stmt list_callsimple_exprnewbtwnprefix_linesend_lines r r zFixIdioms.transform_sortt s FO FO KK'' kk&)) ?d8I4DEEEFFFF
?##%%CCJT(^^cU,7,>!@ !@ !@
A
A
A
A =>>> 4<<
; !% 5 5a 8)A,:MN&*ii&=&= !###
%;; --h777 #'//$"7"7":!