m&-D d Z ddlmZ ddlmZ ddlmZ ddlmZ er ddl m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZmZ dZ G d d
Zdd
Z ed ZdS )z+This module renders Astroid nodes as string )annotations)Iterator)
TYPE_CHECKING)nodes)Const)MatchMatchAs MatchCase
MatchClassMatchMappingMatchOr
MatchSequenceMatchSingleton MatchStar
MatchValueUnknown c e Zd ZdZdvdwdZdxdZdyd
Zdzd{dZdzd|dZd}dZ dxdZ
dxdZdxdZdxdZ
dxdZdxdZdxdZdxdZdxdZdxdZdxdZdxdZdxdZdxd Zdxd!Zdxd"Zdxd#Zdxd$Zdxd%Zdxd&Zdxd'Zdxd(Zdxd)Z dxd*Z!d~d,Z"dxd-Z#dxd.Z$dxd/Z%dxd0Z&dxd1Z'dxd2Z(dxd3Z)dxd4Z*dxd5Z+dxd6Z,dxd7Z-dxd8Z.dxd9Z/dxd:Z0dxd;Z1dxd<Z2dxd=Z3dxd>Z4dxd?Z5dxd@Z6dxdAZ7dxdBZ8dxdCZ9dxdDZ:dxdEZ;dxdFZdxdIZ?dxdJZ@dxdKZAdxdLZBdxdMZCdxdNZDdxdOZEdxdPZFdxdQZGdxdRZHdxdSZIdxdTZJdxdUZKdxdVZLdxdWZMdxdXZNdd[ZOdd]ZPdd_ZQeRdda ZSddcZTddeZUddgZVddiZWddkZXddmZYdn ZZdo Z[dp Z\dq Z]dr Z^ddtZ_duS )AsStringVisitorz?Visitor to render an Astroid node as a valid python code string indentstrc || _ d S Nr )selfr s i/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/astroid/nodes/as_string.py__init__zAsStringVisitor.__init__( s
! returnc ^ | | t d S )z.Makes this visitor behave as a simple function
)acceptreplaceDOC_NEWLINEr nodes r __call__zAsStringVisitor.__call__+ s$ {{4 ((d;;;r doc_nodeConst | Nonec | |sdS d | j |j dt S )z7Stop newlines in docs being indented by self._stmt_list z
{}"""{}"""r" )formatr valuer$ r% )r r) s r _docs_dedentzAsStringVisitor._docs_dedent/ s@ 2$$K//kBB
r Tstmtslistboolc d d fd|D D }|s|S j | dd j z z S )z return a list of nodes to stringr" c 3 K | ]}||V d S r ).0nstrs r z-AsStringVisitor._stmt_list..: s; #
#
#
#
#
#
#
#
#
r c : g | ]}| S r5 r# r6 nr s r
z.AsStringVisitor._stmt_list..; s# <<<ahhtnn<<