Your IP : 216.73.216.196


Current Path : /opt/alt/python37/lib/python3.7/site-packages/astroid/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/astroid/__pycache__/as_string.cpython-37.opt-1.pyc

B

��\�V�@sPdZddlZdZGdd�d�ZGdd�de�Zdd	�Zejd
krDeZed�ZdS)a
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
�N�c@s\eZdZdZdd�Zdd�Zdd�Zd�d	d
�Zd�dd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��ZBd�d��ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�S)��AsStringVisitorz?Visitor to render an Astroid node as a valid python code stringcCs
||_dS)N)�indent)�selfr�r�B/opt/alt/python37/lib/python3.7/site-packages/astroid/as_string.py�__init__#szAsStringVisitor.__init__cCs|�|��td�S)z.Makes this visitor behave as a simple function�
)�accept�replace�DOC_NEWLINE)r�noderrr�__call__&szAsStringVisitor.__call__cCsd|j|�dt�fS)z7Stop newlines in docs being indented by self._stmt_listz
%s"""%s"""r	)rrr)r�docrrr�_docs_dedent*szAsStringVisitor._docs_dedentTcsBd�dd��fdd�|D�D��}|r>�j|�dd�j�S|S)z return a list of nodes to stringr	css|]}|r|VqdS)Nr)�.0Znstrrrr�	<genexpr>0sz-AsStringVisitor._stmt_list.<locals>.<genexpr>csg|]}|����qSr)r
)r�n)rrr�
<listcomp>0sz.AsStringVisitor._stmt_list.<locals>.<listcomp>)�joinrr)rZstmtsrr)rr�
_stmt_list.s"zAsStringVisitor._stmt_listcCs&|�|||�rd|�|�S|�|�S)z<Wrap child in parens only if required to keep same semanticsz(%s))�_should_wrapr
)rr
�child�is_leftrrr�_precedence_parens6sz"AsStringVisitor._precedence_parenscCs8|��}|��}||krdS||kr4||��kr4dSdS)z�Wrap child if:
            - it has lower precedence
            - same precedence with position opposite to associativity direction
        TF)Z
op_precedenceZop_left_associative)rr
rrZnode_precedenceZchild_precedencerrrr=szAsStringVisitor._should_wrapcCs|��S)z)return an astroid.Function node as string)Zformat_args)rr
rrr�visit_argumentsUszAsStringVisitor.visit_argumentscCs
|�|�S)z(return an astroid.AssAttr node as string)�visit_attribute)rr
rrr�visit_assignattrYsz AsStringVisitor.visit_assignattrcCs2|jr"d|j�|�|j�|�fSd|j�|�S)z'return an astroid.Assert node as stringz
assert %s, %sz	assert %s)Zfail�testr
)rr
rrr�visit_assert]szAsStringVisitor.visit_assertcCs|jS)z(return an astroid.AssName node as string)�name)rr
rrr�visit_assignnamecsz AsStringVisitor.visit_assignnamecs.d��fdd�|jD��}d||j���fS)z'return an astroid.Assign node as stringz = c3s|]}|���VqdS)N)r
)rr)rrrrisz/AsStringVisitor.visit_assign.<locals>.<genexpr>z%s = %s)r�targets�valuer
)rr
Zlhsr)rr�visit_assigngszAsStringVisitor.visit_assigncCs d|j�|�|j|j�|�fS)z*return an astroid.AugAssign node as stringz%s %s %s)�targetr
�opr#)rr
rrr�visit_augassignlszAsStringVisitor.visit_augassigncCsD|j�|�}|j�|�}|jdkr.d||fSd|||j�|�fS)z*Return an astroid.AugAssign node as stringNz%s: %sz%s: %s = %s)r%r
�
annotationr#)rr
r%r(rrr�visit_annassignps

zAsStringVisitor.visit_annassigncCsd|j�|�S)z%return an astroid.Repr node as stringz`%s`)r#r
)rr
rrr�
visit_repryszAsStringVisitor.visit_reprcCsJ|�||j�}|j||jdd�}|jdkr:d||j|fSd||j|fS)z&return an astroid.BinOp node as stringF)rz**z%s%s%sz%s %s %s)r�left�rightr&)rr
r+r,rrr�visit_binop}s

