§
    ƒnócÌ9  ã                  ó‚   — d dl mZ ddlmZ ddlmZ d dlZd dlZddd	d
ddœZ G d„ de¦  «        Z	 G d„ de¦  «        Z
dS )é    )Úannotationsé   )Úmparseré   )Ú
AstVisitorNú+ú-ú%Ú*ú/)ÚaddÚsubÚmodÚmulÚdivc                  ó  — e Zd ZdKdLd	„ZdMd„ZdNd„ZdNd„ZdMd„ZdOd„ZdPd„Z	dQd„Z
dRd„ZdSd„ZdTd„ZdUd!„ZdVd#„ZdWd%„ZdXd'„ZdYd)„ZdZd+„Zd[d-„Zd\d/„Zd]d1„Zd^d3„Zd_d5„Zd`d7„Zdad9„Zdbd;„Zdcd=„Zddd?„ZdedA„ZdfdC„ZdgdE„Z dhdG„Z!didI„Z"dJS )jÚ
AstPrinterr   é   FÚindentÚintÚarg_newline_cutoffÚupdate_ast_line_nosÚboolc                óp   — d| _         || _        || _        d| _        d| _        d| _        |rdnd | _        d S )NÚ Tr   r   )Úresultr   r   ÚciÚ
is_newlineÚ
last_levelÚ	curr_line)Úselfr   r   r   s       ú8/usr/lib/python3/dist-packages/mesonbuild/ast/printer.pyÚ__init__zAstPrinter.__init__!   sA   € ØˆŒØˆŒØ"4ˆÔØˆŒØˆŒØˆŒØ1Ð;˜˜°tˆŒˆˆó    ÚreturnÚNonec                óF   — t          j        dd| j        ¦  «        | _        d S )Nz\s+\nú
)Úrer   r   ©r!   s    r"   Úpost_processzAstPrinter.post_process*   s   € Ý”f˜X t¨T¬[Ñ9Ô9ˆŒˆˆr$   ÚdataÚstrÚnodeúmparser.BaseNodec                óš   — |j         | _        | j        r | xj        d|j         | j        z  z  z  c_        | xj        |z  c_        d| _        d S )Nú F)Úlevelr   r   r   r   ©r!   r,   r.   s      r"   ÚappendzAstPrinter.append-   sN   € Øœ*ˆŒØŒ?ð 	<ØˆKŒK˜3 $¤*¨t¬{Ñ":Ñ;Ñ;ˆKŒKØˆŒ�tÑˆŒØˆŒˆˆr$   c                ón   — | j         r| j         d         dvrd|z   }|                      |dz   |¦  «         d S )Néÿÿÿÿ)r1   r(   r1   )r   r4   r3   s      r"   Úappend_paddedzAstPrinter.append_padded4   sC   € ØŒ;ð 	˜4œ; rœ?°+Ð=Ð=Ø˜‘:ˆDØ�Š�D˜3‘J Ñ%Ô%Ð%Ð%Ð%r$   c                óf   — | xj         dz  c_         d| _        | j        �| xj        dz  c_        d S d S )Nr(   Tr   )r   r   r    r*   s    r"   ÚnewlinezAstPrinter.newline9   s=   € ØˆŒ�tÑˆŒØˆŒØŒ>Ð%ØˆNŒN˜aÑˆNŒNˆNˆNð &Ð%r$   úmparser.BooleanNodec                ój   — |                       |j        rdnd|¦  «         | j        p|j        |_        d S )NÚtrueÚfalse)r4   Úvaluer    Úlineno©r!   r.   s     r"   Úvisit_BooleanNodezAstPrinter.visit_BooleanNode?   s5   € Ø�Š˜dœjÐ5�F�F¨g°tÑ<Ô<Ð<Ø”nÐ3¨¬ˆŒˆˆr$   úmparser.IdNodec                óš   — t          |j        t          ¦  «        sJ ‚|                      |j        |¦  «         | j        p|j        |_        d S ©N©Ú
isinstancer>   r-   r4   r    r?   r@   s     r"   Úvisit_IdNodezAstPrinter.visit_IdNodeC   sD   € Ý˜$œ*¥cÑ*Ô*Ð*Ð*Ð*Ø�Š�D”J Ñ%Ô%Ð%Ø”nÐ3¨¬ˆŒˆˆr$   úmparser.NumberNodec                ó|   — |                       t          |j        ¦  «        |¦  «         | j        p|j        |_        d S rD   )r4   r-   r>   r    r?   r@   s     r"   Úvisit_NumberNodezAstPrinter.visit_NumberNodeH   s2   € Ø�Š•C˜œ
‘O”O TÑ*Ô*Ð*Ø”nÐ3¨¬ˆŒˆˆr$   Úvalc                ób   — |                      t                               dddœ¦  «        ¦  «        S )Nz\'z\\)ú'ú\)Ú	translater-   Ú	maketrans)r!   rK   s     r"   ÚescapezAstPrinter.escapeL   s7   € Ø�}Š}�SŸ]š]°&Ø28ð,:ð ,:ñ ;ô ;ñ <ô <ð 	<r$   úmparser.StringNodec                óÌ   — t          |j        t          ¦  «        sJ ‚|                      d|                      |j        ¦  «        z   dz   |¦  «         | j        p|j        |_        d S )NrM   )rF   r>   r-   r4   rQ   r    r?   r@   s     r"   Úvisit_StringNodezAstPrinter.visit_StringNodeP   sZ   € Ý˜$œ*¥cÑ*Ô*Ð*Ð*Ð*Ø�Š�C˜$Ÿ+š+ d¤jÑ1Ô1Ñ1°CÑ7¸Ñ>Ô>Ð>Ø”nÐ3¨¬ˆŒˆˆr$   úmparser.FormatStringNodec                ó¦   — t          |j        t          ¦  «        sJ ‚|                      d|j        z   dz   |¦  «         | j        p|j        |_        d S )Nzf'rM   rE   r@   s     r"   Úvisit_FormatStringNodez!AstPrinter.visit_FormatStringNodeU   sN   € Ý˜$œ*¥cÑ*Ô*Ð*Ð*Ð*Ø�Š�D˜4œ:Ñ%¨Ñ+¨TÑ2Ô2Ð2Ø”nÐ3¨¬ˆŒˆˆr$   úmparser.ContinueNodec                óX   — |                       d|¦  «         | j        p|j        |_        d S )NÚcontinue©r4   r    r?   r@   s     r"   Úvisit_ContinueNodezAstPrinter.visit_ContinueNodeZ   s*   € Ø�Š�J Ñ%Ô%Ð%Ø”nÐ3¨¬ˆŒˆˆr$   úmparser.BreakNodec                óX   — |                       d|¦  «         | j        p|j        |_        d S )NÚbreakr[   r@   s     r"   Úvisit_BreakNodezAstPrinter.visit_BreakNode^   s*   € Ø�Š�G˜TÑ"Ô"Ð"Ø”nÐ3¨¬ˆŒˆˆr$   úmparser.ArrayNodec                ó¸   — | j         p|j        |_        |                      d|¦  «         |j                             | ¦  «         |                      d|¦  «         d S ©Nú[ú]©r    r?   r4   ÚargsÚacceptr@   s     r"   Úvisit_ArrayNodezAstPrinter.visit_ArrayNodeb   óV   € Ø”nÐ3¨¬ˆŒØ�Š�C˜ÑÔÐØŒ	×Ò˜ÑÔÐØ�Š�C˜ÑÔÐÐÐr$   úmparser.DictNodec                ó¸   — | j         p|j        |_        |                      d|¦  «         |j                             | ¦  «         |                      d|¦  «         d S )Nú{ú}rf   r@   s     r"   Úvisit_DictNodezAstPrinter.visit_DictNodeh   rj   r$   úmparser.OrNodec                óÀ   — |j                              | ¦  «         |                      d|¦  «         | j        p|j        |_        |j                             | ¦  «         d S )NÚor©Úleftrh   r7   r    r?   Úrightr@   s     r"   Úvisit_OrNodezAstPrinter.visit_OrNoden   sZ   € ØŒ	×Ò˜ÑÔÐØ×Ò˜4 Ñ&Ô&Ð&Ø”nÐ3¨¬ˆŒØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.AndNodec                óÀ   — |j                              | ¦  «         |                      d|¦  «         | j        p|j        |_        |j                             | ¦  «         d S )NÚandrs   r@   s     r"   Úvisit_AndNodezAstPrinter.visit_AndNodet   sZ   € ØŒ	×Ò˜ÑÔÐØ×Ò˜5 $Ñ'Ô'Ð'Ø”nÐ3¨¬ˆŒØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.ComparisonNodec                óÊ   — |j                              | ¦  «         |                      |j        |¦  «         | j        p|j        |_        |j                             | ¦  «         d S rD   )rt   rh   r7   Úctyper    r?   ru   r@   s     r"   Úvisit_ComparisonNodezAstPrinter.visit_ComparisonNodez   s\   € ØŒ	×Ò˜ÑÔÐØ×Ò˜4œ: tÑ,Ô,Ð,Ø”nÐ3¨¬ˆŒØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.ArithmeticNodec                óà   — |j                              | ¦  «         |                      t          |j                 |¦  «         | j        p|j        |_        |j                             | ¦  «         d S rD   )rt   rh   r7   Úarithmic_mapÚ	operationr    r?   ru   r@   s     r"   Úvisit_ArithmeticNodezAstPrinter.visit_ArithmeticNode€   sa   € ØŒ	×Ò˜ÑÔÐØ×Ò�<¨¬Ô7¸Ñ>Ô>Ð>Ø”nÐ3¨¬ˆŒØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.NotNodec                óŒ   — | j         p|j        |_        |                      d|¦  «         |j                             | ¦  «         d S )NÚnot©r    r?   r7   r>   rh   r@   s     r"   Úvisit_NotNodezAstPrinter.visit_NotNode†   sD   € Ø”nÐ3¨¬ˆŒØ×Ò˜5 $Ñ'Ô'Ð'ØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.CodeBlockNodec                ó’   — | j         p|j        |_        |j        D ]+}|                     | ¦  «         |                      ¦   «          Œ,d S rD   )r    r?   Úlinesrh   r9   )r!   r.   Úis      r"   Úvisit_CodeBlockNodezAstPrinter.visit_CodeBlockNode‹   sK   € Ø”nÐ3¨¬ˆŒØ”ð 	ð 	ˆAØ�HŠH�T‰NŒNˆNØ�LŠL‰NŒNˆNˆNð	ð 	r$   úmparser.IndexNodec                óì   — |j                              | ¦  «         | j        p|j        |_        |                      d|¦  «         |j                             | ¦  «         |                      d|¦  «         d S rc   )Úiobjectrh   r    r?   r4   Úindexr@   s     r"   Úvisit_IndexNodezAstPrinter.visit_IndexNode‘   sl   € ØŒ×Ò˜DÑ!Ô!Ð!Ø”nÐ3¨¬ˆŒØ�Š�C˜ÑÔÐØŒ
×Ò˜$ÑÔÐØ�Š�C˜ÑÔÐÐÐr$   úmparser.MethodNodec                ó  — | j         p|j        |_        |j                             | ¦  «         |                      d|j        z   dz   |¦  «         |j                             | ¦  «         |                      d|¦  «         d S )Nú.ú(ú))r    r?   Úsource_objectrh   r4   Únamerg   r@   s     r"   Úvisit_MethodNodezAstPrinter.visit_MethodNode˜   sx   € Ø”nÐ3¨¬ˆŒØÔ×!Ò! $Ñ'Ô'Ð'Ø�Š�C˜$œ)‘O cÑ)¨4Ñ0Ô0Ð0ØŒ	×Ò˜ÑÔÐØ�Š�C˜ÑÔÐÐÐr$   úmparser.FunctionNodec                óÈ   — | j         p|j        |_        |                      |j        dz   |¦  «         |j                             | ¦  «         |                      d|¦  «         d S )Nr–   r—   )r    r?   r4   Ú	func_namerg   rh   r@   s     r"   Úvisit_FunctionNodezAstPrinter.visit_FunctionNodeŸ   s]   € Ø”nÐ3¨¬ˆŒØ�Š�D”N SÑ(¨$Ñ/Ô/Ð/ØŒ	×Ò˜ÑÔÐØ�Š�C˜ÑÔÐÐÐr$   úmparser.AssignmentNodec                óœ   — | j         p|j        |_        |                      |j        dz   |¦  «         |j                             | ¦  «         d S )Nz = ©r    r?   r4   Úvar_namer>   rh   r@   s     r"   Úvisit_AssignmentNodezAstPrinter.visit_AssignmentNode¥   sI   € Ø”nÐ3¨¬ˆŒØ�Š�D”M EÑ)¨4Ñ0Ô0Ð0ØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.PlusAssignmentNodec                óœ   — | j         p|j        |_        |                      |j        dz   |¦  «         |j                             | ¦  «         d S )Nz += r¡   r@   s     r"   Úvisit_PlusAssignmentNodez#AstPrinter.visit_PlusAssignmentNodeª   sI   € Ø”nÐ3¨¬ˆŒØ�Š�D”M FÑ*¨DÑ1Ô1Ð1ØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.ForeachClauseNodec                óœ  — | j         p|j        |_        |                      d|¦  «         |                      d                     |j        ¦  «        |¦  «         |                      d|¦  «         |j                             | ¦  «         |                      ¦   «          |j                             | ¦  «         |  	                    d|¦  «         d S )NÚforeachú, ú:Ú
endforeach)
r    r?   r7   ÚjoinÚvarnamesÚitemsrh   r9   Úblockr4   r@   s     r"   Úvisit_ForeachClauseNodez"AstPrinter.visit_ForeachClauseNode¯   sµ   € Ø”nÐ3¨¬ˆŒØ×Ò˜9 dÑ+Ô+Ð+Ø×Ò˜4Ÿ9š9 T¤]Ñ3Ô3°TÑ:Ô:Ð:Ø×Ò˜3 Ñ%Ô%Ð%ØŒ
×Ò˜$ÑÔÐØ�Š‰ŒˆØŒ
×Ò˜$ÑÔÐØ�Š�L $Ñ'Ô'Ð'Ð'Ð'r$   úmparser.IfClauseNodec                ón  — | j         p|j        |_        d}|j        D ]2}|                      |dz   |¦  «         d}|                     | ¦  «         Œ3t          |j        t          j        ¦  «        s0|  	                    d|¦  «         |j                             | ¦  «         |  	                    d|¦  «         d S )Nr   ÚifÚelÚelseÚendif)
r    r?   Úifsr7   rh   rF   Ú	elseblockr   Ú	EmptyNoder4   )r!   r.   ÚprefixrŒ   s       r"   Úvisit_IfClauseNodezAstPrinter.visit_IfClauseNode¹   s³   € Ø”nÐ3¨¬ˆŒØˆØ”ð 	ð 	ˆAØ×Ò˜v¨™}¨dÑ3Ô3Ð3ØˆFØ�HŠH�T‰NŒNˆNˆNÝ˜$œ.­'Ô*;Ñ<Ô<ð 	(Ø�KŠK˜ Ñ%Ô%Ð%ØŒN×!Ò! $Ñ'Ô'Ð'Ø�Š�G˜TÑ"Ô"Ð"Ð"Ð"r$   úmparser.UMinusNodec                óŒ   — | j         p|j        |_        |                      d|¦  «         |j                             | ¦  «         d S )Nr	   r‡   r@   s     r"   Úvisit_UMinusNodezAstPrinter.visit_UMinusNodeÅ   sD   € Ø”nÐ3¨¬ˆŒØ×Ò˜3 Ñ%Ô%Ð%ØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.IfNodec                ó¼   — | j         p|j        |_        |j                             | ¦  «         |                      ¦   «          |j                             | ¦  «         d S rD   )r    r?   Ú	conditionrh   r9   r°   r@   s     r"   Úvisit_IfNodezAstPrinter.visit_IfNodeÊ   sQ   € Ø”nÐ3¨¬ˆŒØŒ×Ò˜dÑ#Ô#Ð#Ø�Š‰ŒˆØŒ
×Ò˜$ÑÔÐÐÐr$   úmparser.TernaryNodec                ó   — | j         p|j        |_        |j                             | ¦  «         |                      d|¦  «         |j                             | ¦  «         |                      d|¦  «         |j                             | ¦  «         d S )Nú?r«   )r    r?   rÂ   rh   r7   Ú	trueblockÚ
falseblockr@   s     r"   Úvisit_TernaryNodezAstPrinter.visit_TernaryNodeÐ   s†   € Ø”nÐ3¨¬ˆŒØŒ×Ò˜dÑ#Ô#Ð#Ø×Ò˜3 Ñ%Ô%Ð%ØŒ×Ò˜dÑ#Ô#Ð#Ø×Ò˜3 Ñ%Ô%Ð%ØŒ×Ò˜tÑ$Ô$Ð$Ð$Ð$r$   úmparser.ArgumentNodec                ó¢  — | j         p|j        |_        t          |j        ¦  «        t          |j        ¦  «        z   | j        k    }|j        t          |j                             ¦   «         ¦  «        z   D ]*}t          |t          j
        t          j        f¦  «        sd}Œ+|r|                      ¦   «          |j        D ]C}|                     | ¦  «         |                      d|¦  «         |r|                      ¦   «          ŒD|j                             ¦   «         D ]q\  }}|                     | ¦  «         |                      d|¦  «         |                     | ¦  «         |                      d|¦  «         |r|                      ¦   «          Œr|r"t#          j        dd| j        ¦  «        | _        d S t#          j        dd| j        ¦  «        | _        d S )NTrª   r«   z, \n$r(   z, $r   )r    r?   ÚlenÚ	argumentsÚkwargsr   ÚlistÚvaluesrF   r   ÚElementaryNodeÚ	IndexNoder9   rh   r4   r¯   r7   r)   r   r   )r!   r.   Ú
