
    ?e*                     X   d dl mZmZ d dlmZ d dlmZmZmZm	Z	m
Z
 ddlmZ  G d de          Z G d d	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d  d!e          Z G d" d#e          Ze G d$ d%                      Ze G d& d'                      Ze G d( d)                      Ze G d* d+                      Ze G d, d-                      Z e G d. d/                      Z!e G d0 d1                      Z"e G d2 d3                      Z#e G d4 d5                      Z$e G d6 d7                      Z%e G d8 d9                      Z&e G d: d;                      Z'e G d< d=                      Z(e G d> d?                      Z)e G d@ dA                      Z*e G dB dC                      Z+e G dD dE                      Z,e G dF dG                      Z-e G dH dI                      Z.e G dJ dK                      Z/e G dL dM                      Z0e G dN dO                      Z1e G dP dQ                      Z2e G dR dS                      Z3e G dT dU                      Z4e G dV dW                      Z5e G dX dY                      Z6e G dZ d[                      Z7e G d\ d]                      Z8e G d^ d_                      Z9e G d` da                      Z:e G db dc                      Z;e G dd de                      Z<dfS )g    )	dataclassfield)Enum)AnyDictListOptionalUnion   )
ScopedNamec                       e Zd ZdZdZdZdZdS )AccessSpecifierz The class access specifiers.       r   N)__name__
__module____qualname____doc__PRIVATE	PROTECTEDPUBLIC     @lib/python3.11/site-packages/sipbuild/generator/specification.pyr   r      s)        ((
 G I FFFr   r   c                       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.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<S )=ArgumentTypez The types of either C/C++ or Python arguments.  The numerical values of
    these can occur in generated code so so types must always be appended and
    old (unused) types must never be removed.
    r   r   r      r               	   
                                                                      !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   1   2   3   4   5   6   7   8   9   N)>r   r   r   r   NONEDEFINEDCLASSSTRUCTVOIDENUMTEMPLATESIGNAL_UNUSEDSLOT_UNUSEDRXCON_UNUSEDRXDIS_UNUSEDSLOTCON_UNUSEDSLOTDIS_UNUSEDUSTRINGSTRINGSHORTUSHORTCINTINTUINTLONGULONGFLOATCFLOATDOUBLECDOUBLEBOOLMAPPEDPYOBJECTPYTUPLEPYLISTPYDICT
PYCALLABLEPYSLICEQOBJECT_UNUSEDFUNCTIONPYTYPEELLIPSISLONGLONG	ULONGLONGANYSLOT_UNUSEDCBOOLSSTRINGWSTRING	FAKE_VOIDSSIZEASCII_STRINGLATIN1_STRINGUTF8_STRINGBYTESBYTEUBYTECAPSULEPYBUFFERSIZEPYENUMUNIONHASHr   r   r   r   r   .   s         D G E F D D H M K L L N N G F E F D C D D E E F F G D F H G F F J G N H F H H I N E G G I E L M K D E E G H D F E DDDr   r   c                       e Zd ZdZdZdZdZdS )ArrayArgumentz, The array support provided by an argument. r   r   r   N)r   r   r   r   ARRAY
ARRAY_SIZErS   r   r   r   r   r      s)        66
 E J DDDr   r   c                       e Zd ZdZdZdZdZdS )ClassKeyz5 The key that identifies a particular type of class. r   r   r   N)r   r   r   r   rU   rV   r   r   r   r   r   r      s)        ??
 E F EEEr   r   c                       e Zd ZdZdZdZdS )DocstringFormatz6 The formatting applied to the text of the docstring. r   r   N)r   r   r   r   