zAsStringVisitor.visit_binopcs&��fdd��jD�}d�j�|�S)z'return an astroid.BoolOp node as stringcsg|]}d���|��qS)z%s)r)rr)r
rrrr�sz0AsStringVisitor.visit_boolop.<locals>.<listcomp>z %s )�valuesr&r)rr
r.r)r
rr�visit_boolop�szAsStringVisitor.visit_boolopcCsdS)z&return an astroid.Break node as string�breakr)rr
rrr�visit_break�szAsStringVisitor.visit_breakcs^��||j�}�fdd�|jD�}|jr>�fdd�|jD�}ng}|�|�d|d�|�fS)z%return an astroid.Call node as stringcsg|]}|����qSr)r
)r�arg)rrrr�sz.AsStringVisitor.visit_call.<locals>.<listcomp>csg|]}|����qSr)r
)rZkwarg)rrrr�sz%s(%s)z, )r�func�args�keywords�extendr)rr
Zexpr_strr4r5r)rr�
visit_call�s
zAsStringVisitor.visit_callcs�|jr|j���nd}d��fdd�|jD��}|��}|rd|��sd|rXd||jf}qtd|j}n|rpd|nd}|jr���|j�nd}d||j||��	|j
�fS)	z)return an astroid.ClassDef node as string�z, c3s|]}|���VqdS)N)r
)rr)rrrr�sz1AsStringVisitor.visit_classdef.<locals>.<genexpr>z(%s, metaclass=%s)z(metaclass=%s)z(%s)z

%sclass %s%s:%s
%s
)�
decoratorsr
r�bases�	metaclassZhas_metaclass_hackr rrr�body)rr
�decorater:r;�docsr)rr�visit_classdef�szAsStringVisitor.visit_classdefcs2d���fdd��jD��}d����j�|fS)z(return an astroid.Compare node as string� c	s(g|] \}}d|�j�|dd�f�qS)z%s %sF)r)r)rr&�expr)r
rrrr�sz1AsStringVisitor.visit_compare.<locals>.<listcomp>z%s %s)rZopsrr+)rr
Zrhs_strr)r
rr�
visit_compare�szAsStringVisitor.visit_comparecs8d��fdd�|jD��}d|j���|j���|fS)z.return an astroid.Comprehension node as stringr8c3s|]}d|���VqdS)z if %sN)r
)rr)rrrr�sz6AsStringVisitor.visit_comprehension.<locals>.<genexpr>zfor %s in %s%s)r�ifsr%r
�iter)rr
rCr)rr�visit_comprehension�s


z#AsStringVisitor.visit_comprehensioncCs|jtkrdSt|j�S)z&return an astroid.Const node as stringz...)r#�Ellipsis�repr)rr
rrr�visit_const�s
zAsStringVisitor.visit_constcCsdS)z)return an astroid.Continue node as string�continuer)rr
rrr�visit_continue�szAsStringVisitor.visit_continuecsdd��fdd�|jD��S)z'return an astroid.Delete node as stringzdel %sz, c3s|]}|���VqdS)N)r
)rr)rrrr�sz/AsStringVisitor.visit_delete.<locals>.<genexpr>)rr")rr
r)rr�visit_delete�szAsStringVisitor.visit_deletecCs
|�|�S)z(return an astroid.DelAttr node as string)r)rr
rrr�
visit_delattr�szAsStringVisitor.visit_delattrcCs|jS)z(return an astroid.DelName node as string)r )rr
rrr�
visit_delname�szAsStringVisitor.visit_delnamecsdd��fdd�|jD��S)z+return an astroid.Decorators node as stringz@%s
z
@c3s|]}|���VqdS)N)r
)r�item)rrrr�sz3AsStringVisitor.visit_decorators.<locals>.<genexpr>)r�nodes)rr
r)rr�visit_decorators�sz AsStringVisitor.visit_decoratorscCsdd�|�|��S)z%return an astroid.Dict node as stringz{%s}z, )r�_visit_dict)rr
rrr�
visit_dict�szAsStringVisitor.visit_dictccsNxH|jD]>\}}|�|�}|�|�}|dkr8||Vqd||fVqWdS)Nz**z%s: %s)�itemsr
)rr
�keyr#rrrrQ�s

