§ íh@Èâ:¯ôãóŠ—dZddlmZddlmZddlmZddlmZmZmZddlmZej dhzZ Gd„d ej ¦«Z d S) ajFixer for dict methods. d.keys() -> list(d.keys()) d.items() -> list(d.items()) d.values() -> list(d.values()) d.iterkeys() -> iter(d.keys()) d.iteritems() -> iter(d.items()) d.itervalues() -> iter(d.values()) d.viewkeys() -> d.keys() d.viewitems() -> d.items() d.viewvalues() -> d.values() Except in certain very specific contexts: the iter() can be dropped when the context is list(), sorted(), iter() or for...in; the list() can be dropped when the context is list() or sorted() (but not iter() or for...in!). Special contexts that apply to both: list(), sorted(), tuple() set(), any(), all(), sum(). Note: iter(d.keys()) could be written as iter(d) but since the original d.iterkeys() was also redundant we don't fix this. And there are (rare) contexts where it makes a difference (e.g. when passing it as an argument to a function that introspects the argument). é)Úpytree)Úpatcomp)Ú fixer_base)ÚNameÚCallÚDot)Ú fixer_utilÚitercój—eZdZdZdZd„ZdZeje¦«Z dZ eje ¦«Z d„Z dS)ÚFixDictTa power< head=any+ trailer< '.' method=('keys'|'items'|'values'| 'iterkeys'|'iteritems'|'itervalues'| 'viewkeys'|'viewitems'|'viewvalues') > parens=trailer< '(' ')' > tail=any* > c óþ—|d}|dd}|d}|j}|j}| d¦«}| d¦«} |s| r |dd…}|dvsJt|¦«¦«‚d „|D¦«}d „|D¦«}| o| ||¦«} |t j|jt¦«t||j ¬ ¦«g¦«|d   ¦«gz} t j|j | ¦«} | s+| s)d | _ tt|rdnd¦«| g¦«} |rt j|j | g|z¦«} |j | _ | S)NÚheadÚmethodéÚtailr Úviewé)ÚkeysÚitemsÚvaluescó6—g|]}| ¦«‘ŒS©©Úclone©Ú.0Úns úC/opt/alt/python-internal/lib64/python3.11/lib2to3/fixes/fix_dict.pyú z%FixDict.transform..Aó €Ð(Ð(Ð(˜a�—’‘ ” Ð(Ð(Ð(ócó6—g|]}| ¦«‘ŒSrrrs rrz%FixDict.transform..Br r!)ÚprefixÚparensÚÚlist)ÚsymsÚvalueÚ startswithÚreprÚin_special_contextrÚNodeÚtrailerrrr#rÚpowerr) ÚselfÚnodeÚresultsrrrr'Ú method_nameÚisiterÚisviewÚspecialÚargsÚnews rÚ transformzFixDict.transform6s²€Ø�vŒˆØ˜Ô" 1Ô%ˆØ�vŒˆØŒyˆØ”lˆ Ø×'Ò'¨Ñ/Ô/ˆØ×'Ò'¨Ñ/Ô/ˆØ ð *�Vð *Ø% a b bœ/ˆKØÐ9Ð9Ð9Ð9½4À¹<¼<Ñ9Ô9Ð9Ø(Ð( 4Ð(Ñ(Ô(ˆØ(Ð( 4Ð(Ñ(Ô(ˆØ�(ÐD˜t×6Ò6°t¸VÑDÔDˆØ•v”{ 4¤<Ý$'¡E¤EÝ$(¨Ø06´ ð%?ñ%?ô%?ð$@ñAôAð˜xÔ(×.Ò.Ñ0Ô0ð 2ñ2ˆõ Œk˜$œ* dÑ+Ô+ˆØð B˜6ð B؈CŒJÝ•t fÐ8˜F˜F°&Ñ9Ô9¸C¸5ÑAÔAˆCØ ð 8Ý”+˜dœj¨3¨%°$©,Ñ7Ô7ˆCØ”[ˆŒ ؈ r!z3power< func=NAME trailer< '(' node=any ')' > any* >zmfor_stmt< 'for' any 'in' node=any ':' any* > | comp_for< 'for' any 'in' node=any any* > cóH—|j€dSi}|jj�^|j |jj|¦«r9|d|ur/|r|djtvS|djt jvS|sdS|j |j|¦«o |d|uS)NFr0Úfunc)ÚparentÚp1Úmatchr(Ú iter_exemptr Úconsuming_callsÚp2)r/r0r3r1s rr+zFixDict.in_special_contextZs°€Ø Œ;Ð Ø�5ØˆØ ŒKÔ Ð *ØŒw�}Š}˜Tœ[Ô/°Ñ9Ô9ð +à�vŒ $Ð&Ð&Øð Kà˜v”Ô,µ Ð;Ð;ð˜v”Ô,µ Ô0JÐJÐJØð Ø�5àŒw�}Š}˜Tœ[¨'Ñ2Ô2ÐN°w¸v´È$Ð7NÐNr!N) Ú__name__Ú __module__Ú __qualname__Ú BM_compatibleÚPATTERNr8ÚP1rÚcompile_patternr<ÚP2r@r+rr!rr r )sw€€€€€Ø€Mð€Gðððð8 ?€BØ ˆÔ  Ñ $Ô $€Bð €Bð !ˆÔ  Ñ $Ô $€BðOðOðOðOðOr!r N) Ú__doc__r%rrrr rrrr?r>ÚBaseFixr rr!rúrKsÓðððð6ÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÐÐÐÐÐðÔ(¨F¨8Ñ3€ ðAOðAOðAOðAOðAOˆjÔ ñAOôAOðAOðAOðAOr!