| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/lib/python3.9/site-packages/sphinx/pycode/__pycache__/ |
Upload File : |
a
�abUS � @ sz d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlm Z m
Z
mZmZm
Z
mZmZ ddlmZmZ ddlmZmZmZmZmZ ddlmZ dd lmZmZ e�d
�Ze�d�Ze�d�Ze e d
�dd�Z!ej"eej# d�dd�Z$d%ej"ej%ee d�dd�Z&e e d�dd�Z'G dd� d�Z(G dd� d�Z)G dd� de)�Z*G dd � d ej+�Z,G d!d"� d"e)�Z-G d#d$� d$�Z.dS )&z�
sphinx.pycode.parser
~~~~~~~~~~~~~~~~~~~~
Utilities parsing and analyzing Python code.
:copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�OrderedDict)� Signature)�DEDENT�INDENT�NAME�NEWLINE�NUMBER�OP�STRING)�COMMENT�NL)�Any�Dict�List�Optional�Tuple)�ast)�parse�unparsez^\s*#: ?(.*)
?
?$z^\s*$z^\s*(#.*)?$)�code�returnc C s | � dd�S )N�� )�replace)r � r �8/usr/lib/python3.9/site-packages/sphinx/pycode/parser.py�filter_whitespace s r ��noder c C s t | tj�r| jS | jgS dS )z3Get list of targets from Assign and AnnAssign node.N)�
isinstancer �Assign�targets�target)r r r r �get_assign_targets s r# )r �selfr c C s |r
|j }| jj}|dv r(td| ��n�|dkrX|du sB| j|krJ| jgS td| ��n�|dv r�g }| jD ],}z|�t||�� W qj ty� Y qj0 qj|S |dkr�| jjjdkr�|r�| jj|kr�dt| j |�d gS td| ��n0|d
kr�| gS |dk�r
t| j|�S t
d| ��dS )
z�Convert assignment-AST to variable names.
This raises `TypeError` if the assignment does not create new variable::
ary[0] = 'foo'
dic["bar"] = 'baz'
# => TypeError
)ZIndexZNumZSlice�StrZ Subscriptz%r does not create new variable�NameNz*The assignment %r is not instance variable)r r Z Attributez%sr �strZStarredzUnexpected node name %r)�arg� __class__�__name__� TypeError�id�elts�extend�get_lvar_names�value�attr�NotImplementedError)r r$ Zself_idZ node_name�members�eltr r r r/ ( s4
r/ )�sr c C s: dd�dd�}| |_ t�|�}|r2|�d��d�S dS dS )z1Remove common leading indentation from docstring.N�r c S s d S �Nr r r r r �dummyT s zdedent_docstring.<locals>.dummyz
� )�__doc__�inspectZgetdoc�lstrip�rstrip)r5 r8 � docstringr r r �dedent_docstringR s
r? c @ sf e Zd ZdZeeeeef eeef edd�dd�Zee d�dd�Z
ee d �d
d�Zed�d
d�ZdS )�Tokenz)Better token wrapper for tokenize module.N)�kindr0 �start�end�sourcer c C s"