DEINDENTEDRAWr   r   r   r   r     s"        @@ J CCCr   r   c                       e Zd ZdZdZdZdZdS )DocstringSignaturez The position of the automatically generated function or method
    signature relative to the docstring text.  In the context of a class's
    docstring then it applies to all the class's ctors.
    r   r   r   N)r   r   r   r   APPENDED	DISCARDED	PREPENDEDr   r   r   r   r     s-          H I IIIr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )EnumBaseTypez& The different base types fo an enum. r   r   r   r   r   N)	r   r   r   r   rX   FLAGINT_ENUMINT_FLAGUNSIGNED_INT_ENUMr   r   r   r   r   !  s:        00
 D D H H r   r   c                       e Zd ZdZdZdZdZdS )	GILActionz: The action to take with the GIL when calling C/C++ code. r   r   r   N)r   r   r   r   DEFAULTHOLDRELEASEr   r   r   r   r   6  s)        DD
 G D GGGr   r   c                   "    e Zd ZdZdZdZdZdZdS )IfaceFileTypez  The type of an interface file. r   r   r   r   N)r   r   r   r   	EXCEPTIONMAPPED_TYPE	NAMESPACErU   r   r   r   r   r   E  s0        **
 I K I EEEr   r   c                       e Zd ZdZdZdZdZdS )KwArgszA The level of support for passing argument as keyword arguments. r   r   r   N)r   r   r   r   ALLrS   OPTIONALr   r   r   r   r   W  s)        KK
 C D HHHr   r   c                       e Zd ZdZdZdZdS )PyQtMethodSpecifierz% The PyQt-specific method specifier. r)   r!   N)r   r   r   r   SIGNALSLOTr   r   r   r   r   g  s"        //
 F DDDr   r   c                       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.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<S )=PySlotz= The Python slots corresponding to entries in a type object. r   r   r   r   r   r   r   r    r!   r"   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   :   ;   <   N)>r   r   r   r   STRre   ri   LENCONTAINSADDCONCATSUBMULREPEATMODFLOORDIVTRUEDIVANDORXORLSHIFTRSHIFTIADDICONCATISUBIMULIREPEATIMOD	IFLOORDIVITRUEDIVIANDIORIXORILSHIFTIRSHIFTINVERTCALLGETITEMSETITEMDELITEMLTLEEQNEGTGErm   NEGPOSABSREPRr   INDEXITERNEXTSETATTRDELATTRMATMULIMATMULAWAITAITERANEXTr   r   r   r   r   s  s       GG
 C C E C H C F C C F C H G C 
B C F F D G D D G D I H D C D G G F D G G G 
B 
B 
B 
B 
B 
B D C C C D D E D D G G F G E E EEEr   r   c                       e Zd ZdZdZdZdZdS )QualifierTypez6 The type of a qualifier used in %If/%End directives. r   r   r   N)r   r   r   r   FEATUREPLATFORMTIMEr   r   r   r   r   '  s)        @@
 G H DDDr   r   c                   "    e Zd ZdZdZdZdZdZdS )Transferz, The different types of ownership transfer. r   r   r   r   N)r   r   r   r   rS   TRANSFERTRANSFER_BACKTRANSFER_THISr   r   r   r   r   6  s0        66
 D H M MMMr   r   c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
	ValueTypez2 The different types of a value in an expression. r   r   r   r   r   r   r   N)r   r   r   r   QCHARra   NUMERICREALSCOPEDFCALLEMPTYr   r   r   r   r   H  sE        <<
 E F G D F E EEEr   r   c                      e Zd ZU dZeed<   dZeed<   ej	        Z
eed<   dZeed                  ed<   dZeed	<    ee
          Zee         ed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZee         ed<   dZed         ed<   dZeed<   dZed         ed<   dZeed<   dZ eed<   dZ!ed         ed<   e"j	        Z#e"ed<   dZ$ed         ed <   dS )!ArgumentzE Encapsulate a callable argument (or return value or variable type). typeF
