File: //usr/lib/python3/dist-packages/sphinx/domains/__pycache__/c.cpython-310.pyc
o
u�a\ � @ sb d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZmZm
Z
ddlmZ ddlmZmZmZmZ ddlmZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlm Z ddl!m"Z" dd
l#m$Z$m%Z% ddl&m'Z' ddl(m)Z)m*Z* ddl+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZG ddlHmIZImJZJmKZK ddlLmMZM ddlNmOZO ddlPmQZQ e3�ReS�ZTed�ZUed ZVg d�ZWg d�ZXddgdd gd!d"gd#d$gd%d&gg d'�g d(�d)d*gd+d,gg d-�d.d/ggZYg d0�ZZg d1�Z[d2Z\g d3�Z]e�^d4ej_�Z`e�^d5�ZaG d6d7� d7eb�ZcG d8d9� d9e6�ZdG d:d;� d;e6�ZeG d<d=� d=ed�ZfG d>d?� d?ed�ZgG d@dA� dAeg�ZhG dBdC� dCeh�ZiG dDdE� dEeh�ZjG dFdG� dGeh�ZkG dHdI� dIeh�ZlG dJdK� dKeg�ZmG dLdM� dMeg�ZnG dNdO� dOed�ZoG dPdQ� dQeo�ZpG dRdS� dSeo�ZqG dTdU� dUeo�ZrG dVdW� dWeo�ZsG dXdY� dYeo�ZtG dZd[� d[eg�ZuG d\d]� d]eg�ZvG d^d_� d_eg�ZwG d`da� daeg�ZxG dbdc� dceg�ZyG ddde� deeg�ZzG dfdg� dged�Z{G dhdi� dieg�Z|G djdk� dkeg�Z}G dldm� dmed�Z~G dndo� doe~�ZG dpdq� dqe~�Z�G drds� dsed�Z�G dtdu� dued�Z�G dvdw� dwe6�Z�G dxdy� dyed�Z�G dzd{� d{ed�Z�G d|d}� d}ed�Z�G d~d� de��Z�G d�d�� d�e��Z�G d�d�� d�e��Z�G d�d�� d�e��Z�G d�d�� d�e7�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�ed�Z�G d�d�� d�e6�Z�G d�d�� d��Z�G d�d�� d��Z�G d�d�� d��Z�G d�d�� d�e8�Z�d�effd�d��Z�G d�d�� d�e"e� �Z�G d�d�� d�e��Z�eKd�e)d��d�d�d�d��eJd�e)d��d�d�d��eId�e)d��d�d�d��eId�e)d��d�d�d��gZ�G d�d�� d�e��Z�G d�dÄ d�e��Z�G d�dń d�e��Z�G d�dDŽ d�e��Z�G d�dɄ d�e��Z�G d�d˄ d�e��Z�G d�d̈́ d�e��Z�G d�dτ d�eM�Z�G d�dф d�eM�Z�G d�dӄ d�eM�Z�G d�dՄ d�ej�Z�G d�dׄ d�e/�Z�G d�dل d�e"�Z�G d�dۄ d�e-�Z�G d�d݄ d�e,�Z�G d�d߄ d�e$�Z�d�ed�ee�ef fd�d�Z�dS )�z�
sphinx.domains.c
~~~~~~~~~~~~~~~~
The C language domain.
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�Any�Callable�Dict� Generator�Iterator�List�Optional�Tuple�TypeVar�Union�cast)�nodes)�Element�Node�TextElement�system_message)�
directives)�addnodes)�pending_xref)�Sphinx)�Builder)�RemovedInSphinx50Warning)�ObjectDescription)�Domain�ObjType)�BuildEnvironment)�_�__)�
SphinxRole�XRefRole)�SphinxTransform)�ReferencesResolver)�logging)�ASTAttribute�ASTBaseBase�ASTBaseParenExprList�
BaseParser�DefinitionError�NoOldIdError�StringifyTransform�$UnsupportedMultiCharacterCharLiteral�anon_identifier_re�binary_literal_re�char_literal_re�float_literal_re�float_literal_suffix_re�hex_literal_re�
identifier_re�integer_literal_re�integers_literal_suffix_re�octal_literal_re�verify_description_mode)�Field�GroupedField�
TypedField)�SphinxDirective)�make_refnode)�
OptionSpec�T)� ASTStruct�ASTUnion�ASTEnum�
ASTEnumerator�ASTType�ASTTypeWithInit�ASTMacro)/�auto�break�case�char�const�continue�default�do�double�else�enum�extern�float�for�goto�if�inline�int�long�register�restrict�return�short�signed�sizeof�static�struct�switch�typedef�union�unsigned�void�volatile�while�_Alignas�_Alignof�_Atomic�_Bool�_Complex�
_Decimal32�
_Decimal64�_Decimal128�_Generic�
_Imaginary� _Noreturn�_Static_assert�
_Thread_local)�alignas�alignof�bool�complex� imaginary�noreturn�
static_assert�thread_localz||�orz&&�and�|�bitor�^�xor�&�bitand)z==z!=�not_eq)z<=z>=�<�>z<<z>>�+�-)�*�/�%z.*z->*)
�++�--r� r� r� r� �!�not�~�compl)�=z*=z/=z%=z+=z-=z>>=z<<=z&=�and_eqz^=�xor_eqz|=�or_eq� )N�c.zCv2.z>[LuU8]?('([^'\\]*(?:\\.[^'\\]*)*)'|"([^"\\]*(?:\\.[^"\\]*)*)")an (?x)
\b(
void|_Bool
|signed|unsigned
|short|long
|char
|int
|__uint128|__int128
|__int(8|16|32|64|128) # extension
|float|double
|_Decimal(32|64|128)
|_Complex|_Imaginary
|__float80|_Float64x|__float128|_Float128|__ibm128 # extension
|__fp16 # extension
|_Sat|_Fract|fract|_Accum|accum # extension
)\b
c @ s$ e Zd Zddd�Zdefd d
�ZdS )�_DuplicateSymbolError�symbol�Symbol�declaration�ASTDeclarationrY Nc C � |sJ �|sJ �|| _ || _d S �N)r� r� )�selfr� r� � r� �2/usr/lib/python3/dist-packages/sphinx/domains/c.py�__init__t �
z_DuplicateSymbolError.__init__c C s d| j �d� S )Nz%Internal C duplicate symbol error:
%sr )r� �dump�r� r� r� r� �__str__z � z_DuplicateSymbolError.__str__)r� r� r� r� rY N)�__name__�
__module__�__qualname__r� �strr� r� r� r� r� r� s s
r� c
@ s* e Zd Zdededdddddf
d d
�ZdS )�ASTBase�signode�mode�envr r� r� rY Nc C � t t| ���r� ��NotImplementedError�repr�r� r� r� r� r� r� r� r� �describe_signature � zASTBase.describe_signature)r� r� r� r r� r� r� r� r� r� r� ~ s
���r� c @ s| e Zd Zdeddfdd�Zdedefdd�Zdefd d
�Zdefdd�Z defd
d�Z
dededddeddddfdd�ZdS )�
ASTIdentifier�
identifierrY Nc C s&