
    ?dq                     x    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ  G d de j                        Z	d Z
d	 Zd
 Zy)    N)pyparser_utils)split_penalty)style)subtypesc                       e Zd ZdZ fdZd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCdB ZDdC ZEdD ZFdE ZGdF ZHdG ZIdH ZJdI ZKdJ ZLdK ZMdL ZNdM ZOdN ZPdO ZQdP ZRdQ ZSdR ZTdS ZUdT ZVdU ZWdV ZXdW ZYdX ZZdY Z[dZ Z\d[ Z]d\ Z^d] Z_d^ Z`d_ Zad` Zbda Zcdb Zddc Zedd Zfde Zgdf Zhdg Zidh Zjdi Zk xZlS )jSplitPenaltyz'Compute split penalties between tokens.c                     t         t        |           || _        |D ]B  }|j                  D ]1  }|j
                  t        ddh      v st        j                  |_        3 D y )N,:)	superr   __init__logical_linestokensvalue	frozensetr   UNBREAKABLE)selfr   logical_linetoken	__class__s       E/usr/lib/python3/dist-packages/yapf/pyparser/split_penalty_visitor.pyr   zSplitPenalty.__init__   sa    	,&(&D & :&& :%;;)S#J// - 9 9%
::    c                 B    t        j                  | j                  |      S N)pyutilsGetLogicalLiner   r   nodes     r   
_GetTokenszSplitPenalty._GetTokens$   s    !!$"4"4d;;r   c                    | j                  |      }|j                  D ]+  }| j                  |      }t        j                  |d   _        - |dd  D ]-  }|j                  dk(  r nt        |t        j                         / |j                  rt        j                  |t        j                  |j                              }t        ||dz
  |dz    t        j                         t        j                  |t        j                  |j                              }t        ||dz   | t        j                         | j                  |      S )Nr      ()r   decorator_listr   r   r   _SetPenaltyreturnsr   GetTokenIndex