allow_nonearrayNValuedefault_value
definitiondefault_factoryderefsdisallow_noneget_wrapperis_constis_constrainedis_inis_outis_referencekey
CachedNamenameno_copyWrappedTypedeforiginal_typedefresult_sizer   scopes_strippedSourceLocationsource_locationtransfer	TypeHints
type_hints)%r   r   r   r   r   __annotations__r  boolr   rS   r  r  r	   r   r  r   r   listr  r  r  r  r  r  r  r  r  intr  r  r  r  r  r  r   r  r  r   r   r   r  r  c  s        OO  J )-E=--- .2M8DM*111 J t444FDJ444  M4 K Hd !ND    E4 FD L$ C# $(D(<
 ''' GT 48h/0777 K OS 37OX./666 "Hh&&& )-J%,,,,,r   r  c                   N    e Zd ZU dZeed<   dZeed<   dZe	ed<   dZ
eed<   d Zd	S )
r  zR Encapsulate a name that may be needed as a string in the generated
    code.
    r  Fis_substringr   offsetusedc                     | j         S )z# Return the string representation. )r  selfs    r   __str__zCachedName.__str__  s     yr   N)r   r   r   r   strr   r%  r!  r&  r#  r'  r+  r   r   r   r  r    sm          
 III L$ FCOOO D$    r   r  c                   :    e Zd ZU dZeed<   dZeed<   dZeed<   dS )	CodeBlockz@ Encapsulate a code block, ie. the literal body of a directive. sip_filer   line_nr textN)	r   r   r   r   r,  r   r0  r#  r2  r   r   r   r.  r.    sB         JJ MMM GS D#NNNNNr   r.  c                   ^   e Zd ZU dZeed<   ded<   dZed         ed<   dZe	ed<   dZ
ed	         ed
<   ej        Zeed<   dZe	ed<   ej        Zeed<   dZee         ed<   dZe	ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZe	ed<   dZed         ed<   ej        Zeed<   dS )Constructorz Encapsulate a constructor. access_specifier	Signaturepy_signatureNcpp_signatureF
deprecated	Docstring	docstring
gil_actionis_castkw_argsmethod_codeno_type_hintposthookprehookpremethod_coderaises_py_exceptionThrowArguments
throw_argsr  )r   r   r   r   r   r   r8  r	   r9  r!  r;  r   r   r<  r=  r   rS   r>  r?  r.  r@  rA  r,  rB  rC  rD  rF  r   r  r   r   r   r4  r4    sZ        && &%%%  ,0M8K(/// J (,Ix$+++ &-J	--- GT kGV!!! (,K)$+++ L$ #Hhsm""" "GXc]!!! +/NHY'... !&%%% .2J)*111 "Hh&&&&&r   r4  c                   (    e Zd ZU dZeed<   eed<   dS )r:  z Encapsulate a docstring. 	signaturer2  N)r   r   r   r   r   r   r,  r   r   r   r:  r:    s/         $$ "!!! IIIIIr   r:  c                   2    e Zd ZU dZeed<   eed<   eed<   dS )Extractz# Encapsulate a part of an extract. idorderr2  N)r   r   r   r   r,  r   r#  r   r   r   rJ  rJ    s7         -- 	GGG JJJ IIIIIr   rJ  c                   @    e Zd ZU dZeed<   eed                  ed<   dS )FunctionCallz4 Encapsulate a call to a function in an expression. resultr  argsN)r   r   r   r   r  r   r   r   r   r   rN  rN    s=         >>  tG}
r   rN  c                       e Zd ZU dZeed<   dZee         ed<   dZ	ee
         ed<   dZee         ed<   dZeed<   dZed	         ed
<   dZeed<    ee          Zee         ed<    ee          Zed          ed<   dS )	IfaceFilez= Encapsulate an interface file, ie. a generated source file. r  Ncpp_namefile_extensionfq_cpp_nametype_nrModulemoduleFneededr	  type_header_coder'  )r   r   r   r   r   r   rS  r	   r  rT  r,  rU  r   rW  r#  rY  rZ  r!  r   r"  r[  r   r.  r'  r   r   r   rR  rR  *  s         GG 
 &*Hhz"))) %)NHSM((( )-K*%,,, GS "&FHX%%% FD ).d(C(C(Cd9oCCC $eD999D${
99999r   rR  c                   l    e Zd ZU dZeed<   dZee         ed<   dZee         ed<   dZ	ee         ed<   dS )Licensez Encapsulate a license. r  Nlicensee	timestamprH  )
r   r   r   r   r,  r   r^  r	   r_  rH  r   r   r   r]  r]  O  se         "" III #Hhsm"""  $Ix}###  $Ix}#####r   r]  c                      e Zd ZU dZeed<   eed<   dZee	         ed<   dZ
ee	         ed<   dZee         ed<   dZeed	<   dZee	         ed
<    ee          Zed         ed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<    ee          Zed         ed<   dZee         ed<   dZeed<   dZee	         ed<    ee          Zee	         ed<   dZee	         ed<   dZ ed         ed<   dS )
MappedTypez Encapsulate a mapped type. 
iface_filer  Nconvert_from_type_codeconvert_to_type_coderS  Fhandles_noneinstance_coder	  Membermembersneeds_user_stateno_assignment_operatorno_copy_ctorno_default_ctor
no_releaseOverload	overloadspy_namer   
pyqt_flagsrelease_code	type_codetype_hint_coder  r  )!r   r   r   r   rR  r   r  rc  r	   r.  rd  rS  r  re  r!  rf  r   r"  rh  r   ri  rj  rk  rl  rm  ro  rp  rq  r#  rr  rs  rt  r  r   r   r   ra  ra  `  s        &&  NNN 37HY/666 15(9-444 &*Hhz"))) L$ *.M8I&--- $eD999GT(^999 #d""" $)D((( L$ "OT!!! J #(%"="="=ItJ=== %)GXj!((( J )-L(9%,,, "'t!<!<!<ItI<<< +/NHY'... )-J%,,,,,r   ra  c                   (    e Zd ZU dZeed<   ded<   dS )MappedTypeTemplatez% Encapsulate a mapped type template. mapped_typer6  rH  N)r   r   r   r   ra  r   r   r   r   rv  rv    s4         //  r   rv  c                       e Zd ZU dZded<   eed<   dZeed<   dZeed<   dZ	eed<   dZ
eed	<   d
Zee         ed<   dZeed<   d
Zee         ed<   d
S )rg  z  Encapsulate a member function. rX  rY  rp  Fallow_keyword_argshas_protected
is_numericis_sequenceNnamespace_iface_fileno_arg_parserpy_slot)r   r   r   r   r   r  ry  r!  rz  r{  r|  r}  r	   rR  r~  r  r   r   r   r   rg  rg    s         **    %$$$  M4 J K 15(9-444  M4 !%GXf$$$$$r   rg  c                      e Zd ZU dZ ee          Zed          ed<   dZ	e
ed<    ee          Zee         ed<   ej        Zeed<   ej        Zeed<   d	Zed
         ed<   d	Zee         ed<   d	Zee         ed<   d	Zee         ed<   d	Zee         ed<   d	Zee         ed<    ee          Zee         ed<   dZe
ed<    ee          Z ed          ed<    ee          Z!ee         ed<   d	Z"ee#         ed<    ee          Z$ee         ed<    ee          Z%ee         ed<   dZ&e'ed<   dZ(e'ed<    ee          Z)ee*         ed<   dZ+e'ed<   dZ,e'ed<    ee          Z-ed         ed <    ee          Z.ee         ed!<    ee          Z/ed"         ed#<    ee          Z0ee         ed$<   d	Z1ee         ed%<   dZ2e
ed&<    ee          Z3ed'         ed(<    ee          Z4ee         ed)<    ee          Z5ee         ed*<    ee          Z6ee         ed+<   dZ7e
ed,<   dZ8e
ed-<    ee          Z9ee:         ed.<   d	S )/rX  z Encapsulate a module. r	  all_importsFcall_super_initcopyingdefault_docstring_formatdefault_docstring_signatureNWrappedExceptiondefault_exceptiondefault_metatypedefault_supertypedefault_virtual_error_handlerr;  
fq_py_nameglobal_functionshas_delayed_dtorsimportsinitialisation_codelicensemodule_codemodule_header_coderV  next_keyr   nr_exceptionsneeded_typesnr_typedefsnr_virtual_error_handlersrn  ro  postinitialisation_codeWrappedClassproxiespreinitialisation_coderp  py_ssize_t_clean	Qualifier
qualifiersrt  	unit_codeunit_postinclude_codeuse_arg_namesuse_limited_apir'  );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  r  rg  r  r  r  r  r]  r  r  r  r#  r  r  r  r  r  ro  r  r  r  rp  r  r  rt  r  r  r  r  r'  rR  r   r   r   rX  rX    s        !! #(%"="="=Kh=== "OT!!!  %uT:::GT)_::: 1@0CoCCC 7I6R!3RRR 7;x 23::: .2hz*111 /3x
+222 48!8C=777 &*Ix	"))) (,J$+++ &+U4%@%@%@d6l@@@ $t### $eD999GT(^999 ,15+F+F+FiFFF "&GXg%%% $)5#>#>#>Ki>>> +0%*E*E*EYEEE Hc M3 $)5#>#>#>L$x.>>> K &'s&&& #(%"="="=ItJ=== 05uT/J/J/JT)_JJJ %*E$$?$?$?GT.!??? /4eD.I.I.IDOIII "GXc]!!! #d""" %*E$$?$?$?J[!??? ',eD&A&A&ANDOAAA "'t!<!<!<ItI<<< .3U4-H-H-H4	?HHH  M4 "OT!!! "E$777D$y/77777r   rX  c                      e Zd ZU dZee         ed<   eed<   eed<   ded<   ded<   dZ	e
ed	<   dZe
ed
<   dZe
ed<   dZee         ed<   dZe
ed<   ej        Zeed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   ej         Z!eed<   dZ"ee#         ed<   dZ$e
ed<   dZ%e
ed<   dZ&e
ed <   dZ'ee         ed!<   dZ(ee         ed"<   dZ)ee#         ed#<   dZ*ee+         ed$<   dZ,e
ed%<   dZ-ed&         ed'<   dZ.ed(         ed)<   e/j         Z0e/ed*<   dZ1ee#         ed+<   dZ2ee#         ed,<   dZ3ee         ed-<   dS ).rn  z, Encapsulate an overloaded member function. r5  commonrS  r6  r8  r7  Fabort_on_exceptionaccess_is_really_protectedr9  Nr;  factoryr<  is_abstractis_auto_generatedis_complementaryr  
is_delattris_final	is_globaldont_deref_selfis_reflected	is_static
is_virtualis_virtual_reimplementationr>  r?  
new_threadr@  no_virtual_error_handlerrA  rB  rC  pyqt_method_specifierrD  r  r  rE  rF  r  virtual_call_codevirtual_catcher_codevirtual_error_handler)4r   r   r   r   r	   r   r   rg  r,  r  r!  r  r9  r;  r:  r  r   r   r<  r  r  r  r  r  r  r  r  r  r  r  r  r   rS   r>  r?  r.  r  r@  r  rA  rB  rC  r  r   rD  r  rF  r   r  r  r  r  r   r   r   rn  rn  @  s        66 //// NNN MMM    %$$$ (-,,, J &*Ix	"))) GT &-J	--- K $t### #d""" Hd J Hd It "OT!!! L$ It J ).--- kGV!!! (,K)$+++ J L$ &+d*** #Hhsm""" "GXc]!!! +/NHY'... <@8$78??? !&%%% 37OX./666 .2J)*111 "Hh&&& .2x	*111 15(9-444 ,08C=/////r   rn  c                   \    e Zd ZU dZeed<   eed<   dZee	         ed<   dZ
ee         ed<   dS )Propertyz Encapsulate a property. getterr  Nr;  setter)r   r   r   r   r,  r   r  r;  r	   r:  r  r   r   r   r  r    s^         ## KKK  &*Ix	"))) !FHSM     r   r  c                   \    e Zd ZU dZded<   eed<   eed<   dZeed<   dZ	e
ed	<   dZe
ed
<   dS )r  z6 Encapsulate a qualifier used in %If/%End directives. rX  rY  r  r  Fenabled_by_defaultr   rL  timelineN)r   r   r   r   r   r,  r   r  r!  rL  r#  r  r   r   r   r  r    ss         @@  III   %$$$ E3NNN Hcr   r  c                   \    e Zd ZU dZ ee          Zee         e	d<   dZ
ee         e	d<   dS )r6  z: Encapsulate a signature (including the optional result). r	  rP  NrO  )r   r   r   r   r   r"  rP  r   r  r   rO  r	   r   r   r   r6  r6    sR         DD !5666D$x.666 "&FHX%%%%%r   r6  c                   :    e Zd ZU dZeed<   dZeed<   dZeed<   dS )r  z/ Encapsulate a location in a .sip source file. r/  r   columnlineN)	r   r   r   r   r,  r   r  r#  r  r   r   r   r  r    s?         99 MMM FCOOO D#MMMMMr   r  c                   l   e Zd ZU dZeed<   eed<   ee         ed<   dZ	eed<    e
e          Zed         ed	<    e
e          Zed
         ed<    e
e          Zed         ed<    e
e          Zee         ed<    e
e          Zee         ed<    e
e          Zee         ed<    e
e          Zee         ed<   dZeed<    e
e          Zee         ed<    e
e          Zee         ed<    e
e          Zeed<    e
e          Ze e!ee"         f         ed<   dZ#e!ed<    e
e          Z$ee         ed<   dZ%ed         ed<    e
e          Z&ed         ed<    e
e          Z'ed         ed<    e
e          Z(ed          ed!<    e
e          Z)ed"         ed#<   d$ Z*dS )%Specificationz! Encapsulate a parsed .sip file. abi_version	is_strict
sip_moduleF
c_bindingsr	  r  classesWrappedEnumenumsr  
exceptionsexported_header_codeexported_type_hint_codeextractsiface_filesis_compositemapped_type_templatesmapped_typesrY  
name_cacher   nr_virtual_handlerspluginsNpyqt_qobjectr  typedefsWrappedVariable	variablesVirtualErrorHandlervirtual_error_handlersVirtualHandlervirtual_handlersc                      t          |           S )zL Reimplemented so a Specification object can be used as a dict key.
        )rK  r)  s    r   __hash__zSpecification.__hash__G  s     $xxr   )+r   r   r   r   tupler   r!  r	   r,  r  r   r"  r  r   r  r  r  r.  r  r  rJ  r  rR  r  r  rv  r  ra  rX  rY  dictr  r   r#  r  r  r  r  r  r  r  r  r  r   r   r   r  r    s        ++  OOO  J %*E$$?$?$?GT.!??? "'t!<!<!<E4<<< ,15+F+F+FJ'(FFF -2E$,G,G,G$y/GGG 05uT/J/J/JT)_JJJ $eD999Hd7m999 $)5#>#>#>Ki>>> L$ 7<eD6Q6Q6Q4 23QQQ &+U4%@%@%@L$z"@@@ U6222FF222 /4eD.I.I.IJS$z**+III  !    t444GT#Y444 .2L(>*111 (-uT'B'B'BHd#$BBB */t)D)D)DIt%&DDD ;@%PT:U:U:UD!67UUU 05uT/J/J/Jd+,JJJ    r   r  c                   (    e Zd ZU dZeed<   eed<   dS )Templatez Encapsulate a template. rS  typesN)r   r   r   r   r   r   r6  r   r   r   r  r  N  s4         ##  r   r  c                   :    e Zd ZU dZdZeed                  ed<   dS )rE  z- Encapsulate the arguments to a C++ throw(). Nr  	arguments)r   r   r   r   r  r	   r   r   r   r   r   rE  rE  Y  s5         77 59Ix/0188888r   rE  c                   V    e Zd ZU dZee         ed<   ee         ed<   ee         ed<   dS )r  z5 Encapsulate a set of PEP 484 type hints for a type. hint_inhint_outr  N)r   r   r   r   r	   r,  r   r   r   r   r  r  b  sN         ?? c] sm C=     r   r  c                       e Zd ZU dZeed<   eeee	e
eef                  ed<   dZee         ed<   dZee         ed<   dZee         ed<   dS )r  z Encapsulate a literal value. 
value_typevalueNbinary_operatorcastunary_operator)r   r   r   r   r   r   r	   r
   r,  r#  floatrN  r   r  r  r  r   r   r   r  r  p  s         ((  E#sE<CDEEEE &*OXc]))) "&D(:
%%% %)NHSM(((((r   r  c                   @    e Zd ZU dZeed<   eed<   eed<   dZe	ed<   dS )r  z& Encapsulate a virtual error handler. coderY  r  rV  
handler_nrN)
r   r   r   r   r.  r   rX  r,  r  r#  r   r   r   r  r    sK         00 OOO NNN III Jr   r  c                   r    e Zd ZU dZeed<   eed<   ee         ed<   eed<   dZ	e
ed<   dZeed	<   dZe
ed
<   dS )r  z4 Encapsulate a virtual overload handler. (resolver) r8  r7  r  r  Fr  rV  r  transfer_resultN)r   r   r   r   r6  r   r	   r.  r  r  r!  r  r#  r  r   r   r   r  r    s         >>   #9---- /...  %$$$ J "OT!!!!!r   r  c                   4    e Zd ZU dZeed<   ee         ed<   dS )VirtualOverloadz> Encapsulate a virtual overloaded member function. (resolver) overloadhandlerN)r   r   r   r   rn  r   r	   r  r   r   r   r  r    s9         HH  n%%%%%%r   r  c                   (    e Zd ZU dZeed<   ded<   dS )VisibleMemberz3 Encapsulate a visible member function. (resolver) memberr  scopeN)r   r   r   r   rg  r   r   r   r   r  r    s1         == NNN r   r  c                      e Zd ZU dZeed<   eed<   ed          ed<   dZee	         ed<   dZ
ee	         ed<   dZeed	<   dZeed
<   dZeed<    ee          Zee         ed<   dZee         ed<   dZee	         ed<   dZee	         ed<   dZee	         ed<    ee          Zee         ed<    ee          Zee	         ed<   dZee         ed<   dZeed<   dZeed<   dZee          ed<   dZ!ee"         ed<   e#j$        Z%e#ed<   dZ&ee'         ed<   dZ(ee	         ed<   dZ)eed<   dZ*eed<   dZ+ee	         ed<   dZ,ee	         ed<   dZ-ee	         ed <   dZ.eed!<   dZ/eed"<   dZ0eed#<   dZ1eed$<   dZ2ee	         ed%<   dZ3eed&<   dZ4eed'<   dZ5eed(<   dZ6eed)<   dZ7eed*<   dZ8eed+<   dZ9ee:         ed,<    ee          Z;ee<         ed-<   dZ=ee         ed.<   dZ>eed/<    ee          Z?ed          ed0<   dZ@eed1<   dZAeed2<   dZBeed3<   dZCeed4<   dZDeed5<   dZEeed6<    ee          ZFeeG         ed7<   dZHee	         ed8<    ee          ZIeeJ         ed9<   d:ZKeLed;<   dZMeee:                  ed<<   dZNee:         ed=<   dZOeed><   dZPed          ed?<   dZQed          ed@<    ee          ZRed          edA<   dZSee         edB<   dZTeeU         edC<    ee          ZVee	         edD<   dZWee	         edE<   dZXeeY         edF<   dZZee:         edG<    ee          Z[ee\         edH<    ee          Z]ee^         edI<   dS )Jr  z; Encapsulate a wrapped C/C++ namespace/class/struct/union. rb  rp  r  Nbi_get_buffer_codebi_release_buffer_codeF
can_createcannot_assigncannot_copyr	  casts	class_keyrc  convert_to_subclass_coderd  ctorsdealloc_codedefault_ctor
delay_dtorr9  r;  dtordtor_gil_actiondtor_throw_argsdtor_virtual_catcher_codeexport_derivedexternalfinalisation_codegc_clear_codegc_traverse_codere  has_nonlazy_method
has_shadowhas_variable_handlersrf  r  is_hidden_namespaceis_incomplete	is_opaqueis_protected
is_qobjectlen_cpp_namerh  metatypemixinmroneeds_array_helperneeds_copy_helperneeds_shadowno_default_ctorsr@  no_type_namero  pickle_code
propertiesr   rq  pyqt_flags_enumspyqt_interfacepyqt_no_qmetaobject
real_classsubclass_basesuperclasses	supertypetemplaters  rt  r  r  virtual_overloadsvisible_members)_r   r   r   r   rR  r   r  r	   r  r.  r  r  r!  r  r  r   r"  r  r   r  r  r   rc  r  rd  r	  r4  r
  r  r  r9  r;  r:  r  r   r   r   r  r  rE  r  r  r  r  r  r  re  r  r  r  rf  r  r  r  r  r  r  r  r,  rh  rg  r  r   r!  r"  r#  r$  r%  r@  r&  ro  rn  r'  r(  r  rq  r#  r)  r*  r+  r,  r-  r.  r/  r0  r  rs  rt  r  r  r  r1  r  r2  r  r   r   r   r  r    s6        EE   N#### /3+222 37HY/666 J  M4 K "E$777E4>777 %)Ix!((( 37HY/666 59hy1888 15(9-444  %uT:::E4::: %*E$$?$?$?L$y/??? +/L(;'... J J &*Ix	"))) '+D(?
#*** "+!2OY222 15OXn-444 6:x	2999 !ND    Hd .2x	*111 *.M8I&--- -1hy)000 L$  %$$$ J #(4''' *.M8I&--- K !&%%%  M4 It L$ J #'L(3-&&& "E$777GT&\777 &*Hhz"))) E4 !&d ; ; ;Cn	;;;  %$$$ $t### L$ #d""" L$ L$ !&d ; ; ;ItH~;;; (,K)$+++ "'t!<!<!<JX<<< J -1htCy)000 %)NHSM((( !&%%% ,0J(/// /3M8N+222 */t)D)D)DL$~&DDD '+Ix
#*** $(Hhx ''' "'t!<!<!<ItI<<< +/NHY'... '+J#*** ,08C=/// 05uT/J/J/JtO,JJJ ,15+F+F+FOT-(FFFFFr   r  c                   z   e Zd ZU dZeed<   ee         ed<   eed<   dZ	ee
         ed<   dZeed<   dZeed	<    ee
          Zed         ed<   dZeed<   dZeed<   dZeed<    ee
          Zed         ed<   dZee
         ed<   dZeeeef                  ed<    ee
          Zee         ed<   dZeed<   dS )r  z Encapsulate a wrapped enum. 	base_typerU  rY  Ncached_fq_cpp_nameFr  	is_scopedr	  WrappedEnumMemberrh  rZ  no_scoper@  rn  ro  rp  r  slotsrV  rW  )r   r   r   r   r   r   r	   r   rX  r5  r  r  r!  r6  r   r"  rh  r   rZ  r8  r@  ro  rp  r  r
   ra  r  r9  rg  rW  r#  r   r   r   r  r    sl        ''  *%%%% NNN 04,333 L$ It */t)D)D)DGT%&DDD FD Hd L$ #(%"="="=ItJ=== %)GXj!((( 8<E8E*l234;;;  %555E4<555 GSr   r  c                   @    e Zd ZU dZeed<   eed<   ded<   dZeed<   dS )	r7  z) Encapsulate a member of a wrapped enum. rS  rp  r  r  Fr@  N)	r   r   r   r   r,  r   r  r@  r!  r   r   r   r7  r7    sQ         33 MMM   L$r   r7  c                       e Zd ZU dZeed<   eed<   dZee	         ed<   dZ