zAsStringVisitor._visit_dictcCsdS)Nz**r)rr
rrr�visit_dictunpack�sz AsStringVisitor.visit_dictunpackcs4d|j���|j���d��fdd�|jD��fS)z)return an astroid.DictComp node as stringz{%s: %s %s}r@c3s|]}|���VqdS)N)r
)rr)rrrr�sz1AsStringVisitor.visit_dictcomp.<locals>.<genexpr>)rTr
r#r�
generators)rr
r)rr�visit_dictcomp�s

zAsStringVisitor.visit_dictcompcCs|j�|�S)z(return an astroid.Discard node as string)r#r
)rr
rrr�
visit_expr�szAsStringVisitor.visit_exprcCsdS)z'dummy method for visiting an Empty noder8r)rr
rrr�visit_emptynode�szAsStringVisitor.visit_emptynodecCsT|jr<|jr*d|j�|�|j�|�f}q@d|j�|�}nd}d||�|j�fS)Nz
except %s, %sz	except %s�exceptz%s:
%s)�typer r
rr<)rr
�excsrrr�visit_excepthandler�s
z#AsStringVisitor.visit_excepthandlercCsdS)z)return an astroid.Ellipsis node as stringz...r)rr
rrr�visit_ellipsisszAsStringVisitor.visit_ellipsiscCsdS)zreturn an Empty node as stringr8r)rr
rrr�visit_emptyszAsStringVisitor.visit_emptycCs^|jr,d|j�|�|j�|�|j�|�fS|jrNd|j�|�|j�|�fSd|j�|�S)z%return an astroid.Exec node as stringzexec %s in %s, %sz
exec %s in %szexec %s)�localsrAr
�globals)rr
rrr�
visit_execs

zAsStringVisitor.visit_execcsd��fdd�|jD��S)z)return an astroid.ExtSlice node as stringz, c3s|]}|���VqdS)N)r
)rZdim)rrrr!sz1AsStringVisitor.visit_extslice.<locals>.<genexpr>)rZdims)rr
r)rr�visit_extsliceszAsStringVisitor.visit_extslicecCsDd|j�|�|j�|�|�|j�f}|jr@d||�|j�f}|S)z$return an astroid.For node as stringzfor %s in %s:
%sz%s
else:
%s)r%r
rDrr<�orelse)rr
Zforsrrr�	visit_for#s

