+
    UBiD                        ^ RI Ht ^RIHt ^RIHtHt ^RIHt ^ RI	t	^ RI
tR R lt ! R R	]4      t ! R
 R]4      t ! R R]4      tR# )    )annotations)mparser)
AstVisitorFullAstVisitor)MesonBugExceptionNc                    V ^8  d   QhRRRR/# )   nodemparser.BaseNodereturnint )formats   ";/usr/lib/python3.14/site-packages/mesonbuild/ast/printer.py__annotate__r      s     3 3+ 3 3    c                *   \        V \        P                  \        P                  \        P                  34      '       d   ^# \        V \        P
                  4      '       d   ^# \        V \        P                  4      '       d   ^# \        V \        P                  4      '       d   ^# \        V \        P                  4      '       d)   V P                  R9   d   ^# V P                  R9   d   ^# EM\        V \        P                  \        P                  34      '       d   ^# \        V \        P                  4      '       d   ^# \        V \        P                  \        P                  34      '       d   ^	# \        V \        P                  \        P                   \        P"                  \        P$                  \        P&                  34      '       d   ^
# \        V \        P(                  4      '       d   \+        V P,                  4      # \/        R4      h)   zUnhandled node type>   addsub>   divmodmul)
isinstancer   PlusAssignmentNodeAssignmentNodeTernaryNodeOrNodeAndNodeComparisonNodeArithmeticNode	operationNotNode
UMinusNodeFunctionNode	ArrayNodeDictNodeBooleanNodeIdNode
NumberNode
StringNode	EmptyNodeParenthesizedNodeprecedence_levelinnerr   )r
   s   &r   r.   r.      s_   $33W5K5KWM`M`abb	D'..	)	)	D'//	*	*	D'00	1	1	D'00	1	1>>^+^^44 5	D7??G,>,>?	@	@	D'..	/	/	D7,,g.>.>?	@	@	D7..@R@RT[TfTfhohyhyz	{	{	D'33	4	4  

++
1
22r   c                     ] tR t^/t$ ]P                  RRRR/4      tR]R&   RHR R lltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 lt R8 R9 lt!R: R; lt"R< R= lt#R> R? lt$R@ RA lt%RB RC lt&RD RE lt'RFt(RG# )I
AstPrinter\z\\'zT.Dict[int, str]escape_transc               $    V ^8  d   QhRRRRRR/# )r	   indentr   arg_newline_cutoffupdate_ast_line_nosboolr   )r   s   "r   r   AstPrinter.__annotate__2   s"     < <s <C <Z^ <r   c                	    R V n         Wn        W n        R V n        RV n        ^ V n        V'       d
   ^V n        R# RV n        R# ) TN)resultr6   r7   ci