break_argsrŒ   ÚkeyrK   s         r"   Úvisit_ArgumentNodezAstPrinter.visit_ArgumentNodeØ   s©  € Ø”nÐ3¨¬ˆŒÝ˜$œ.Ñ)Ô)­C°´Ñ,<Ô,<Ñ<ÀÔ@WÒWˆ
Ø”¥$ t¤{×'9Ò'9Ñ';Ô';Ñ"<Ô"<Ñ<ð 	"ð 	"ˆAÝ˜a¥'Ô"8½'Ô:KÐ!LÑMÔMð "Ø!�
øØð 	Ø�LŠL‰NŒNˆNØ”ð 	ð 	ˆAØ�HŠH�T‰NŒNˆNØ�KŠK˜˜dÑ#Ô#Ð#Øð Ø—’‘”�øØœ×)Ò)Ñ+Ô+ð 	ð 	‰HˆC�Ø�JŠJ�tÑÔÐØ×Ò˜s DÑ)Ô)Ð)Ø�JŠJ�tÑÔÐØ�KŠK˜˜dÑ#Ô#Ð#Øð Ø—’‘”�øØð 	:Ýœ& ¨4°´Ñ=Ô=ˆDŒKˆKˆKåœ& ¨¨T¬[Ñ9Ô9ˆDŒKˆKˆKr$   N)r   r   F)r   r   r   r   r   r   ©r%   r&   )r,   r-   r.   r/   r%   r&   ©r.   r:   r%   r&   ©r.   rB   r%   r&   ©r.   rH   r%   r&   )rK   r-   r%   r-   ©r.   rR   r%   r&   ©r.   rU   r%   r&   )r.   rX   r%   r&   )r.   r]   r%   r&   ©r.   ra   r%   r&   ©r.   rk   r%   r&   ©r.   rp   r%   r&   ©r.   rw   r%   r&   ©r.   r{   r%   r&   ©r.   r   r%   r&   ©r.   r„   r%   r&   ©r.   r‰   r%   r&   ©r.   rŽ   r%   r&   ©r.   r“   r%   r&   ©r.   r›   r%   r&   ©r.   rŸ   r%   r&   ©r.   r¤   r%   r&   ©r.   r§   r%   r&   ©r.   r²   r%   r&   ©r.   r½   r%   r&   ©r.   rÀ   r%   r&   ©r.   rÄ   r%   r&   ©r.   rÊ   r%   r&   )#Ú__name__Ú
__module__Ú__qualname__r#   r+   r4   r7   r9   rA   rG   rJ   rQ   rT   rW   r\   r`   ri   ro   rv   rz   r~   rƒ   rˆ   r�   r’   rš   rž   r£   r¦   r±   r¼   r¿   rÃ   rÉ   rÕ   © r$   r"   r   r       s™  € € € € € ð<ð <ð <ð <ð <ð:ð :ð :ð :ð ð  ð  ð  ð&ð &ð &ð &ð
 ð  ð  ð  ð4ð 4ð 4ð 4ð4ð 4ð 4ð 4ð
4ð 4ð 4ð 4ð<ð <ð <ð <ð4ð 4ð 4ð 4ð
4ð 4ð 4ð 4ð
4ð 4ð 4ð 4ð4ð 4ð 4ð 4ðð ð ð ðð ð ð ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð
ð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð  ð  ð  ð
 ð  ð  ð  ð
(ð (ð (ð (ð
#ð 
#ð 
#ð 
#ð ð  ð  ð  ð
 ð  ð  ð  ð%ð %ð %ð %ð:ð :ð :ð :ð :ð :r$   r   c                  ó  — e Zd ZdDd„ZdEd„ZdFd„ZdGd„ZdHd„ZdHd„ZdId„Z	dJd„Z
dKd„ZdLd„ZdMd„ZdNd„ZdOd„ZdPd „ZdQd"„ZdRd$„ZdSd&„ZdTd(„ZdUd*„ZdVd,„ZdWd.„ZdXd0„ZdYd2„ZdZd4„Zd[d6„Zd\d8„Zd]d:„Zd^d<„Zd_d>„Zd`d@„Z dadB„Z!dCS )bÚAstJSONPrinterr%   r&   c                ó,   — i | _         | j         | _        d S rD   )r   Úcurrentr*   s    r"   r#   zAstJSONPrinter.__init__ò   s   € ØˆŒØ”{ˆŒˆˆr$   rÔ   r-   r.   r/   c                ór   — | j         }i }|| _         |                     | ¦  «         || _         || j         |<   d S rD   ©rö   rh   )r!   rÔ   r.   Úoldr,   s        r"   Ú_acceptzAstJSONPrinter._acceptö   s@   € ØŒlˆØˆØˆŒØ�Š�DÑÔÐØˆŒØ ˆŒ�SÑÐÐr$   ÚnodesúT.Sequence[mparser.BaseNode]c                ó’   — | j         }g }|D ])}i | _         |                     | ¦  «         || j         gz  }Œ*|| _         || j         |<   d S rD   rø   )r!   rÔ   rû   rù   ÚdatalistrŒ   s         r"   Ú_accept_listzAstJSONPrinter._accept_listþ   s\   € ØŒlˆØˆØð 	'ð 	'ˆAØˆDŒLØ�HŠH�T‰NŒNˆNØ˜œ˜Ñ&ˆHˆHØˆŒØ$ˆŒ�SÑÐÐr$   r,   úT.Dict[str, T.Any]c                óZ   — | j         }|| _         |                     | ¦  «         || _         d S rD   rø   )r!   r.   r,   rù   s       r"   Ú_raw_acceptzAstJSONPrinter._raw_accept  s-   € ØŒlˆØˆŒØ�Š�DÑÔÐØˆŒˆˆr$   c                ó¶   — t          |¦  «        j        | j        d<   |j        | j        d<   |j        | j        d<   |j        | j        d<   |j        | j        d<   d S )Nr.   r?   ÚcolnoÚ
end_linenoÚ	end_colno)Útyperï   rö   r?   r  r  r  r@   s     r"   ÚsetbasezAstJSONPrinter.setbase  sU   € Ý# D™zœzÔ2ˆŒ�VÑØ!%¤ˆŒ�XÑØ $¤
ˆŒ�WÑØ%)¤_ˆŒ�\Ñ"Ø$(¤NˆŒ�[Ñ!Ð!Ð!r$   c                ó0   — |                       |¦  «         d S rD   )r  r@   s     r"   Úvisit_default_funcz!AstJSONPrinter.visit_default_func  s   € Ø�Š�TÑÔÐÐÐr$   úmparser.ElementaryNodec                óN   — |j         | j        d<   |                      |¦  «         d S )Nr>   )r>   rö   r  r@   s     r"   Úgen_ElementaryNodez!AstJSONPrinter.gen_ElementaryNode  s(   € Ø $¤
ˆŒ�WÑØ�Š�TÑÔÐÐÐr$   r:   c                ó0   — |                       |¦  «         d S rD   ©r  r@   s     r"   rA   z AstJSONPrinter.visit_BooleanNode  ó   € Ø×Ò Ñ%Ô%Ð%Ð%Ð%r$   rB   c                ó0   — |                       |¦  «         d S rD   r  r@   s     r"   rG   zAstJSONPrinter.visit_IdNode  r  r$   rH   c                ó0   — |                       |¦  «         d S rD   r  r@   s     r"   rJ   zAstJSONPrinter.visit_NumberNode"  r  r$   rR   c                ó0   — |                       |¦  «         d S rD   r  r@   s     r"   rT   zAstJSONPrinter.visit_StringNode%  r  r$   rU   c                ó0   — |                       |¦  «         d S rD   r  r@   s     r"   rW   z%AstJSONPrinter.visit_FormatStringNode(  r  r$   ra   c                óf   — |                       d|j        ¦  «         |                      |¦  «         d S ©Nrg   ©rú   rg   r  r@   s     r"   ri   zAstJSONPrinter.visit_ArrayNode+  ó0   € Ø�Š�V˜TœYÑ'Ô'Ð'Ø�Š�TÑÔÐÐÐr$   rk   c                óf   — |                       d|j        ¦  «         |                      |¦  «         d S r  r  r@   s     r"   ro   zAstJSONPrinter.visit_DictNode/  r  r$   rp   c                óœ   — |                       d|j        ¦  «         |                       d|j        ¦  «         |                      |¦  «         d S ©Nrt   ru   ©rú   rt   ru   r  r@   s     r"   rv   zAstJSONPrinter.visit_OrNode3  óF   € Ø�Š�V˜TœYÑ'Ô'Ð'Ø�Š�W˜dœjÑ)Ô)Ð)Ø�Š�TÑÔÐÐÐr$   rw   c                óœ   — |                       d|j        ¦  «         |                       d|j        ¦  «         |                      |¦  «         d S r  r  r@   s     r"   rz   zAstJSONPrinter.visit_AndNode8  r  r$   r{   c                óº   — |                       d|j        ¦  «         |                       d|j        ¦  «         |j        | j        d<   |                      |¦  «         d S )Nrt   ru   r}   )rú   rt   ru   r}   rö   r  r@   s     r"   r~   z#AstJSONPrinter.visit_ComparisonNode=  sT   € Ø�Š�V˜TœYÑ'Ô'Ð'Ø�Š�W˜dœjÑ)Ô)Ð)Ø $¤
ˆŒ�WÑØ�Š�TÑÔÐÐÐr$   r   c                óÐ   — |                       d|j        ¦  «         |                       d|j        ¦  «         t          |j                 | j        d<   |                      |¦  «         d S )Nrt   ru   Úop)rú   rt   ru   r�   r‚   rö   r  r@   s     r"   rƒ   z#AstJSONPrinter.visit_ArithmeticNodeC  sY   € Ø�Š�V˜TœYÑ'Ô'Ð'Ø�Š�W˜dœjÑ)Ô)Ð)Ý)¨$¬.Ô9ˆŒ�TÑØ�Š�TÑÔÐÐÐr$   r„   c                óf   — |                       d|j        ¦  «         |                      |¦  «         d S ©Nru   ©rú   r>   r  r@   s     r"   rˆ   zAstJSONPrinter.visit_NotNodeI  ó0   € Ø�Š�W˜dœjÑ)Ô)Ð)Ø�Š�TÑÔÐÐÐr$   r‰   c                óf   — |                       d|j        ¦  «         |                      |¦  «         d S )Nr‹   )rÿ   r‹   r  r@   s     r"   r�   z"AstJSONPrinter.visit_CodeBlockNodeM  s2   € Ø×Ò˜' 4¤:Ñ.Ô.Ð.Ø�Š�TÑÔÐÐÐr$   rŽ   c                óœ   — |                       d|j        ¦  «         |                       d|j        ¦  «         |                      |¦  «         d S )NÚobjectr‘   )rú   r�   r‘   r  r@   s     r"   r’   zAstJSONPrinter.visit_IndexNodeQ  sF   € Ø�Š�X˜tœ|Ñ,Ô,Ð,Ø�Š�W˜dœjÑ)Ô)Ð)Ø�Š�TÑÔÐÐÐr$   r“   c                óº   — |                       d|j        ¦  «         |                       d|j        ¦  «         |j        | j        d<   |                      |¦  «         d S )Nr(  rg   r™   )rú   r˜   rg   r™   rö   r  r@   s     r"   rš   zAstJSONPrinter.visit_MethodNodeV  sU   € Ø�Š�X˜tÔ1Ñ2Ô2Ð2Ø�Š�V˜TœYÑ'Ô'Ð'Ø#œyˆŒ�VÑØ�Š�TÑÔÐÐÐr$   r›   c                ó„   — |                       d|j        ¦  «         |j        | j        d<   |                      |¦  «         d S )Nrg   r™   )rú   rg   r�   rö   r  r@   s     r"   rž   z!AstJSONPrinter.visit_FunctionNode\  s>   € Ø�Š�V˜TœYÑ'Ô'Ð'Ø#œ~ˆŒ�VÑØ�Š�TÑÔÐÐÐr$   rŸ   c                ó„   — |                       d|j        ¦  «         |j        | j        d<   |                      |¦  «         d S ©Nr>   r¢   ©rú   r>   r¢   rö   r  r@   s     r"   r£   z#AstJSONPrinter.visit_AssignmentNodea  ó>   € Ø�Š�W˜dœjÑ)Ô)Ð)Ø#'¤=ˆŒ�ZÑ Ø�Š�TÑÔÐÐÐr$   r¤   c                ó„   — |                       d|j        ¦  «         |j        | j        d<   |                      |¦  «         d S r,  r-  r@   s     r"   r¦   z'AstJSONPrinter.visit_PlusAssignmentNodef  r.  r$   r§   c                óº   — |                       d|j        ¦  «         |                       d|j        ¦  «         |j        | j        d<   |                      |¦  «         d S )Nr¯   r°   r®   )rú   r¯   r°   r®   rö   r  r@   s     r"   r±   z&AstJSONPrinter.visit_ForeachClauseNodek  sT   € Ø�Š�W˜dœjÑ)Ô)Ð)Ø�Š�W˜dœjÑ)Ô)Ð)Ø#'¤=ˆŒ�ZÑ Ø�Š�TÑÔÐÐÐr$   r²   c                óœ   — |                       d|j        ¦  «         |                      d|j        ¦  «         |                      |¦  «         d S )Nr¸   r¶   )rÿ   r¸   rú   r¹   r  r@   s     r"   r¼   z!AstJSONPrinter.visit_IfClauseNodeq  sH   € Ø×Ò˜% ¤Ñ*Ô*Ð*Ø�Š�V˜Tœ^Ñ,Ô,Ð,Ø�Š�TÑÔÐÐÐr$   r½   c                óf   — |                       d|j        ¦  «         |                      |¦  «         d S r#  r$  r@   s     r"   r¿   zAstJSONPrinter.visit_UMinusNodev  r%  r$   rÀ   c                óœ   — |                       d|j        ¦  «         |                       d|j        ¦  «         |                      |¦  «         d S )NrÂ   r°   )rú   rÂ   r°   r  r@   s     r"   rÃ   zAstJSONPrinter.visit_IfNodez  sF   € Ø�Š�[ $¤.Ñ1Ô1Ð1Ø�Š�W˜dœjÑ)Ô)Ð)Ø�Š�TÑÔÐÐÐr$   rÄ   c                óÒ   — |                       d|j        ¦  «         |                       d|j        ¦  «         |                       d|j        ¦  «         |                      |¦  «         d S )NrÂ   r<   r=   )rú   rÂ   rÇ   rÈ   r  r@   s     r"   rÉ   z AstJSONPrinter.visit_TernaryNode  s\   € Ø�Š�[ $¤.Ñ1Ô1Ð1Ø�Š�V˜Tœ^Ñ,Ô,Ð,Ø�Š�W˜dœoÑ.Ô.Ð.Ø�Š�TÑÔÐÐÐr$   rÊ   c                ó.  — |                       d|j        ¦  «         g }|j                             ¦   «         D ]>\  }}i }i }|                      ||¦  «         |                      ||¦  «         |||dœgz  }Œ?|| j        d<   |                      |¦  «         d S )NÚ
positional)rÔ   rK   rÎ   )rÿ   rÍ   rÎ   r¯   r  rö   r  )r!   r.   Úkwargs_listrÔ   rK   Úkey_resÚval_ress          r"   rÕ   z!AstJSONPrinter.visit_ArgumentNode…  s±   € Ø×Ò˜,¨¬Ñ7Ô7Ð7ØˆØœ×)Ò)Ñ+Ô+ð 	>ð 	>‰HˆC�ØˆGØˆGØ×Ò˜S 'Ñ*Ô*Ð*Ø×Ò˜S 'Ñ*Ô*Ð*Ø G°GÐ<Ð<Ð=Ñ=ˆKˆKØ!,ˆŒ�XÑØ�Š�TÑÔÐÐÐr$   NrÖ   )rÔ   r-   r.   r/   r%   r&   )rÔ   r-   rû   rü   r%   r&   )r.   r/   r,   r   r%   r&   )r.   r/   r%   r&   )r.   r  r%   r&   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   rã   rä   rå   ræ   rç   rè   ré   rê   rë   rì   rí   rî   )"rï   rð   rñ   r#   rú   rÿ   r  r  r
  r  rA   rG   rJ   rT   rW   ri   ro   rv   rz   r~   rƒ   rˆ   r�   r’   rš   rž   r£   r¦   r±   r¼   r¿   rÃ   rÉ   rÕ   rò   r$   r"   rô   rô   ñ   s€  € € € € € ð#ð #ð #ð #ð!ð !ð !ð !ð%ð %ð %ð %ðð ð ð ð3ð 3ð 3ð 3ðð ð ð ðð ð ð ð&ð &ð &ð &ð&ð &ð &ð &ð&ð &ð &ð &ð&ð &ð &ð &ð&ð &ð &ð &ðð ð ð ðð ð ð ðð ð ð ð
ð ð ð ð
ð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð
ð ð ð ðð ð ð ð
ð ð ð ð
ð ð ð ð
ð ð ð ðð ð ð ð
ð ð ð ðð ð ð ð
ð ð ð ð
ð 
ð 
ð 
ð 
ð 
r$   rô   )Ú
__future__r   r   r   r   r)   ÚtypingÚTr�   r   rô   rò   r$   r"   ú<module>r=     sà   ðð" #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð ð ØØØØðð €ðO:ð O:ð O:ð O:ð O:�ñ O:ô O:ð O:ðb^ð ^ð ^ð ^ð ^�Zñ ^ô ^ð ^ð ^ð ^r$   