zAsStringVisitor.visit_forcCs"dd|jpd|jt|j�fS)z+return an astroid.ImportFrom node as stringzfrom %s import %s�.r)�level�modname�_import_string�names)rr
rrr�visit_importfrom.sz AsStringVisitor.visit_importfromc	Csv|jr|j�|�nd}|jr(|�|j�nd}d}|jrLd|j��}|d}d}|||j|j�|�|||�|j	�fS)z)return an astroid.Function node as stringr8�:z->z
%sdef %s(%s)%s%s
%s)
r9r
rrZreturnsZ	as_stringr r4rr<)rr
r=r>ZtrailerZreturn_annotationZ
def_formatrrr�visit_functiondef5s
z!AsStringVisitor.visit_functiondefcs*d|j���d��fdd�|jD��fS)z-return an astroid.GeneratorExp node as stringz(%s %s)r@c3s|]}|���VqdS)N)r
)rr)rrrrKsz5AsStringVisitor.visit_generatorexp.<locals>.<genexpr>)�eltr
rrV)rr
r)rr�visit_generatorexpGs
z"AsStringVisitor.visit_generatorexpcCsd|�||j�|jfS)z(return an astroid.Getattr node as stringz%s.%s)rrAZattrname)rr
rrrrNszAsStringVisitor.visit_attributecCsdd�|j�S)z'return an astroid.Global node as stringz	global %sz, )rrj)rr
rrr�visit_globalRszAsStringVisitor.visit_globalcCshd|j�|�|�|j�fg}|��rB|�d|j|jdd��n|jr^|�d|�|j��d�|�S)z#return an astroid.If node as stringz	if %s:
%szel%sF)rzelse:
%sr	)rr
rr<Zhas_elif_block�appendrdr)rr
rCrrr�visit_ifVszAsStringVisitor.visit_ifcCs8d|j||jdd�|j||jdd�|j||jdd�fS)z&return an astroid.IfExp node as stringz%s if %s else %sT)rF)rr<rrd)rr
rrr�visit_ifexp_szAsStringVisitor.visit_ifexpcCsdt|j�S)z'return an astroid.Import node as stringz	import %s)rirj)rr
rrr�visit_importgszAsStringVisitor.visit_importcCs0|jdkrd|j�|�Sd|j|j�|�fS)z(return an astroid.Keyword node as stringNz**%sz%s=%s)r2r#r
)rr
rrr�
visit_keywordks
zAsStringVisitor.visit_keywordcCs0|j�|�}|j�|�}|r(d||fSd|S)z'return an astroid.Lambda node as stringz
lambda %s: %sz
lambda: %s)r4r
r<)rr
r4r<rrr�visit_lambdaqs
zAsStringVisitor.visit_lambdacsdd��fdd�|jD��S)z%return an astroid.List node as stringz[%s]z, c3s|]}|���VqdS)N)r
)rr)rrrr|sz-AsStringVisitor.visit_list.<locals>.<genexpr>)r�elts)rr
r)rr�
visit_listzszAsStringVisitor.visit_listcs*d|j���d��fdd�|jD��fS)z)return an astroid.ListComp node as stringz[%s %s]r@c3s|]}|���VqdS)N)r
)rr)rrrr�sz1AsStringVisitor.visit_listcomp.<locals>.<genexpr>)rnr
rrV)rr
r)rr�visit_listcomp~s
zAsStringVisitor.visit_listcompcs6|jrd|jnd}|d��fdd�|jD��dS)z'return an astroid.Module node as stringz
"""%s"""

r8r	c3s|]}|���VqdS)N)r
)rr)rrrr�sz/AsStringVisitor.visit_module.<locals>.<genexpr>z

)rrr<)rr
r>r)rr�visit_module�szAsStringVisitor.visit_modulecCs|jS)z%return an astroid.Name node as string)r )rr
rrr�
visit_name�szAsStringVisitor.visit_namecCsdS)z%return an astroid.Pass node as string�passr)rr
rrr�
visit_pass�szAsStringVisitor.visit_passcsJd��fdd�|jD��}|js(d|}|jrBd|j���|fSd|S)z&return an astroid.Print node as stringz, c3s|]}|���VqdS)N)r
)rr)rrrr�sz.AsStringVisitor.visit_print.<locals>.<genexpr>z%s,zprint >> %s, %szprint %s)rr.�nl�destr
)rr
rOr)rr�visit_print�szAsStringVisitor.visit_printcCsh|jrd|jrT|jr8d|j�|�|j�|�|j�|�fSd|j�|�|j�|�fSd|j�|�SdS)z&return an astroid.Raise node as stringzraise %s, %s, %szraise %s, %szraise %s�raise)�exc�instZtbackr
)rr
rrr�visit_raise�s