is_newline
last_level	curr_line)selfr6   r7   r8   s   &&&&r   __init__AstPrinter.__init__2   s8    "41tr   c                   V ^8  d   QhRR/# r	   r   Noner   )r   s   "r   r   r:   ;   s     : :d :r   c                	T    \         P                  ! R RV P                  4      V n        R# )z\s+\n
N)rer   r=   rB   s   &r   post_processAstPrinter.post_process;   s    ffXtT[[9r   c               $    V ^8  d   QhRRRRRR/# r	   datastrr
   r   r   rG   r   )r   s   "r   r   r:   >   s"        3  &6  4  r   c                	   VP                   V n        V P                  '       d<   V ;P                  R VP                   V P                  ,          ,          ,          un        V ;P                  V,          un        RV n        R# ) FN)levelr@   r?   r=   r6   rB   rP   r
   s   &&&r   appendAstPrinter.append>   sK    **???KK3$**t{{":;;Ktr   c               $    V ^8  d   QhRRRRRR/# rO   r   )r   s   "r   r   r:   E   s"     & &# &-= &$ &r   c                	    V P                   '       d"   V P                   R,          R9  d
   RV,           pV P                  VR,           V4       R# )r   rS   N)rS   rI   )r=   rV   rU   s   &&&r   append_paddedAstPrinter.append_paddedE   s5    ;;;4;;r?+=:DD3J%r   c                   V ^8  d   QhRR/# rF   r   )r   s   "r   r   r:   J   s          r   c                	    V ;P                   R ,          un         RV n        V P                  e   V ;P                  ^,          un        R# R# )rI   TN)r=   r?   rA   rK   s   &r   newlineAstPrinter.newlineJ   s4    t>>%NNaN &r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.BooleanNoder   rG   r   )r   s   "r   r   r:   P   s     4 4&9 4d 4r   c                	    T P                  VP                  '       d   R MRV4       V P                  ;'       g    VP                  Vn        R# truefalseN)rV   valuerA   linenorB   r
   s   &&r   visit_BooleanNodeAstPrinter.visit_BooleanNodeP   s1    djjjFgt<nn33r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.IdNoder   rG   r   )r   s   "r   r   r:   T   s     4 4 4D 4r   c                	    \        VP                  \        4      '       g   Q hV P                  VP                  V4       V P                  ;'       g    VP
                  Vn        R # N)r   rg   rQ   rV   rA   rh   ri   s   &&r   visit_IdNodeAstPrinter.visit_IdNodeT   sB    $**c****DJJ%nn33r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.NumberNoder   rG   r   )r   s   "r   r   r:   Y   s     4 4%7 4D 4r   c                	    V P                  \        VP                  4      V4       V P                  ;'       g    VP                  Vn        R # ro   )rV   rQ   rg   rA   rh   ri   s   &&r   visit_NumberNodeAstPrinter.visit_NumberNodeY   s/    C

OT*nn33r   c                    V ^8  d   QhRRRR/# )r	   valrQ   r   r   )r   s   "r   r   r:   ]   s     0 0# 0# 0r   c                	8    VP                  V P                  4      # ro   )	translater4   )rB   rx   s   &&r   escapeAstPrinter.escape]   s    }}T..//r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.StringNoder   rG   r   )r   s   "r   r   r:   `   s     	4 	4%7 	4D 	4r   c                	   \        VP                  \        4      '       g   Q hVP                  '       d   V P	                  R V4       VP
                  '       d,   V P	                  RVP                  ,           R,           V4       M9V P	                  RV P                  VP                  4      ,           R,           V4       V P                  ;'       g    VP                  Vn        R# fz'''r3   N)	r   rg   rQ   
is_fstringrV   is_multiliner{   rA   rh   ri   s   &&r   visit_StringNodeAstPrinter.visit_StringNode`   s    $**c****???KKT"KK

*U2D9KKdkk$**55;TBnn33r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.ContinueNoder   rG   r   )r   s   "r   r   r:   k   s     4 4'; 4 4r   c                	t    V P                  R V4       V P                  ;'       g    VP                  Vn        R# continueNrV   rA   rh   ri   s   &&r   visit_ContinueNodeAstPrinter.visit_ContinueNodek   s'    J%nn33r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.BreakNoder   rG   r   )r   s   "r   r   r:   o   s     4 4$5 4$ 4r   c                	t    V P                  R V4       V P                  ;'       g    VP                  Vn        R# breakNr   ri   s   &&r   visit_BreakNodeAstPrinter.visit_BreakNodeo   s'    GT"nn33r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.ArrayNoder   rG   r   )r   s   "r   r   r:   s   s      $5 $ r   c                	    V P                   ;'       g    VP                  Vn        V P                  R V4       VP                  P	                  V 4       V P                  RV4       R# []NrA   rh   rV   argsacceptri   s   &&r   visit_ArrayNodeAstPrinter.visit_ArrayNodes   G    nn33C		Cr   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.DictNoder   rG   r   )r   s   "r   r   r:   y   s      #3  r   c                	    V P                   ;'       g    VP                  Vn        V P                  R V4       VP                  P	                  V 4       V P                  RV4       R# ){}Nr   ri   s   &&r   visit_DictNodeAstPrinter.visit_DictNodey   r   r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.OrNoder   rG   r   )r   s   "r   r   r:                D  r   c                	    VP                   P                  V 4       V P                  R V4       V P                  ;'       g    VP                  Vn        VP
                  P                  V 4       R# )orNleftr   r[   rA   rh   rightri   s   &&r   visit_OrNodeAstPrinter.visit_OrNode   sM    		4&nn33

$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.AndNoder   rG   r   )r   s   "r   r   r:      s        /  d  r   c                	    VP                   P                  V 4       V P                  R V4       V P                  ;'       g    VP                  Vn        VP
                  P                  V 4       R# )andNr   ri   s   &&r   visit_AndNodeAstPrinter.visit_AndNode   sM    		5$'nn33

$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.ComparisonNoder   rG   r   )r   s   "r   r   r:      s        )?  D  r   c                	   VP                   P                  V 4       T P                  VP                  R 8w  d   VP                  MRV4       V P                  ;'       g    VP
                  Vn        VP                  P                  V 4       R# )notinznot inN)r   r   r[   ctyperA   rh   r   ri   s   &&r   visit_ComparisonNodeAstPrinter.visit_ComparisonNode   s^    		w)>4::HdSnn33

$r   c               (    V ^8  d   QhRRRRRRRR/# )r	   outerr   r/   parensr9   r   rG   r   )r   s   "r   r   r:      s,     $ $'7 $@P $Z^ $cg $r   c                	    V'       d   V P                  R V4       VP                  V 4       V'       d   V P                  RV4       R# R# ()N)rV   r   )rB   r   r/   r   s   &&&&r   maybe_parenthesesAstPrinter.maybe_parentheses   s5    KKU#TKKU# r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.ArithmeticNoder   rG   r   )r   s   "r   r   r:      s     H H)? HD Hr   c                	   \        V4      p\        VP                  4      p\        VP                  4      pV P                  WP                  W#8  4       V P	                  VP
                  P                  V4       V P                  ;'       g    VP                  Vn        T P                  YP                  W$8  ;'       g    W$8H  ;'       d    VP                  R9   4       R# )r   N>   r   r   r   )
r.   r   r   r   r[   operatorrg   rA   rh   r"   )rB   r
   prec	prec_left
prec_rights   &&   r   visit_ArithmeticNodeAstPrinter.visit_ArithmeticNode   s    %$TYY/	%djj1
tYY0@A4==..5nn33tZZ1B  2G  2GtGY  HF  HF^b^l^l  qF  _F  	Hr   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.NotNoder   rG   r   )r   s   "r   r   r:      s        /  d  r   c                	    V P                   ;'       g    VP                  Vn        V P                  R V4       VP                  P	                  V 4       R# )notNrA   rh   r[   rg   r   ri   s   &&r   visit_NotNodeAstPrinter.visit_NotNode   s;    nn335$'

$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.CodeBlockNoder   rG   r   )r   s   "r   r   r:      s      (= $ r   c                	    V P                   ;'       g    VP                  Vn        VP                   F$  pVP                  V 4       V P	                  4        K&  	  R # ro   )rA   rh   linesr   r_   )rB   r
   is   && r   visit_CodeBlockNodeAstPrinter.visit_CodeBlockNode   s;    nn33AHHTNLLN r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.IndexNoder   rG   r   )r   s   "r   r   r:      s      $5 $ r   c                	   VP                   P                  V 4       V P                  ;'       g    VP                  Vn        V P	                  R V4       VP
                  P                  V 4       V P	                  RV4       R# r   )iobjectr   rA   rh   rV   indexri   s   &&r   visit_IndexNodeAstPrinter.visit_IndexNode   sY    D!nn33C

$Cr   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.MethodNoder   rG   r   )r   s   "r   r   r:      s      %7 D r   c                	H   V P                   ;'       g    VP                  Vn        VP                  P                  V 4       V P	                  R VP
                  P                  ,           R,           V4       VP                  P                  V 4       V P	                  RV4       R# ).r   r   N)rA   rh   source_objectr   rV   namerg   r   ri   s   &&r   visit_MethodNodeAstPrinter.visit_MethodNode   sm    nn33!!$'C$))//)C/6		Cr   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.FunctionNoder   rG   r   )r   s   "r   r   r:      s      ';  r   c                	   V P                   ;'       g    VP                  Vn        V P                  VP                  P                  R ,           V4       VP
                  P                  V 4       V P                  RV4       R# r   )rA   rh   rV   	func_namerg   r   r   ri   s   &&r   visit_FunctionNodeAstPrinter.visit_FunctionNode   sV    nn33DNN((3.5		Cr   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.AssignmentNoder   rG   r   )r   s   "r   r   r:      s        )?  D  r   c                	    V P                   ;'       g    VP                  Vn        V P                  VP                  P                  R ,           V4       VP                  P                  V 4       R# )z = NrA   rh   rV   var_namerg   r   ri   s   &&r   visit_AssignmentNodeAstPrinter.visit_AssignmentNode   sH    nn33DMM''%/6

$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.PlusAssignmentNoder   rG   r   )r   s   "r   r   r:      s        -G  D  r   c                	    V P                   ;'       g    VP                  Vn        V P                  VP                  P                  R ,           V4       VP                  P                  V 4       R# )z += Nr   ri   s   &&r   visit_PlusAssignmentNode#AstPrinter.visit_PlusAssignmentNode   sH    nn33DMM''&0$7

$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.ForeachClauseNoder   rG   r   )r   s   "r   r   r:      s     ( (,E ($ (r   c                	   V P                   ;'       g    VP                  Vn        V P                  R V4       V P                  RP                  R VP                   4       4      V4       V P                  RV4       VP
                  P                  V 4       V P                  4        VP                  P                  V 4       V P                  RV4       R# )foreach, c              3  8   "   T F  qP                   x  K  	  R # 5iro   )rg   ).0varnames   & r   	<genexpr>5AstPrinter.visit_ForeachClauseNode.<locals>.<genexpr>   s     $P-w]]-s   :
endforeachN)
rA   rh   r[   joinvarnamesitemsr   r_   blockrV   ri   s   &&r   visit_ForeachClauseNode"AstPrinter.visit_ForeachClauseNode   s    nn339d+499$P$--$PPRVW3%

$

$L$'r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.IfClauseNoder   rG   r   )r   s   "r   r   r:      s     # #'; # #r   c                	   V P                   ;'       g    VP                  Vn        R pVP                   F/  pV P                  VR,           V4       RpVP	                  V 4       K1  	  \        VP                  \        P                  4      '       g>   V P                  RV4       V P                  4        VP                  P	                  V 4       V P                  RV4       R# )r<   ifelelseendifN)rA   rh   ifsr[   r   r   	elseblockr   r,   rV   r_   )rB   r
   prefixr   s   &&  r   visit_IfClauseNodeAstPrinter.visit_IfClauseNode   s    nn33Av}d3FHHTN  $..'*;*;<<KK%LLNNN!!$'GT"r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.UMinusNoder   rG   r   )r   s   "r   r   r:      s        %7  D  r   c                	    V P                   ;'       g    VP                  Vn        V P                  R V4       VP                  P	                  V 4       R# )-Nr   ri   s   &&r   visit_UMinusNodeAstPrinter.visit_UMinusNode   s;    nn333%

$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.IfNoder   rG   r   )r   s   "r   r   r:      r   r   c                	    V P                   ;'       g    VP                  Vn        VP                  P                  V 4       V P	                  4        VP
                  P                  V 4       R # ro   )rA   rh   	conditionr   r_   r  ri   s   &&r   visit_IfNodeAstPrinter.visit_IfNode   sF    nn33d#

$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.TernaryNoder   rG   r   )r   s   "r   r   r:      s     % %&9 %d %r   c                	:   V P                   ;'       g    VP                  Vn        VP                  P                  V 4       V P	                  R V4       VP
                  P                  V 4       V P	                  RV4       VP                  P                  V 4       R# )?r
  N)rA   rh   r'  r   r[   	trueblock
falseblockri   s   &&r   visit_TernaryNodeAstPrinter.visit_TernaryNode   so    nn33d#3%d#3%t$r   c                    V ^8  d   QhRRRR/# r	   r
   zmparser.ArgumentNoder   rG   r   )r   s   "r   r   r:      s     : :'; : :r   c                	,   V P                   ;'       g    VP                  Vn        \        VP                  4      \        VP                  4      ,           V P
                  8  pVP                  \        VP                  P                  4       4      ,            F7  p\        V\        P                  \        P                  34      '       d   K5  R pK9  	  V'       d   V P                  4        VP                   F@  pVP                  V 4       V P                  RV4       V'       g   K0  V P                  4        KB  	  VP                  P                  4        Fe  w  rEVP                  V 4       V P!                  RV4       VP                  V 4       V P                  RV4       V'       g   KU  V P                  4        Kg  	  V'       d*   \"        P$                  ! RRV P&                  4      V n        R# \"        P$                  ! RRV P&                  4      V n        R# )Tr  r
  z, \n$rI   z, $r<   N)rA   rh   len	argumentskwargsr7   listvaluesr   r   ElementaryNode	IndexNoder_   r   rV   r  r[   rJ   r   r=   )rB   r
   
break_argsr   keyrx   s   &&    r   visit_ArgumentNodeAstPrinter.visit_ArgumentNode   sb   nn33$..)C,<<@W@WW
$t{{'9'9';"<<<Aa'"8"8':K:K!LMM!
 = LLNAHHTNKKd#z	  
 ))+HCJJtsD)JJtKKd#z , &&4=DK&&T[[9DKr   )r7   r>   rA   r6   r?   r@   r=   N)r	      F))__name__
__module____qualname____firstlineno__rQ   	maketransr4   __annotations__rC   rL   rV   r[   r_   rj   rp   ru   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r"  r(  r0  r>  __static_attributes__r   r   r   r1   r1   /   s    %(]]D&#t3L%ML"M<: &
 44
40	444   $H 
 
 
(# 
 %: :r   r1   c                  v    ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltRtR# )
RawPrinteri  c                   V ^8  d   QhRR/# rF   r   )r   s   "r   r   RawPrinter.__annotate__  s      $ r   c                	    R V n         R# )r<   Nr=   rK   s   &r   rC   RawPrinter.__init__  s	    r   c                    V ^8  d   QhRRRR/# r	   r
   r   r   rG   r   )r   s   "r   r   rK    s      '7 D r   c                	    V P                  V4       \        VR 4      '       g   Q hV ;P                  VP                  ,          un        V P	                  V4       R# rg   N)
enter_nodehasattrr=   rg   	exit_noderi   s   &&r   visit_default_funcRawPrinter.visit_default_func  s?    tW%%%%tzz!tr   c                    V ^8  d   QhRRRR/# )r	   r
   zmparser.EmptyNoder   rG   r   )r   s   "r   r   rK    s      $5 $ r   c                	J    V P                  V4       V P                  V4       R # ro   )rS  rU  ri   s   &&r   visit_EmptyNodeRawPrinter.visit_EmptyNode  s    tr   c                    V ^8  d   QhRRRR/# rb   r   )r   s   "r   r   rK    s      &9 d r   c                	    V P                  V4       T ;P                  VP                  '       d   R MR,          un        V P                  V4       R# rd   )rS  r=   rg   rU  ri   s   &&r   rj   RawPrinter.visit_BooleanNode  s2    v8tr   c                    V ^8  d   QhRRRR/# rs   r   )r   s   "r   r   rK  !  s      %7 D r   c                	    V P                  V4       V ;P                  VP                  ,          un        V P                  V4       R # ro   )rS  r=   	raw_valuerU  ri   s   &&r   ru   RawPrinter.visit_NumberNode!  s,    t~~%tr   c                    V ^8  d   QhRRRR/# r~   r   )r   s   "r   r   rK  &  s      %7 D r   c                	b   V P                  V4       VP                  '       d   V ;P                  R ,          un        VP                  '       d)   V ;P                  RVP                   R2,          un        M'V ;P                  RVP
                   R2,          un        V P                  V4       R# r   )rS  r   r=   r   rg   ra  rU  ri   s   &&r   r   RawPrinter.visit_StringNode&  st    ???KK3KKKSC00KKKQt~~.a00Ktr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rK  0  s      ';  r   c                	|    V P                  V4       V ;P                  R ,          un        V P                  V4       R# r   rS  r=   rU  ri   s   &&r   r   RawPrinter.visit_ContinueNode0  s(    z!tr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rK  5  s      $5 $ r   c                	|    V P                  V4       V ;P                  R ,          un        V P                  V4       R# r   rh  ri   s   &&r   r   RawPrinter.visit_BreakNode5  s(    wtr   rM  N)rA  rB  rC  rD  rC   rV  rZ  rj   ru   r   r   r   rG  r   r   r   rI  rI    s/    


 r   rI  c                  ~   ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 ltR8 R9 ltR: R; lt R< R= lt!R>t"R?# )@AstJSONPrinteri;  c                   V ^8  d   QhRR/# rF   r   )r   s   "r   r   AstJSONPrinter.__annotate__<  s     # #$ #r   c                	6    / V n         V P                   V n        R # ro   )r=   currentrK   s   &r   rC   AstJSONPrinter.__init__<  s    *,{{r   c               $    V ^8  d   QhRRRRRR/# )r	   r=  rQ   r
   r   r   rG   r   )r   s   "r   r   rp  @  s"     ! !3 !&6 !4 !r   c                	x    V P                   p/ pW@n         VP                  V 4       W0n         W@P                   V&   R # ro   rr  r   )rB   r=  r
   oldrP   s   &&&  r   _acceptAstJSONPrinter._accept@  s2    ll#%D Sr   c               $    V ^8  d   QhRRRRRR/# )r	   r=  rQ   nodeszT.Sequence[mparser.BaseNode]r   rG   r   )r   s   "r   r   rp  H  s"     % % %,H %T %r   c                	    V P                   p. pV F.  p/ V n         VP                  V 4       W@P                   .,          pK0  	  W0n         W@P                   V&   R # ro   rv  )rB   r=  r{  rw  datalistr   s   &&&   r   _accept_listAstJSONPrinter._accept_listH  sM    ll/1ADLHHTN&H  $Sr   c               $    V ^8  d   QhRRRRRR/# )r	   r
   r   rP   zT.Dict[str, T.Any]r   rG   r   )r   s   "r   r   rp  R  s#       0 8J t r   c                	X    V P                   pW n         VP                  V 4       W0n         R # ro   rv  )rB   r
   rP   rw  s   &&& r   _raw_acceptAstJSONPrinter._raw_acceptR  s!    llDr   c                    V ^8  d   QhRRRR/# rP  r   )r   s   "r   r   rp  X  s     3 3, 3 3r   c                	   \        V4      P                  V P                  R &   VP                  V P                  R&   VP                  V P                  R&   VP
                  V P                  R&   VP                  V P                  R&   R# )r
   rh   colno
end_lineno	end_colnoN)typerA  rr  rh   r  r  r  ri   s   &&r   setbaseAstJSONPrinter.setbaseX  sb    #Dz22V!%X $

W%)__\"$(NN[!r   c                    V ^8  d   QhRRRR/# rP  r   )r   s   "r   r   rp  _  s      '7 D r   c                	(    V P                  V4       R # ro   )r  ri   s   &&r   rV  !AstJSONPrinter.visit_default_func_  s    Tr   c                    V ^8  d   QhRRRR/# )r	   r
   zmparser.ElementaryNoder   rG   r   )r   s   "r   r   rp  b  s      '= $ r   c                	Z    VP                   V P                  R &   V P                  V4       R# rR  )rg   rr  r  ri   s   &&r   gen_ElementaryNode!AstJSONPrinter.gen_ElementaryNodeb  s      $

WTr   c                    V ^8  d   QhRRRR/# rb   r   )r   s   "r   r   rp  f  s     & &&9 &d &r   c                	(    V P                  V4       R # ro   r  ri   s   &&r   rj    AstJSONPrinter.visit_BooleanNodef      %r   c                    V ^8  d   QhRRRR/# rm   r   )r   s   "r   r   rp  i  s     & & &D &r   c                	(    V P                  V4       R # ro   r  ri   s   &&r   rp   AstJSONPrinter.visit_IdNodei  r  r   c                    V ^8  d   QhRRRR/# rs   r   )r   s   "r   r   rp  l       & &%7 &D &r   c                	(    V P                  V4       R # ro   r  ri   s   &&r   ru   AstJSONPrinter.visit_NumberNodel  r  r   c                    V ^8  d   QhRRRR/# r~   r   )r   s   "r   r   rp  o  r  r   c                	(    V P                  V4       R # ro   r  ri   s   &&r   r   AstJSONPrinter.visit_StringNodeo  r  r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp  r  s      $5 $ r   c                	`    V P                  R VP                  4       V P                  V4       R# r   Nrx  r   r  ri   s   &&r   r   AstJSONPrinter.visit_ArrayNoder       VTYY'Tr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp  v  s      #3  r   c                	`    V P                  R VP                  4       V P                  V4       R# r  r  ri   s   &&r   r   AstJSONPrinter.visit_DictNodev  r  r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp  z         D r   c                	    V P                  R VP                  4       V P                  RVP                  4       V P                  V4       R# r   r   Nrx  r   r   r  ri   s   &&r   r   AstJSONPrinter.visit_OrNodez  2    VTYY'Wdjj)Tr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    s      / d r   c                	    V P                  R VP                  4       V P                  RVP                  4       V P                  V4       R# r  r  ri   s   &&r   r   AstJSONPrinter.visit_AndNode  r  r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp          )? D r   c                	    V P                  R VP                  4       V P                  RVP                  4       VP                  V P                  R&   V P                  V4       R# )r   r   r   N)rx  r   r   r   rr  r  ri   s   &&r   r   #AstJSONPrinter.visit_ComparisonNode  sD    VTYY'Wdjj) $

WTr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    r  r   c                	    V P                  R VP                  4       V P                  RVP                  4       VP                  P                  V P
                  R&   V P                  V4       R# )r   r   opN)rx  r   r   r   rg   rr  r  ri   s   &&r   r   #AstJSONPrinter.visit_ArithmeticNode  sJ    VTYY'Wdjj)!]]00TTr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    s      / d r   c                	`    V P                  R VP                  4       V P                  V4       R# r   Nrx  rg   r  ri   s   &&r   r   AstJSONPrinter.visit_NotNode       Wdjj)Tr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    s      (= $ r   c                	`    V P                  R VP                  4       V P                  V4       R# )r   N)r~  r   r  ri   s   &&r   r   "AstJSONPrinter.visit_CodeBlockNode  s"    '4::.Tr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    s      $5 $ r   c                	    V P                  R VP                  4       V P                  RVP                  4       V P                  V4       R# )objectr   N)rx  r   r   r  ri   s   &&r   r   AstJSONPrinter.visit_IndexNode  s2    Xt||,Wdjj)Tr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    s      %7 D r   c                	    V P                  R VP                  4       V P                  RVP                  4       VP                  P                  V P
                  R&   V P                  V4       R# )r  r   r   N)rx  r   r   r   rg   rr  r  ri   s   &&r   r   AstJSONPrinter.visit_MethodNode  sJ    Xt112VTYY'#yyVTr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp          ';  r   c                	    V P                  R VP                  4       VP                  P                  V P                  R&   V P                  V4       R# )r   r   N)rx  r   r   rg   rr  r  ri   s   &&r   r   !AstJSONPrinter.visit_FunctionNode  s8    VTYY'#~~33VTr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    s      )? D r   c                	    V P                  R VP                  4       VP                  P                  V P                  R&   V P	                  V4       R# rg   r   Nrx  rg   r   rr  r  ri   s   &&r   r   #AstJSONPrinter.visit_AssignmentNode  8    Wdjj)#'==#6#6Z Tr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   rp    s      -G D r   c                	    V P                  R VP                  4       VP                  P                  V P                  R&   V P	                  V4       R# r  r  ri   s   &&r   r   'AstJSONPrinter.visit_PlusAssignmentNode  r  r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   rp    s      ,E $ r   c                	   V P                  R VP                  4       V P                  RVP                  4       VP                   Uu. uF  q"P                  NK  	  upV P
                  R&   V P                  V4       R# u upi )r  r  r  N)rx  r  r  r  rg   rr  r  )rB   r
   r  s   && r   r  &AstJSONPrinter.visit_ForeachClauseNode  s[    Wdjj)Wdjj)AE#OgMM#OZ T $Ps   A>c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   rp    r  r   c                	    V P                  R VP                  4       V P                  RVP                  4       V P	                  V4       R# )r  r  N)r~  r  rx  r  r  ri   s   &&r   r  !AstJSONPrinter.visit_IfClauseNode  s4    %*VT^^,Tr   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   rp    s      %7 D r   c                	`    V P                  R VP                  4       V P                  V4       R# r  r  ri   s   &&r   r"  AstJSONPrinter.visit_UMinusNode  r  r   c                    V ^8  d   QhRRRR/# r%  r   )r   s   "r   r   rp    r  r   c                	    V P                  R VP                  4       V P                  RVP                  4       V P                  V4       R# )r'  r  N)rx  r'  r  r  ri   s   &&r   r(  AstJSONPrinter.visit_IfNode  s2    [$..1Wdjj)Tr   c                    V ^8  d   QhRRRR/# r+  r   )r   s   "r   r   rp    s      &9 d r   c                	    V P                  R VP                  4       V P                  RVP                  4       V P                  RVP                  4       V P	                  V4       R# )r'  re   rf   N)rx  r'  r.  r/  r  ri   s   &&r   r0   AstJSONPrinter.visit_TernaryNode  sD    [$..1VT^^,Wdoo.Tr   c                    V ^8  d   QhRRRR/# r3  r   )r   s   "r   r   rp    s     
 
'; 
 
r   c                	.   V P                  R VP                  4       . pVP                  P                  4        F9  w  r4/ p/ pV P	                  W54       V P	                  WF4       VRVRV/.,          pK;  	  W P
                  R&   V P                  V4       R# )
positionalr=  rx   r7  N)r~  r6  r7  r  r  rr  r  )rB   r
   kwargs_listr=  rx   key_resval_ress   &&     r   r>  !AstJSONPrinter.visit_ArgumentNode  s    ,7?A))+HC*,G*,GS*S*UGUG<==K , "-XTr   )rr  r=   N)#rA  rB  rC  rD  rC   rx  r~  r  r  rV  r  rj   rp   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r"  r(  r0  r>  rG  r   r   r   rn  rn  ;  s    #!%3&&&&








 
r   rn  )
__future__r   r<   r   visitorr   r   mesonlibr   rJ   typingTr.   r1   rI  rn  r   r   r   <module>r     sH    #  / ( 	 
3:\: \:|+ +\[Z [r   