选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
U e5dßã@shdZddlZddlZddlmZddlmZddlmZGdd„de ƒZ Gd d „d e ƒZ ia d d „Z dS) z+George Boutsioukis éN)Ú defaultdicté)Úpytree)Ú reduce_treec@seZdZe ¡Zdd„ZdS)ÚBMNodecCs"i|_g|_ttjƒ|_d|_dS)NÚ)Útransition_tableÚfixersÚnextrÚcountÚidÚcontent©Úself©rú+/usr/lib64/python3.8/lib2to3/btm_matcher.pyÚ__init__s zBMNode.__init__N)Ú__name__Ú __module__Ú __qualname__Ú itertoolsr rrrrrrsrc@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú BottomMatchercCs0tƒ|_tƒ|_|jg|_g|_t d¡|_dS)NZRefactoringTool) ÚsetÚmatchrÚrootZnodesr ÚloggingZ getLoggerZloggerrrrrrs  zBottomMatcher.__init__cCsH|j |¡t|jƒ}| ¡}|j||jd�}|D]}|j |¡q2dS)N©Ústart)r ÚappendrZ pattern_treeZget_linear_subpatternÚaddr)rÚfixerZtreeZlinearÚ match_nodesZ match_noderrrÚ add_fixer%s   zBottomMatcher.add_fixerc CsÄ|s |gSt|dtƒr`g}|dD]6}|j||d�}|D]}| | |dd…|¡¡q:q$|S|d|jkr„tƒ}||j|d<n|j|d}|dd…r¶|j|dd…|d�}n|g}|SdS)Nrrr)Ú isinstanceÚtuplerÚextendrr)rÚpatternrr!Ú alternativeZ end_nodesÚendZ next_noderrrr1s"  zBottomMatcher.addc Csî|j}ttƒ}|D]Ö}|}|rd|_|jD]$}t|tjƒr*|jdkr*d|_qPq*|j dkrb|j}n|j }||j kr˜|j |}|j D]}||  |¡q‚nH|j}|j dk r²|j jr²q||j krà|j |}|j D]}||  |¡qÌ|j }qq|S)NTú;Fr)rrÚlistZ was_checkedZchildrenr#rZLeafÚvalueÚtyperr rÚparent) rZleavesZcurrent_ac_nodeZresultsZleafZcurrent_ast_nodeZchildZ node_tokenr rrrÚrunSs8      ÿ    zBottomMatcher.runcs*tdƒ‡fdd„‰ˆ|jƒtdƒdS)Nz digraph g{csZ|j ¡D]J}|j|}td|j|jt|ƒt|jƒfƒ|dkrLt|jƒˆ|ƒq dS)Nz%d -> %d [label=%s] //%sr)rÚkeysÚprintr Ú type_reprÚstrr r )ZnodeZ subnode_keyZsubnode©Ú print_noderrr4Žs ÿ z*BottomMatcher.print_ac..print_nodeú})r0rrrr3rÚprint_ac‹s  zBottomMatcher.print_acN)rrrrr"rr.r6rrrrrs  "8rcCsDts8ddlm}|j ¡D]\}}t|ƒtkr|t|<qt ||¡S)Nr)Úpython_symbols)Ú _type_reprsZpygramr7Ú__dict__Úitemsr,ÚintÚ setdefault)Ztype_numr7ÚnameÚvalrrrr1›s   r1)Ú __author__rrÚ collectionsrrrZ btm_utilsrÚobjectrrr8r1rrrrÚs