
%![c           @   s   d  Z  d d l Z d d l Z d e f d     YZ d e f d     YZ d   Z e j d d	 f k rq e Z n  e d
  Z d S(   s  This module renders Astroid nodes as string:

* :func:`to_code` function return equivalent (hopefully valid) python string

* :func:`dump` function return an internal representation of nodes found
  in the tree, useful for debugging or understanding the tree structure
iNt   AsStringVisitorc           B   s  e  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+   Z- d,   Z. d-   Z/ d.   Z0 d/   Z1 d0   Z2 d1   Z3 d2   Z4 d3   Z5 d4   Z6 d5   Z7 d6   Z8 d7   Z9 d8   Z: d9   Z; d:   Z< d;   Z= d<   Z> d=   Z? d>   Z@ d?   ZA d@   ZB dA   ZC dB   ZD dC   ZE dD   ZF dE   ZG dF   ZH RS(G   s?   Visitor to render an Astroid node as a valid python code stringc         C   s   | |  _  d  S(   N(   t   indent(   t   selfR   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   __init__   s    c         C   s   | j  |   S(   s.   Makes this visitor behave as a simple function(   t   accept(   R   t   node(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   __call__   s    c         C   sb   d j  g  g  | D] } | j |   ^ q D] } | r) | ^ q)  } |  j | j d d |  j  S(   s    return a list of nodes to strings   
(   t   joinR   R   t   replace(   R   t   stmtst   nt   nstr(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   _stmt_list"   s    Dc         C   s
   | j    S(   s)   return an astroid.Function node as string(   t   format_args(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_arguments*   s    c         C   s   |  j  |  S(   s(   return an astroid.AssAttr node as string(   t   visit_attribute(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_assignattr.   s    c         C   sC   | j  r/ d | j j |   | j  j |   f Sd | j j |   S(   s'   return an astroid.Assert node as strings   assert %s, %ss	   assert %s(   t   failt   testR   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_assert2   s    	c         C   s   | j  S(   s(   return an astroid.AssName node as string(   t   name(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_assignname9   s    c         C   sH   d j  g  | j D] } | j |   ^ q  } d | | j j |   f S(   s'   return an astroid.Assign node as strings    = s   %s = %s(   R   t   targetsR   t   value(   R   R   R
   t   lhs(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_assign=   s    .c         C   s,   d | j  j |   | j | j j |   f S(   s*   return an astroid.AugAssign node as strings   %s %s %s(   t   targetR   t   opR   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_augassignB   s    c         C   s^   | j  j |   } | j j |   } | j d k rA d | | f Sd | | | j j |   f S(   s*   Return an astroid.AugAssign node as strings   %s: %ss   %s: %s = %sN(   R   R   t
   annotationR   t   None(   R   R   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_annassignF   s
    c         C   s   d | j  j |   S(   s%   return an astroid.Repr node as strings   `%s`(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_reprO   s    c         C   s,   d | j  j |   | j | j j |   f S(   s&   return an astroid.BinOp node as strings   (%s) %s (%s)(   t   leftR   R   t   right(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_binopS   s    c         C   s7   d | j  j g  | j D] } d | j |   ^ q  S(   s'   return an astroid.BoolOp node as strings    %s s   (%s)(   R   R   t   valuesR   (   R   R   R
   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_boolopW   s    c         C   s   d S(   s&   return an astroid.Break node as stringt   break(    (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_break\   s    c         C   s   | j  j |   } g  | j D] } | j |   ^ q } | j rh g  | j D] } | j |   ^ qJ } n g  } | j |  d | d j |  f S(   s%   return an astroid.Call node as strings   %s(%s)s   , (   t   funcR   t   argst   keywordst   extendR   (   R   R   t   expr_strt   argR)   t   kwargR*   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_call`   s    %	(c         C   s'  | j  r | j  j |   n d } d j g  | j D] } | j |   ^ q1  } t j d d k r{ | rr d | n d } na | j   } | r | j   r | r d | | j f } q d | j } n | r d | n d } | j	 r d |  j
 | j	 f n d } d	 | | j | | |  j | j  f S(
   s)   return an astroid.ClassDef node as stringt    s   , i    i   s   (%s)s   (%s, metaclass=%s)s   (metaclass=%s)s   
%s"""%s"""s   

%sclass %s%s:%s
%s
(   t
   decoratorsR   R   t   basest   syst   version_infot	   metaclasst   has_metaclass_hackR   t   docR   R   t   body(   R   R   t   decorateR
   R2   R5   t   docs(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_classdefl   s    !.%c         C   sX   d j  g  | j D]% \ } } d | | j |   f ^ q  } d | j j |   | f S(   s(   return an astroid.Compare node as stringt    s   %s %s(   R   t   opsR   R!   (   R   R   R   t   exprt   rhs_str(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_compare   s    	5c         C   s[   d j  g  | j D] } d | j |   ^ q  } d | j j |   | j j |   | f S(   s.   return an astroid.Comprehension node as stringR0   s    if %ss   for %s in %s%s(   R   t   ifsR   R   t   iter(   R   R   R
   RA   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_comprehension   s    2c         C   s   t  | j  S(   s&   return an astroid.Const node as string(   t   reprR   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_const   s    c         C   s   d S(   s)   return an astroid.Continue node as stringt   continue(    (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_continue   s    c         C   s0   d d j  g  | j D] } | j |   ^ q  S(   s'   return an astroid.Delete node as strings   del %ss   , (   R   R   R   (   R   R   t   child(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_delete   s    c         C   s   |  j  |  S(   s(   return an astroid.DelAttr node as string(   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_delattr   s    c         C   s   | j  S(   s(   return an astroid.DelName node as string(   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_delname   s    c         C   s0   d d j  g  | j D] } | j |   ^ q  S(   s+   return an astroid.Decorators node as strings   @%s
s   
@(   R   t   nodesR   (   R   R   t   item(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_decorators   s    c         C   s   d d j  |  j |   S(   s%   return an astroid.Dict node as strings   {%s}s   , (   R   t   _visit_dict(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_dict   s    c         c   sc   x\ | j  D]Q \ } } | j |   } | j |   } | d k rL | | Vq
 d | | f Vq
 Wd  S(   Ns   **s   %s: %s(   t   itemsR   (   R   R   t   keyR   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyRO      s    c         C   s   d S(   Ns   **(    (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_dictunpack   s    c         C   sQ   d | j  j |   | j j |   d j g  | j D] } | j |   ^ q1  f S(   s)   return an astroid.DictComp node as strings   {%s: %s %s}R<   (   RR   R   R   R   t
   generators(   R   R   R
   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_dictcomp   s    !c         C   s   | j  j |   S(   s(   return an astroid.Discard node as string(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_expr   s    c         C   s   d S(   s'   dummy method for visiting an Empty nodeR0   (    (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_emptynode   s    c         C   sv   | j  rV | j r= d | j  j |   | j j |   f } q\ d | j  j |   } n d } d | |  j | j  f S(   Ns   except %s, %ss	   except %st   excepts   %s:
%s(   t   typeR   R   R   R8   (   R   R   t   excs(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_excepthandler   s    		c         C   s   d S(   s)   return an astroid.Ellipsis node as strings   ...(    (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_ellipsis   s    c         C   s   d S(   s   return an Empty node as stringR0   (    (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_empty   s    c         C   s   | j  r> d | j j |   | j  j |   | j j |   f S| j rm d | j j |   | j j |   f Sd | j j |   S(   s%   return an astroid.Exec node as strings   exec %s in %s, %ss   exec %s in %ss   exec %s(   t   localsR>   R   t   globals(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_exec   s    		c         C   s,   d j  g  | j D] } | j |   ^ q  S(   s)   return an astroid.ExtSlice node as stringt   ,(   R   t   dimsR   (   R   R   t   dim(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_extslice   s    c         C   sc   d | j  j |   | j j |   |  j | j  f } | j r_ d | |  j | j  f } n  | S(   s$   return an astroid.For node as strings   for %s in %s:
%ss   %s
else:
%s(   R   R   RB   R   R8   t   orelse(   R   R   t   fors(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt	   visit_for   s    	c         C   s+   d d | j  p d | j t | j  f S(   s+   return an astroid.ImportFrom node as strings   from %s import %st   .i    (   t   levelt   modnamet   _import_stringt   names(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_importfrom   s    c         C   s   | j  r | j  j |   n d } | j r@ d |  j | j f n d } d } t j r~ | j r~ d | j j   } | d } n d } d } | | | j | j	 j |   | | |  j
 | j  f S(   s)   return an astroid.Function node as stringR0   s   
%s"""%s"""s   ->t   :s   
%sdef %s(%s)%s%s
%s(   R1   R   R7   R   t   sixt   PY3t   returnst	   as_stringR   R)   R   R8   (   R   R   R9   R:   t   return_annotationt   trailert
   def_format(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_functiondef   s    !%c         C   sB   d | j  j |   d j g  | j D] } | j |   ^ q"  f S(   s-   return an astroid.GeneratorExp node as strings   (%s %s)R<   (   t   eltR   R   RT   (   R   R   R
   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_generatorexp  s    c         C   s   d | j  j |   | j f S(   s(   return an astroid.Getattr node as strings   %s.%s(   R>   R   t   attrname(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyR     s    c         C   s   d d j  | j  S(   s'   return an astroid.Global node as strings	   global %ss   , (   R   Rl   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_global  s    c         C   sa   d | j  j |   |  j | j  f g } | j rT | j d |  j | j   n  d j |  S(   s#   return an astroid.If node as strings	   if %s:
%ss   else:
%ss   
(   R   R   R   R8   Re   t   appendR   (   R   R   RA   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_if  s    +	 c         C   s5   d | j  j |   | j j |   | j j |   f S(   s&   return an astroid.IfExp node as strings   %s if %s else %s(   R8   R   R   Re   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_ifexp  s    c         C   s   d t  | j  S(   s'   return an astroid.Import node as strings	   import %s(   Rk   Rl   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_import  s    c         C   s@   | j  d k r# d | j j |   Sd | j  | j j |   f S(   s(   return an astroid.Keyword node as strings   **%ss   %s=%sN(   R-   R   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_keyword   s    c         C   s&   d | j  j |   | j j |   f S(   s'   return an astroid.Lambda node as strings   lambda %s: %s(   R)   R   R8   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_lambda&  s    c         C   s0   d d j  g  | j D] } | j |   ^ q  S(   s%   return an astroid.List node as strings   [%s]s   , (   R   t   eltsR   (   R   R   RH   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_list+  s    c         C   sB   d | j  j |   d j g  | j D] } | j |   ^ q"  f S(   s)   return an astroid.ListComp node as strings   [%s %s]R<   (   Rw   R   R   RT   (   R   R   R
   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_listcomp/  s    c         C   sP   | j  r d | j  n d } | d j g  | j D] } | j |   ^ q/  d S(   s'   return an astroid.Module node as strings
   """%s"""

R0   s   
s   

(   R7   R   R8   R   (   R   R   R:   R
   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_module4  s    c         C   s   | j  S(   s%   return an astroid.Name node as string(   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_name9  s    c         C   s   d S(   s%   return an astroid.Pass node as stringt   pass(    (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_pass=  s    c         C   so   d j  g  | j D] } | j |   ^ q  } | j sD d | } n  | j rg d | j j |   | f Sd | S(   s&   return an astroid.Print node as strings   , s   %s,s   print >> %s, %ss   print %s(   R   R$   R   t   nlt   dest(   R   R   R
   RL   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_printA  s    .		c         C   s   | j  r | j rv | j rP d | j  j |   | j j |   | j j |   f Sd | j  j |   | j j |   f Sd | j  j |   Sd S(   s&   return an astroid.Raise node as strings   raise %s, %s, %ss   raise %s, %ss   raise %st   raise(   t   exct   instt   tbackR   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_raiseJ  s    			c         C   s!   | j  r d | j  j |   Sd S(   s'   return an astroid.Return node as strings	   return %st   return(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_returnW  s    	c         C   s   | j  j |   S(   s%   return a astroid.Index node as string(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_index^  s    c         C   s0   d d j  g  | j D] } | j |   ^ q  S(   s$   return an astroid.Set node as strings   {%s}s   , (   R   R   R   (   R   R   RH   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt	   visit_setb  s    c         C   sB   d | j  j |   d j g  | j D] } | j |   ^ q"  f S(   s(   return an astroid.SetComp node as strings   {%s %s}R<   (   Rw   R   R   RT   (   R   R   R
   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_setcompf  s    c         C   s   | j  r | j  j |   n d } | j r< | j j |   n d } | j r] | j j |   n d } | rz d | | | f Sd | | f S(   s%   return a astroid.Slice node as stringR0   s   %s:%s:%ss   %s:%s(   t   lowerR   t   uppert   step(   R   R   R   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_slicek  s    !!!c         C   s&   d | j  j |   | j j |   f S(   s*   return an astroid.Subscript node as strings   %s[%s](   R   R   t   slice(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_subscriptt  s    c         C   sy   d |  j  | j  g } x' | j D] } | j | j |    q# W| j rl | j d |  j  | j   n  d j |  S(   s*   return an astroid.TryExcept node as strings   try:
%ss   else:
%ss   
(   R   R8   t   handlersR{   R   Re   R   (   R   R   t   tryst   handler(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_tryexceptx  s    	 c         C   s&   d |  j  | j  |  j  | j  f S(   s+   return an astroid.TryFinally node as strings   try:
%s
finally:
%s(   R   R8   t	   finalbody(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_tryfinally  s    c         C   s]   t  | j  d k r- d | j d j |   Sd d j g  | j D] } | j |   ^ q@  S(   s&   return an astroid.Tuple node as stringi   s   (%s, )i    s   (%s)s   , (   t   lenR   R   R   (   R   R   RH   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_tuple  s    c         C   s;   | j  d k r d } n	 | j  } d | | j j |   f S(   s(   return an astroid.UnaryOp node as stringt   nots   not s   %s%s(   R   t   operandR   (   R   R   t   operator(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_unaryop  s    		c         C   sT   d | j  j |   |  j | j  f } | j rP d | |  j | j  f } n  | S(   s&   return an astroid.While node as strings   while %s:
%ss   %s
else:
%s(   R   R   R   R8   Re   (   R   R   t   whiles(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_while  s
    	c            s<   d j    f d   | j D  } d |   j | j  f S(   s%   return an astroid.With node as strings   , c         3   sE   |  ]; \ } } d  | j     | r8 d | j     p; d Vq d S(   s   (%s)s    as (%s)R0   N(   R   (   t   .0R>   t   vars(   R   (    s0   lib/python2.7/site-packages/astroid/as_string.pys	   <genexpr>  s   s   with %s:
%s(   R   RQ   R   R8   (   R   R   RQ   (    (   R   s0   lib/python2.7/site-packages/astroid/as_string.pyt
   visit_with  s    c         C   sJ   | j  r d | j  j |   n d } d | } | j j r? | Sd | f S(   s!   yield an ast.Yield node as stringR<   R0   t   yields   (%s)(   R   R   t   parentt   is_statement(   R   R   t   yi_valR>   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_yield  s
    %
c         C   s   d | j  j |   S(   s   return Starred node as stringt   *(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_starred  s    c         C   s   | j  j |   S(   N(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_frozenset  s    c         C   s   | j  j |   S(   N(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_super  s    c         C   s
   t  |  S(   N(   t   str(   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_uninferable  s    (I   t   __name__t
   __module__t   __doc__R   R   R   R   R   R   R   R   R   R   R    R#   R%   R'   R/   R;   R@   RC   RE   RG   RI   RJ   RK   RN   RP   RO   RS   RU   RV   RW   R[   R\   R]   R`   Rd   Rg   Rm   Rv   Rx   R   Rz   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   (    (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyR       s   																											
																																																t   AsStringVisitor3c           B   sq   e  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 RS(   s8   AsStringVisitor3 overwrites some AsStringVisitor methodsc         C   sv   | j  rV | j r= d | j  j |   | j j |   f } q\ d | j  j |   } n d } d | |  j | j  f S(   Ns   except %s as %ss	   except %sRX   s   %s:
%s(   RY   R   R   R   R8   (   R   R   RZ   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyR[     s    		c         C   s   d d j  | j  S(   s)   return an astroid.Nonlocal node as strings   nonlocal %ss   , (   R   Rl   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_nonlocal  s    c         C   sP   | j  rL | j r8 d | j  j |   | j j |   f Sd | j  j |   Sd S(   s&   return an astroid.Raise node as strings   raise %s from %ss   raise %sR   (   R   t   causeR   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyR     s    		c         C   sJ   | j  r d | j  j |   n d } d | } | j j r? | Sd | f S(   s-    Return an astroid.YieldFrom node as string. R<   R0   s
   yield froms   (%s)(   R   R   R   R   (   R   R   R   R>   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_yieldfrom  s
    %
c         C   s&   t  t |   j |  } d | j   S(   Ns   async (   t   superR   Rv   t   strip(   R   R   t   function(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_asyncfunctiondef  s    c         C   s   d | j  j |   S(   Ns   await %s(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_await  s    c         C   s   d |  j  |  S(   Ns   async %s(   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_asyncwith  s    c         C   s   d |  j  |  S(   Ns   async %s(   Rg   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_asyncfor  s    c            s*   d j    f d   | j D  } d | S(   NR0   c         3   s<   |  ]2 } t  |  j d  k r' | j n | j    Vq d S(   t   ConstN(   RY   R   R   R   (   R   R   (   R   (    s0   lib/python2.7/site-packages/astroid/as_string.pys	   <genexpr>  s   s   f'%s'(   R   R$   (   R   R   t   string(    (   R   s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_joinedstr  s    c         C   s   d | j  j |   S(   Ns   {%s}(   R   R   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   visit_formattedvalue  s    c         C   s/   d | j  r d n d t t |   j |  f S(   s.   return an astroid.Comprehension node as strings   %s%ss   async R0   (   t   is_asyncR   R   RC   (   R   R   (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyRC     s    (   R   R   R   R[   R   R   R   R   R   R   R   R   R   RC   (    (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyR     s   											
	c         C   s]   g  } xG |  D]? \ } } | d k	 r? | j d | | f  q | j |  q Wd j |  S(   s5   return a list of (name, asname) formatted as a strings   %s as %ss   , N(   R   R{   R   (   Rl   t   _namesR   t   asname(    (    s0   lib/python2.7/site-packages/astroid/as_string.pyRk      s    i   i    s       (	   R   R3   Ro   t   objectR    R   Rk   R4   t   to_code(    (    (    s0   lib/python2.7/site-packages/astroid/as_string.pyt   <module>   s    D		