TokenStart_IncreasePenaltyVERY_STRONGLY_CONNECTEDTokenEndSTRONGLY_CONNECTEDgeneric_visit)r   r   r   	decoratordecorator_ranger   start_index	end_indexs           r   visit_FunctionDefzSplitPenalty.visit_FunctionDef+   s$    __T"F(( C	 	2o)6)B)Boa&C  4		%2234
 ||))&*1*<*<T\\*JLkvkAokAo>$<<>''0@0@0NOivkAoi8$779 d##r   c                 $    | j                  |      S r   )r1   r   s     r   visit_AsyncFunctionDefz#SplitPenalty.visit_AsyncFunctionDefP   s     !!$''r   c                    |j                   D ]0  }| j                  |      }t        |dd  t        j                         2 |j
                  D ]+  }| j                  |      }t        j                  |d   _        - | j                  |      S )Nr!   r   )basesr   r(   r   EXPRr#   r   r,   )r   r   baser   r-   s        r   visit_ClassDefzSplitPenalty.visit_ClassDef^   s     

 7t$fvabz=#5#567 (( :	y)f - 9 9fQi:
 d##r   c                     | j                  |      }t        |dd  t        j                         | j	                  |      S Nr!   r   r(   r   r6   r,   r   r   r   s      r   visit_ReturnzSplitPenalty.visit_Returno   7    __T"FVABZ!3!34d##r   c                     |j                   D ]0  }| j                  |      }t        |dd  t        j                         2 | j                  |      S r:   )targetsr   r(   r   r6   r,   )r   r   targetr   s       r   visit_DeletezSplitPenalty.visit_Deletev   sL    ,, 7v&fvabz=#5#567 d##r   c                     | j                  |      }t        |dd  t        j                         | j	                  |      S r:   r;   r<   s      r   visit_AssignzSplitPenalty.visit_Assign~   9     __T"FVABZ!3!34d##r   c                 $    | j                  |      S r   r,   r   s     r   visit_AugAssignzSplitPenalty.visit_AugAssign        d##r   c                 $    | j                  |      S r   rG   r   s     r   visit_AnnAssignzSplitPenalty.visit_AnnAssign       
 d##r   c                 $    | j                  |      S r   rG   r   s     r   	visit_ForzSplitPenalty.visit_For   rL   r   c                 $    | j                  |      S r   rG   r   s     r   visit_AsyncForzSplitPenalty.visit_AsyncFor   rL   r   c                 $    | j                  |      S r   rG   r   s     r   visit_WhilezSplitPenalty.visit_While   rI   r   c                 $    | j                  |      S r   rG   r   s     r   visit_IfzSplitPenalty.visit_If   rI   r   c                 $    | j                  |      S r   rG   r   s     r   
visit_WithzSplitPenalty.visit_With        d##r   c                 $    | j                  |      S r   rG   r   s     r   visit_AsyncWithzSplitPenalty.visit_AsyncWith   rW   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchzSplitPenalty.visit_Match        d##r   c                 $    | j                  |      S r   rG   r   s     r   visit_RaisezSplitPenalty.visit_Raise       d##r   c                 $    | j                  |      S r   rG   r   s     r   	visit_TryzSplitPenalty.visit_Try   rL   r   c                 $    | j                  |      S r   rG   r   s     r   visit_AssertzSplitPenalty.visit_Assert   r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_ImportzSplitPenalty.visit_Import   s     d##r   c                 $    | j                  |      S r   rG   r   s     r   visit_ImportFromzSplitPenalty.visit_ImportFrom   r\   r   c                 $    | j                  |      S r   rG   r   s     r   visit_GlobalzSplitPenalty.visit_Global   r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_NonlocalzSplitPenalty.visit_Nonlocal   r_   r   c                 $    | j                  |      S r   rG   r   s     r   
visit_ExprzSplitPenalty.visit_Expr   r_   r   c                 $    | j                  |      S r   rG   r   s     r   
visit_PasszSplitPenalty.visit_Pass   r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_BreakzSplitPenalty.visit_Break   r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_ContinuezSplitPenalty.visit_Continue   r_   r   c           	         | j                  |      }t        |dd  t        j                         t	        j
                  d      }|j                  d d D cg c]+  }t        j                  |t        j                  |            - }}|D ])  }|s|dz  }t        ||   t        j                  dz         + | j                  |      S c c}w )Nr!   SPLIT_BEFORE_LOGICAL_OPERATOR   )r   r(   r   r6   r   Getvaluesr   GetNextTokenIndexr*   _DecreasePenaltyr,   )r   r   r   split_before_operatorr   operator_indicesoperator_indexs          r   visit_BoolOpzSplitPenalty.visit_BoolOp  s     __T"FVABZ!3!34 "II&EF [["% 	!!&'*:*:5*AB  + G"!vn-}/A/AA/EFG
 d##s   0Cc                     | j                  |      }t        |dd  t        j                         | j	                  |      S r:   r;   r<   s      r   visit_NamedExprzSplitPenalty.visit_NamedExpr  rE   r   c                 Z   | j                  |      }t        |dd  t        j                         t	        j
                  |t	        j                  |j                              }t        j                  d      s|dz  }t        ||   t        j                  dz         | j                  |      S )Nr!    SPLIT_BEFORE_ARITHMETIC_OPERATORrw   )r   r(   r   r6   r   rz   r*   leftr   rx   r{   r,   )r   r   r   r~   s       r   visit_BinOpzSplitPenalty.visit_BinOp  s    
 __T"FVABZ!3!34 ..v/6/?/?		/JLN9978nVN+]-?-?!-CDd##r   c                     | j                  |      }t        |dd  t        j                         t        |d   t	        j
                  d             | j                  |      S )Nr!   "SPLIT_PENALTY_AFTER_UNARY_OPERATOR)r   r(   r   r6   r   rx   r,   r<   s      r   visit_UnaryOpzSplitPenalty.visit_UnaryOp1  sQ     __T"FVABZ!3!34VAY		*N OPd##r   c                    | j                  |      }t        |dd  t        j                         t	        j
                  d      r3t        | j                  |j                        t        j                         | j                  |      S )Nr!   ALLOW_MULTILINE_LAMBDAS)
r   r(   r   LAMBDAr   rx   r$   bodyMULTIPLINE_LAMBDAr,   r<   s      r   visit_LambdazSplitPenalty.visit_Lambda:  sc     __T"FVABZ!5!56yy*+$//$)),m.M.MNd##r   c                     | j                  |      }t        |dd  t        j                         | j	                  |      S r:   r;   r<   s      r   visit_IfExpzSplitPenalty.visit_IfExpJ  s9     __T"FVABZ!3!34d##r   c                 V   | j                  |      }|j                  D ]5  }t        j                  ||      }t	        |dd  t
        j                         7 |j                  D ]5  }t        j                  ||      }t	        |dd  t
        j                         7 | j                  |      S r:   )
