U ,a8m@sdZddlZddlmZdZiaddZGdddeZGd d d eZ Gd d d eZ d dZ GdddeZ Gddde Z Gddde ZGddde ZGddde ZddZdS)z#Guido van Rossum N)StringIOicCsDts8ddlm}|jD]\}}t|tkr|t|<qt||S)N)python_symbols) _type_reprsZpygramr__dict__itemstypeint setdefault)Ztype_numrnamevalr 3/opt/alt/python38/lib64/python3.8/lib2to3/pytree.py type_reprs   rc@seZdZdZdZdZdZdZddZddZ dZ dd Z d d Z d d Z ddZddZddZddZddZeddZeddZddZddZd d!Zejd"krd#d$ZdS)%BaseNr FcOs t|SNobject__new__clsargskwdsr r rr1sz Base.__new__cCs|j|jk rtS||Sr) __class__NotImplemented_eqselfotherr r r__eq__6s z Base.__eq__cCstdSrNotImplementedErrorrr r rrBs zBase._eqcCstdSrr rr r rcloneMsz Base.clonecCstdSrr r"r r r post_orderUszBase.post_ordercCstdSrr r"r r r pre_order]szBase.pre_ordercCs~t|ts|g}g}d}|jjD].}||krD|dk r>||d}q ||q |j||j_|D] }|j|_qfd|_dSNFT) isinstancelistparentchildrenextendappendchanged)rnewZ l_childrenfoundchxr r rreplacees      z Base.replacecCs*|}t|ts$|jsdS|jd}q|jSNr)r'Leafr*linenornoder r r get_lineno|s   zBase.get_linenocCs|jr|jd|_dSNT)r)r- was_changedr"r r rr-s z Base.changedcCsJ|jrFt|jjD]2\}}||kr|j|jj|=d|_|SqdSr)r) enumerater*r-)rir7r r rremoves  z Base.removec Cs`|jdkrdSt|jjD]@\}}||krz|jj|dWStk rXYdSXqdS)Nr)r)r;r* IndexErrorrr<childr r r next_siblings zBase.next_siblingcCsR|jdkrdSt|jjD]2\}}||kr|dkr8dS|jj|dSqdSNrr)r)r;r*r?r r r prev_siblings zBase.prev_siblingccs|jD]}|EdHqdSr)r*leavesrr@r r rrDs z Base.leavescCs|jdkrdSd|jSrB)r)depthr"r r rrFs z Base.depthcCs|j}|dkrdS|jSN)rAprefix)rZnext_sibr r r get_suffixszBase.get_suffixrcCst|dS)Nascii)strencoder"r r r__str__sz Base.__str__)__name__ __module__ __qualname__rr)r*r:Z was_checkedrr__hash__rr#r$r%r2r8r-r=propertyrArCrDrFrJsys version_inforPr r r rrs2        rc@seZdZdddZddZddZejdkr0eZd d Z d d Z d dZ ddZ e ddZejddZddZddZddZdS)NodeNcCsN||_t||_|jD] }||_q|dk r0||_|rD|dd|_nd|_dSr)rr(r*r)rIfixers_applied)rrr*contextrIrYr0r r r__init__s   z Node.__init__cCsd|jjt|j|jfS)Nz %s(%s, %r))rrQrrr*r"r r r__repr__sz Node.__repr__cCsdtt|jSrG)joinmaprNr*r"r r r __unicode__szNode.__unicode__rKcCs|j|jf|j|jfkSr)rr*rr r rrszNode._eqcCst|jdd|jD|jdS)NcSsg|] }|qSr )r#).0r0r r r szNode.clone..rY)rXrr*rYr"r r rr#sz 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)NrHrr*rIr"r r rrIsz Node.prefixcCs|jr||jd_dSr3rcrrIr 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%rUrIsetterrergrhr r r rrXs&      rXc@seZdZdZdZdZddgfddZddZdd Ze j d krBeZ d d Z d dZ ddZddZddZeddZejddZdS)r4rHrNcCsF|dk r|\|_\|_|_||_||_|dk r4||_|dd|_dSr)_prefixr5columnrvaluerY)rrrlrZrIrYr r rr[Fs z Leaf.__init__cCsd|jj|j|jfS)Nz %s(%r, %r))rrQrrlr"r r rr\Ysz Leaf.__repr__cCs|jt|jSr)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 rrIs)rQrRrSrjr5rkr[r\r_rVrWrPrr#rDr$r%rUrIrir r r rr4=s(   r4cCsN|\}}}}|s||jkr s"  1nNV,==#