U e5d8mã@s¼dZddlZddlmZdZiadd„ZGdd„deƒZGd d „d eƒZ Gd d „d eƒZ d d„Z Gdd„deƒZ Gdd„de ƒZ Gdd„de ƒZGdd„de ƒZGdd„de ƒZdd„ZdS)z#Guido van Rossum éN)ÚStringIOiÿÿÿcCsDts8ddlm}|j ¡D]\}}t|ƒtkr|t|<qt ||¡S)Né)Úpython_symbols)Ú _type_reprsZpygramrÚ__dict__ÚitemsÚtypeÚintÚ setdefault)Ztype_numrÚnameÚval©r ú&/usr/lib64/python3.8/lib2to3/pytree.pyÚ type_reprs   rc@s¶eZdZdZdZdZdZdZdd„Zdd„Z dZ dd „Z d d „Z d d „Z dd„Zdd„Zdd„Zdd„Zdd„Zedd„ƒZedd„ƒZdd„Zdd„Zd d!„Zejd"kr²d#d$„ZdS)%ÚBaseNr FcOs t |¡S©N©ÚobjectÚ__new__©ÚclsÚargsÚkwdsr r rr1sz Base.__new__cCs|j|jk rtS| |¡Sr)Ú __class__ÚNotImplementedÚ_eq©ÚselfÚotherr r rÚ__eq__6s z Base.__eq__cCst‚dSr©ÚNotImplementedErrorrr r rrBs zBase._eqcCst‚dSrr ©rr r rÚcloneMsz Base.clonecCst‚dSrr r"r r rÚ post_orderUszBase.post_ordercCst‚dSrr r"r r rÚ pre_order]szBase.pre_ordercCs~t|tƒs|g}g}d}|jjD].}||krD|dk r>| |¡d}q | |¡q |j ¡||j_|D] }|j|_qfd|_dS©NFT)Ú isinstanceÚlistÚparentÚchildrenÚextendÚappendÚchanged)rÚnewZ l_childrenÚfoundÚchÚxr r rÚreplacees      z Base.replacecCs*|}t|tƒs$|jsdS|jd}q|jS©Nr)r'ÚLeafr*Úlineno©rÚnoder r rÚ get_lineno|s   zBase.get_linenocCs|jr|j ¡d|_dS©NT)r)r-Ú was_changedr"r r rr-…s z Base.changedcCsJ|jrFt|jjƒD]2\}}||kr|j ¡|jj|=d|_|SqdSr)r)Ú enumerater*r-)rÚir7r r rÚremoveŠs  z Base.removec Cs`|jdkrdSt|jjƒD]@\}}||krz|jj|dWStk rXYdSXqdS)Nr)r)r;r*Ú IndexError©rr<Úchildr r rÚ next_sibling—s zBase.next_siblingcCsR|jdkrdSt|jjƒD]2\}}||kr|dkr8dS|jj|dSqdS©Nrr)r)r;r*r?r r rÚ prev_sibling¨s zBase.prev_siblingccs|jD]}| ¡EdHqdSr)r*Úleaves©rr@r r rrD¸s z Base.leavescCs|jdkrdSd|j ¡SrB)r)Údepthr"r r rrF¼s z Base.depthcCs|j}|dkrdS|jS©NÚ)rAÚprefix)rZnext_sibr r rÚ get_suffixÁszBase.get_suffix©ércCst|ƒ d¡S)NÚascii)ÚstrÚencoder"r r rÚ__str__Ìsz Base.__str__)Ú__name__Ú __module__Ú __qualname__rr)r*r:Z was_checkedrrÚ__hash__rr#r$r%r2r8r-r=ÚpropertyrArCrDrFrJÚsysÚ version_inforPr r r rrs2        rc@s†eZdZddd„Zdd„Zdd„Zejdkr0eZd d „Z d d „Z d d„Z dd„Z e dd„ƒZejdd„ƒZdd„Zdd„Zdd„ZdS)ÚNodeNcCsN||_t|ƒ|_|jD] }||_q|dk r0||_|rD|dd…|_nd|_dSr)rr(r*r)rIÚfixers_applied)rrr*ÚcontextrIrYr0r r rÚ__init__Ós   z Node.__init__cCsd|jjt|jƒ|jfS)Nz %s(%s, %r))rrQrrr*r"r r rÚ__repr__ìsþz Node.__repr__cCsd tt|jƒ¡SrG)ÚjoinÚmaprNr*r"r r rÚ __unicode__òszNode.__unicode__rKcCs|j|jf|j|jfkSr)rr*rr r rrýszNode._eqcCst|jdd„|jDƒ|jdS)NcSsg|] }| ¡‘qSr )r#)Ú.0r0r r rÚ szNode.clone..©rY)rXrr*rYr"r r rr#sÿz Node.cloneccs$|jD]}| ¡EdHq|VdSr)r*r$rEr r rr$s zNode.post_orderccs$|V|jD]}| ¡EdHq dSr)r*r%rEr r rr% s zNode.pre_ordercCs|js dS|jdjS)NrHr©r*rIr"r r rrIsz Node.prefixcCs|jr||jd_dSr3rc©rrIr r rrIscCs(||_d|j|_||j|<| ¡dSr)r)r*r-r?r r rÚ set_child s  zNode.set_childcCs ||_|j ||¡| ¡dSr)r)r*Úinsertr-r?r r rÚ insert_child*szNode.insert_childcCs||_|j |¡| ¡dSr)r)r*r,r-rEr r rÚ append_child3s zNode.append_child)NNN)rQrRrSr[r\r_rVrWrPrr#r$r%rUrIÚsetterrergrhr r r rrXÏs&ý      rXc@sˆeZdZdZdZdZddgfdd„Zdd„Zdd „Ze j d krBeZ d d „Z d d„Z dd„Zdd„Zdd„Zedd„ƒZejdd„ƒZdS)r4rHrNcCsF|dk r|\|_\|_|_||_||_|dk r4||_|dd…|_dSr)Ú_prefixr5ÚcolumnrÚvaluerY)rrrlrZrIrYr r rr[Fs z Leaf.__init__cCsd|jj|j|jfS)Nz %s(%r, %r))rrQrrlr"r r rr\Ysþz Leaf.__repr__cCs|jt|jƒSr)rIrNrlr"r r rr__szLeaf.__unicode__rKcCs|j|jf|j|jfkSr)rrlrr r rrjszLeaf._eqcCs$t|j|j|j|j|jff|jdS)Nrb)r4rrlrIr5rkrYr"r r rr#ns þz Leaf.cloneccs |VdSrr r"r r rrDtsz Leaf.leavesccs |VdSrr r"r r rr$wszLeaf.post_orderccs |VdSrr r"r r rr%{szLeaf.pre_ordercCs|jSr)rjr"r r rrIsz Leaf.prefixcCs| ¡||_dSr)r-rjrdr r rrI†s)rQrRrSrjr5rkr[r\r_rVrWrPrr#rDr$r%rUrIrir r r rr4=s(ý   r4cCsN|\}}}}|s||jkr s"  1nNV,==#