r   keysr   GetTokensInSubRanger(   r   DICT_KEY_EXPRry   DICT_VALUE_EXPRr,   )r   r   r   keysubranger   s         r   
visit_DictzSplitPenalty.visit_DictS  s     __T"F yy B,,VS9hx|]%@%@AB  D,,VU;hx|]%B%BCD d##r   c                     | j                  |      }|j                  D ]5  }t        j                  ||      }t	        |dd  t
        j                         7 | j                  |      S r:   )r   eltsr   r   r(   r   r6   r,   r   r   r   elementr   s        r   	visit_SetzSplitPenalty.visit_Setc  s^    __T"F99 9,,VW=hx|]%7%789 d##r   c                    | j                  |      }t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]  }t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]5  }t        j                  ||      }t	        |dd  t
        j                         7  | j                  |      S r:   r   r   r   eltr(   r   r6   
generatorsiterifsr,   r   r   r   r   compr   if_exprs          r   visit_ListCompzSplitPenalty.visit_ListCompl       __T"F))&$((;GWQR[-"4"45 ;,,VTYY?hx|]%7%78XX ;'..vw?!"}'9'9:;	; d##r   c                    | j                  |      }t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]  }t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]5  }t        j                  ||      }t	        |dd  t
        j                         7  | j                  |      S r:   r   r   s          r   visit_SetCompzSplitPenalty.visit_SetComp  r   r   c                 ^   | j                  |      }t        j                  ||j                        }t	        |dd  t
        j                         t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]  }t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]5  }t        j                  ||      }t	        |dd  t
        j                         7  | j                  |      S r:   )r   r   r   r   r(   r   r6   r   r   r   r   r,   )r   r   r   r   r   r   r   r   s           r   visit_DictCompzSplitPenalty.visit_DictComp  s     __T"F

%
%fdhh
7CSWm001''

;EU12Y 2 23 ;,,VTYY?hx|]%7%78XX ;'..vw?!"}'9'9:;	; d##r   c                    | j                  |      }t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]  }t        j                  ||j                        }t	        |dd  t
        j                         |j                  D ]5  }t        j                  ||      }t	        |dd  t
        j                         7  | j                  |      S r:   r   r   s          r   visit_GeneratorExpzSplitPenalty.visit_GeneratorExp  r   r   c                     | j                  |      }t        |dd  t        j                         | j	                  |      S r:   r;   r<   s      r   visit_AwaitzSplitPenalty.visit_Await  r>   r   c                     | j                  |      }t        |dd  t        j                         | j	                  |      S r:   r;   r<   s      r   visit_YieldzSplitPenalty.visit_Yield  r>   r   c                     | j                  |      }t        |dd  t        j                         t        j                  |d   _        | j                  |      S )Nr!   rw   )r   r(   r   r6   r   r,   r<   s      r   visit_YieldFromzSplitPenalty.visit_YieldFrom  sI    __T"FVABZ!3!34+77F1Id##r   c           
         | j                  |      }t        |dd  t        j                         t	        j
                  |t	        j                  |j                              g|j                  d d D cg c]+  }t	        j
                  |t	        j                  |            - c}z   }t        j                  d      }|D ])  }|s|dz  }t        ||   t        j                  dz         + | j                  |      S c c}w )Nr!   rv   r   rw   )r   r(   r   r6   r   rz   r*   r   comparatorsr   rx   r{   r,   )r   r   r   
comparatorr}   split_beforer~   s          r   visit_ComparezSplitPenalty.visit_Compare  s     __T"FVABZ!3!34 	!!&'*:*:499*EF **3B/	 	!!&'*:*::*FG	 99?@L* G!vn-}/A/AA/EFG
 d##	s   30C<c                 n   | j                  |      }t        j                  |t        j                  |j                              }t        ||   t        j                         |j                  D ]5  }t        j                  ||      }t        |dd  t        j                         7 | j                  |      S r:   )r   r   rz   r*   funcr(   r   r   argsr   r6   r,   )r   r   r   paren_indexargr   s         r   