zAsStringVisitor.visit_raisecsV|��r<t|jj�dkr<�fdd�|jjD�}dd�|�S|jrRd|j���SdS)z'return an astroid.Return node as string�csg|]}|����qSr)r
)rr)rrrr�sz0AsStringVisitor.visit_return.<locals>.<listcomp>z	return %sz, �return)Zis_tuple_return�lenr#rwrr
)rr
rwr)rr�visit_return�szAsStringVisitor.visit_returncCs|j�|�S)z&return an astroid.Index node as string)r#r
)rr
rrr�visit_index�szAsStringVisitor.visit_indexcsdd��fdd�|jD��S)z$return an astroid.Set node as stringz{%s}z, c3s|]}|���VqdS)N)r
)rr)rrrr�sz,AsStringVisitor.visit_set.<locals>.<genexpr>)rrw)rr
r)rr�	visit_set�szAsStringVisitor.visit_setcs*d|j���d��fdd�|jD��fS)z(return an astroid.SetComp node as stringz{%s %s}r@c3s|]}|���VqdS)N)r
)rr)rrrr�sz0AsStringVisitor.visit_setcomp.<locals>.<genexpr>)rnr
rrV)rr
r)rr�
visit_setcomp�s
zAsStringVisitor.visit_setcompcCs`|jr|j�|�nd}|jr(|j�|�nd}|jr>|j�|�nd}|rTd|||fSd||fS)z&return an astroid.Slice node as stringr8z%s:%s:%sz%s:%s)�lowerr
�upper�step)rr
r�r�r�rrr�visit_slice�szAsStringVisitor.visit_slicecCs^|j}|jj��dkr|j}|�|�}|jj��dkrH|jrH|dd�}d|�||j�|fS)z*return an astroid.Subscript node as string�index�tupler����z%s[%s])�slice�	__class__�__name__r�r#r
rwr)rr
�idxZidxstrrrr�visit_subscript�s
zAsStringVisitor.visit_subscriptcCsXd|�|j�g}x|jD]}|�|�|��qW|jrN|�d|�|j��d�|�S)z*return an astroid.TryExcept node as stringztry:
%szelse:
%sr	)rr<Zhandlersrqr
rdr)rr
Ztrys�handlerrrr�visit_tryexcept�szAsStringVisitor.visit_tryexceptcCsd|�|j�|�|j�fS)z+return an astroid.TryFinally node as stringztry:
%s
finally:
%s)rr<Z	finalbody)rr
rrr�visit_tryfinally�s
z AsStringVisitor.visit_tryfinallycs@t|j�dkr"d|jd���Sdd��fdd�|jD��S)z&return an astroid.Tuple node as stringr�z(%s, )rz(%s)z, c3s|]}|���VqdS)N)r
)rr)rrrr�sz.AsStringVisitor.visit_tuple.<locals>.<genexpr>)r�rwr
r)rr
r)rr�visit_tuple�szAsStringVisitor.visit_tuplecCs,|jdkrd}n|j}d||�||j�fS)z(return an astroid.UnaryOp node as string�notznot z%s%s)r&rZoperand)rr
�operatorrrr�
visit_unaryop�s
zAsStringVisitor.visit_unaryopcCs:d|j�|�|�|j�f}|jr6d||�|j�f}|S)z&return an astroid.While node as stringzwhile %s:
%sz%s
else:
%s)rr
rr<rd)rr
Zwhilesrrr�visit_while�szAsStringVisitor.visit_whilecs.d��fdd�|jD��}d|��|j�fS)z%return an astroid.With node as stringz, c3s6|].\}}d|���|r(d|���p*dVqdS)z%sz as %sr8N)r
)rrA�vars)rrrrsz-AsStringVisitor.visit_with.<locals>.<genexpr>zwith %s:
%s)rrSrr<)rr
rSr)rr�
visit_with�s
zAsStringVisitor.visit_withcCs8|jrd|j�|�nd}d|}|jjr.|Sd|fS)z!yield an ast.Yield node as stringr@r8�yieldz(%s))r#r
�parent�is_statement)rr
�yi_valrArrr�visit_yields
zAsStringVisitor.visit_yieldcCsd|j�|�S)zreturn Starred node as string�*)r#r
)rr
rrr�
visit_starredszAsStringVisitor.visit_starredcCs|j�|�S)N)r�r
)rr
rrr�visit_frozensetszAsStringVisitor.visit_frozensetcCs|j�|�S)N)r�r
)rr
rrr�visit_superszAsStringVisitor.visit_supercCst|�S)N)�str)rr
rrr�visit_uninferablesz!AsStringVisitor.visit_uninferableN)T)T)Mr��
__module__�__qualname__�__doc__rrrrrrrrrr!r$r'r)r*r-r/r1r7r?rBrErHrJrKrLrMrPrRrQrUrWrXrYr]r^r_rbrcrerkrmrorrprrrsrtrurvrxryrzr{r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr s�

		
	

						rcsteZdZdZdd�Zdd�Zdd�Zdd	�Z�fd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
�fdd�Z�ZS)�AsStringVisitor3z8AsStringVisitor3 overwrites some AsStringVisitor methodscCsT|jr<|jr*d|j�|�|j�|�f}q@d|j�|�}nd}d||�|j�fS)Nzexcept %s as %sz	except %srZz%s:
%s)r[r r
rr<)rr
r\rrrr]!s
z$AsStringVisitor3.visit_excepthandlercCsdd�|j�S)z)return an astroid.Nonlocal node as stringznonlocal %sz, )rrj)rr
rrr�visit_nonlocal.szAsStringVisitor3.visit_nonlocalcCs<|jr8|jr(d|j�|�|j�|�fSd|j�|�SdS)z&return an astroid.Raise node as stringzraise %s from %szraise %sr�)r��causer
)rr
rrrr�2s
zAsStringVisitor3.visit_raisecCs8|jrd|j�|�nd}d|}|jjr.|Sd|fS)z- Return an astroid.YieldFrom node as string. r@r8z
yield fromz(%s))r#r
r�r�)rr
r�rArrr�visit_yieldfrom=s
z AsStringVisitor3.visit_yieldfromcstt|��|�}d|��S)Nzasync )�superr�rm�strip)rr
�function)r�rr�visit_asyncfunctiondefFsz'AsStringVisitor3.visit_asyncfunctiondefcCsd|j�|�S)Nzawait %s)r#r
)rr
rrr�visit_awaitJszAsStringVisitor3.visit_awaitcCsd|�|�S)Nzasync %s)r�)rr
rrr�visit_asyncwithMsz AsStringVisitor3.visit_asyncwithcCsd|�|�S)Nzasync %s)re)rr
rrr�visit_asyncforPszAsStringVisitor3.visit_asyncforcs"d��fdd�|jD��}d|S)Nr8c3s,|]$}t|�jdkr|jn|���VqdS)ZConstN)r[r�r#r
)rr#)rrrrWsz3AsStringVisitor3.visit_joinedstr.<locals>.<genexpr>zf'%s')rr.)rr
�stringr)rr�visit_joinedstrSs
z AsStringVisitor3.visit_joinedstrcCsd|j�|�S)Nz{%s})r#r
)rr
rrr�visit_formattedvalue\sz%AsStringVisitor3.visit_formattedvaluecs"d|jrdndtt|��|�fS)z.return an astroid.Comprehension node as stringz%s%szasync r8)Zis_asyncr�r�rE)rr
)r�rrrE_sz$AsStringVisitor3.visit_comprehension)r�r�r�r�r]r�r�r�r�r�r�r�r�r�rE�
__classcell__rr)r�rr�s
		r�cCsFg}x6|D].\}}|dk	r.|�d||f�q
|�|�q
Wd�|�S)z5return a list of (name, asname) formatted as a stringNz%s as %sz, )rqr)rjZ_namesr Zasnamerrrrigsri)�rz    )r��sysrrr�ri�version_infoZto_coderrrr�<module>sI