ee         ed<   dZed          ed<   dZeed	<   d
Zeed<   dZee	         ed<   dS )r  z" Encapsulate a wrapped exception. rb  
raise_codeNbuiltin_base_exceptionclass_exceptiondefined_base_exceptionrV  exception_nrFrZ  rp  )r   r   r   r   rR  r   r.  r=  r	   r,  r>  r  r?  r@  r#  rZ  r!  rp  r   r   r   r  r    s         ,,   -1HSM000 /3OXl+222 <@H%78??? L# FD "GXc]!!!!!r   r  c                   V    e Zd ZU dZeed<   eed<   ee         ed<   e	ed<   dZ
eed<   dS )	r  z  Encapsulate a wrapped typedef. rU  rY  r  r  Fr&  N)r   r   r   r   r   r   rX  r	   r  r  r&  r!  r   r   r   r  r    sa         **  NNN L!!!! NNN L$r   r  c                       e Zd ZU dZeed<   eed<   eed<   ee	         ed<   e
ed<   dZee         ed<   dZee         ed	<   d
Zeed<   d
Zeed<   d
Zeed<   d
Zeed<   dZee         ed<   dS )r  z! Encapsulate a wrapped variable. rU  rY  rp  r  r  Naccess_codeget_codeFr  needs_handlerr@  	no_setterset_code)r   r   r   r   r   r   rX  r  r	   r  r  rC  r.  rD  r  r!  rE  r@  rF  rG  r   r   r   r  r    s         ++  NNN  L!!!! NNN (,K)$+++ %)Hhy!((( It  M4 L$ It %)Hhy!(((((r   r  N)=dataclassesr   r   enumr   typingr   r   r   r	   r
   scoped_namer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r.  r4  r:  rJ  rN  rR  r]  ra  rv  rg  rX  rn  r  r  r6  r  r  r  rE  r  r  r  r  r  r  r  r  r7  r  r  r  r   r   r   <module>rL     s	  0 ) ( ( ( ( ( ( (       3 3 3 3 3 3 3 3 3 3 3 3 3 3 # # # # # #    d   r r r r r4 r r rj    D       t       d          $    4   *           D   $    T    	 	 	 	 	$ 	 	 	q q q q qT q q qh    D       t   $       6 D- D- D- D- D- D- D- D-N        . 
 
 
 
 
 
 
 
 1' 1' 1' 1' 1' 1' 1' 1'h         
 
 
 
 
 
 
 
         !: !: !: !: !: !: !: !:H $ $ $ $ $ $ $ $  =- =- =- =- =- =- =- =-@         % % % % % % % %> p8 p8 p8 p8 p8 p8 p8 p8f v0 v0 v0 v0 v0 v0 v0 v0r ! ! ! ! ! ! ! !         . & & & & & & & & 
 
 
 
 
 
 
 
 N N N N N N N Nb         9 9 9 9 9 9 9 9 
! 
! 
! 
! 
! 
! 
! 
! ) ) ) ) ) ) ) )&          " " " " " " " "2 & & & & & & & &         OG OG OG OG OG OG OG OGd 0 0 0 0 0 0 0 0f          " " " " " " " ">        & %) %) %) %) %) %) %) %) %) %)r   