visit_CallzSplitPenalty.visit_Call  s     __T"F ++FG4D4DTYY4OPKVK(-*C*CDyy 9,,VS9hx|]%7%789 d##r   c                     |S r    r   s     r   visit_FormattedValuez!SplitPenalty.visit_FormattedValue  s	     Kr   c                 $    | j                  |      S r   rG   r   s     r   visit_JoinedStrzSplitPenalty.visit_JoinedStr  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_ConstantzSplitPenalty.visit_Constant  r_   r   c                    | j                  |      }t        j                  d      }t        j                  |t        j
                  |j                              }|s|dz  }t        ||   t        j                         | j                  |      S )NSPLIT_BEFORE_DOTr!   )r   r   rx   r   rz   r*   r   r(   r   r)   r,   )r   r   r   r   dot_indicess        r   visit_AttributezSplitPenalty.visit_Attribute  s{     __T"F99/0L++F,3,<,<TZZ,HJK QkVK(-*O*OPd##r   c                     | j                  |      }t        j                  |t        j                  |j                              }t        ||   t        j                         | j                  |      S r   )	r   r   rz   r*   r   r(   r   r   r,   )r   r   r   bracket_indexs       r   visit_SubscriptzSplitPenalty.visit_Subscript,  s_     __T"F --f.5.>.>tzz.JLMVM*M,E,EFd##r   c                 $    | j                  |      S r   rG   r   s     r   visit_StarredzSplitPenalty.visit_Starred8  r_   r   c                     | j                  |      }t        |dd  t        j                         | j	                  |      S r:   )r   r(   r   r   r,   r<   s      r   
visit_NamezSplitPenalty.visit_Name<  s7    __T"FVABZ!:!:;d##r   c                    | j                  |      }|j                  D ]U  }t        j                  ||      }t	        |dd  t
        j                         t        |d   t
        j                  dz         W | j                  |      S Nr!   r   rw   	r   r   r   r   r(   r   r6   r{   r,   r   s        r   
visit_ListzSplitPenalty.visit_ListC  w    __T"F99 =,,VW=hx|]%7%78x{M$6$6!$;<=
 d##r   c                    | j                  |      }|j                  D ]U  }t        j                  ||      }t	        |dd  t
        j                         t        |d   t
        j                  dz         W | j                  |      S r   r   r   s        r   visit_TuplezSplitPenalty.visit_TupleN  r   r   c                 2   | j                  |      }t        |d      rf|j                  rZt        j                  ||j                        }t        |t        j                         t        |d   t        j                  dz         t        |d      r|j                  rt        j                  |t        j                  |j                              }t        ||   t        j                         t        j                  ||j                        }t        |t        j                         t        |d   t        j                  dz         t        |d      r|j                  rt        j                  |t        j                  |j                              }t        ||   t        j                         t        j                  ||j                        }t        |t        j                         t        |d   t        j                  dz         | j                  |      S )Nlowerr   rw   upperstep)r   hasattrr   r   r   r(   r   r6   r{   r   GetPrevTokenIndexr'   r   r   r,   )r   r   r   r   colon_indexs        r   visit_SlicezSplitPenalty.visit_SliceY  s    __T"FtW$**,,VTZZ@hx!3!34x{M$6$6!$;<tW$**--f.5.@.@.LNkvk*M,E,EF,,VTZZ@hx!3!34x{M$6$6!$;<tV--f.5.@.@.KMkvk*M,E,EF,,VTYY?hx!3!34x{M$6$6!$;<d##r   c                 $    | j                  |      S r   rG   r   s     r   
visit_LoadzSplitPenalty.visit_Loadz  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_StorezSplitPenalty.visit_Store~  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_DelzSplitPenalty.visit_Del  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_AndzSplitPenalty.visit_And  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_OrzSplitPenalty.visit_Or  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_AddzSplitPenalty.visit_Add  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_SubzSplitPenalty.visit_Sub  r_   r   c                 $    | j                  |      S r   rG   r   s     r   
visit_MultzSplitPenalty.visit_Mult  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatMultzSplitPenalty.visit_MatMult  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_DivzSplitPenalty.visit_Div  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_ModzSplitPenalty.visit_Mod  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_PowzSplitPenalty.visit_Pow  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_LShiftzSplitPenalty.visit_LShift  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_RShiftzSplitPenalty.visit_RShift  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_BitOrzSplitPenalty.visit_BitOr  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_BitXorzSplitPenalty.visit_BitXor  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_BitAndzSplitPenalty.visit_BitAnd  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_FloorDivzSplitPenalty.visit_FloorDiv  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_InvertzSplitPenalty.visit_Invert  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_NotzSplitPenalty.visit_Not  r_   r   c                 $    | j                  |      S r   rG   r   s     r   
visit_UAddzSplitPenalty.visit_UAdd  r_   r   c                 $    | j                  |      S r   rG   r   s     r   
visit_USubzSplitPenalty.visit_USub  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_EqzSplitPenalty.visit_Eq  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_NotEqzSplitPenalty.visit_NotEq  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_LtzSplitPenalty.visit_Lt  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_LtEzSplitPenalty.visit_LtE  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_GtzSplitPenalty.visit_Gt  r_   r   c                 $    | j                  |      S r   rG   r   s     r   	visit_GtEzSplitPenalty.visit_GtE  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_IszSplitPenalty.visit_Is  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_IsNotzSplitPenalty.visit_IsNot  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_InzSplitPenalty.visit_In  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_NotInzSplitPenalty.visit_NotIn  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_ExceptionHandlerz#SplitPenalty.visit_ExceptionHandler  rI   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchValuezSplitPenalty.visit_MatchValue  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchSingletonz!SplitPenalty.visit_MatchSingleton  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchSequencez SplitPenalty.visit_MatchSequence   r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchMappingzSplitPenalty.visit_MatchMapping$  rI   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchClasszSplitPenalty.visit_MatchClass*  rL   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchStarzSplitPenalty.visit_MatchStar1  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchAszSplitPenalty.visit_MatchAs5  rW   r   c                 $    | j                  |      S r   rG   r   s     r   visit_MatchOrzSplitPenalty.visit_MatchOr:  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_TypeIgnorezSplitPenalty.visit_TypeIgnoreB  r_   r   c                 $    | j                  |      S r   rG   r   s     r   visit_comprehensionz SplitPenalty.visit_comprehensionJ  rL   r   c                 $    | j                  |      S r   rG   r   s     r   visit_argumentszSplitPenalty.visit_argumentsQ  s     d##r   c                     | j                  |      }t        |d      rH|j                  r<|j                  }t        j                  ||      }t        |t        j                         | j                  |      S )N
annotation)	r   r   r:  r   r   r(   r   
ANNOTATIONr,   )r   r   r   r:  r   s        r   	visit_argzSplitPenalty.visit_arg[  s`     __T"F t\"t??j,,VZ@hx!9!9:d##r   c                 $    | j                  |      S r   rG   r   s     r   visit_keywordzSplitPenalty.visit_keywordi  rW   r   c                 $    | j                  |      S r   rG   r   s     r   visit_aliaszSplitPenalty.visit_aliasn  rW   r   c                 $    | j                  |      S r   rG   r   s     r   visit_withitemzSplitPenalty.visit_withitems  rW   r   c                 $    | j                  |      S r   rG   r   s     r   visit_match_casezSplitPenalty.visit_match_casex  rI   r   )m__name__
__module____qualname____doc__r   r   r1   r3   r8   r=   rB   rD   rH   rK   rN   rP   rR   rT   rV   rY   r[   r^   ra   rc   re   rg   ri   rk   rm   ro   rq   rs   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&  r(  r*  r,  r.  r0  r2  r4  r6  r8  r<  r>  r@  rB  rD  __classcell__)r   s   @r   r   r      s   /:<#$J($"$$$$$$$$$$
$
	$$$$$	$$$$$$$$($$($$ $$ $$0$0$8$0$$$$,$*
$$$
$$$	$	$$B$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$
$
$
$r   r   c                 b    t        | t              s| g} | D ]  }|xj                  |z  c_         y r   
isinstancelistr   r   amtr   s      r   r(   r(     3    	FD	!XF e	3r   c                 b    t        | t              s| g} | D ]  }|xj                  |z  c_         y r   rK  rN  s      r   r{   r{     rP  r   c                 F    t        | t              s| g} | D ]	  }||_         y r   rK  rN  s      r   r$   r$     s*    	FD	!XF eEr   )astyapf.pyparserr   r   yapf.yapflibr   r   r   NodeVisitorr   r(   r{   r$   r   r   r   <module>rW     s8     3 &  !e$3?? e$Pr   