Ë /»ÆD…›£=ãóΗddlmZddlmZddlmZmZmZmZmZm Z m Z m Z m Z ddl mZmZmZmZddlmZmZmZd„Zd„Zd „Zd „Zd „Zd „Zej8fd „Zd„Zd„Zd„Z d„Z!y)é)Úcopyé)Ú ScopedName) ÚArgumentÚ ArgumentTypeÚ FunctionCallÚ IfaceFileTypeÚKwArgsÚ SignatureÚ TypeHintsÚValueÚ ValueType)Ú template_codeÚtemplate_code_blocksÚtemplate_expansionsÚtemplate_string)Úappend_iface_fileÚ cached_nameÚnormalised_scoped_namec ó¾ —t||j«} t|«| t|jj«<t |«} |�|| _g| _g| _g| _ t| j|«| _ || _ || _| j|||t j"«| _| j$j&| j_| jj(} t+| j| |jj,| «| j_|jj(D]"} t/| jj(| «Œ$| j0| _| j0�C| jj,j3| j0jj,«| j4r,d| jj6_d| j_|j8�&t;| j|j8| «| _|j<�)|j<D�cgc]}t?|| «‘Œc}| _g| _ |j@D�]b}|jj}|jj&€ |jBs| j@jE|«ŒXtG|jH«D]ó\}}|jJ|jLjJk(sŒ*|jjH|}|jNtPjRur-| jU||t j"|jL«}nM|jNtPj"ur |jL}n$| jW||djY|««|}| j@jE|«Œõ�Œet[|||| | | «t]|||| | | «t_|||||| | | «ta|||| | | «| _1te|jf| jj&| «| _3ti|jj|jf| jf|||| | | « | _5tm| j| |jn| «| _7tm| j| |jp| «| _8tm| j| |jr| «| _9tm| j| |jt| «| _:tm| j| |jv| «| _;t+| j| |jx| «| _<tm| j| |jz| «| _=tm| j| |j|| «| _>tm| j| |j~| «| _?tm| j| |j€| «| _@tm| j| |j‚| «| _Atm| j| |j„| «| _Bt+| j| |j†| «| _Ctm| j| |jˆ| «| _D| jjŠj�d| «ycc}w)z Instantiate a class template. NTz.template argument '{0}' must expand to a classr)GrÚtypesÚstrÚ iface_fileÚ fq_cpp_namerÚ docstringÚmroÚvirtual_overloadsÚvisible_membersrÚspecÚpy_nameÚtemplateÚ no_type_nameÚfind_iface_filer ÚCLASSÚ module_stateÚmoduleÚusedrÚtype_header_coderÚscopeÚextendÚin_main_moduleÚcpp_nameÚ type_hintsÚinstantiate_type_hintsÚpyqt_flags_enumsrÚ superclassesÚ is_simpleÚappendÚ enumerateÚargsÚ base_nameÚ definitionÚtyperÚDEFINEDÚ find_classÚ parser_errorÚformatÚ_instantiate_enumsÚ_instantiate_varsÚ_instantiate_typedefsÚ_instantiate_ctorsÚctorsÚ_instantiate_methodsÚmembersÚ_instantiate_overloadsÚ overloadsrÚbi_get_buffer_codeÚbi_release_buffer_codeÚconvert_from_type_codeÚconvert_to_subclass_codeÚconvert_to_type_codeÚ dealloc_codeÚdtor_virtual_catcher_codeÚfinalisation_codeÚ gc_clear_codeÚgc_traverse_codeÚ instance_codeÚ pickle_codeÚ type_codeÚtype_hint_codeÚclassesÚinsert)ÚpÚsymbolrÚ tmpl_namesÚ proto_classr!r r"rÚpmÚ expansionsÚi_classr'rÚsÚ superclassÚsuperclass_nameÚaÚargÚtmpl_argÚ i_superclasss úF/usr/lib/python3.12/site-packages/sipbuild/generator/instantiations.pyÚinstantiate_classrdsÒ€ô % Z°·±Ó@€Jô;>¸kÓ:J€JŒs�;×)Ñ)×5Ñ5Ó6Ñ7ô�;Ó€GàÐØ%ˆÔà€G„KØ "€GÔØ €GÔÜ! "§'¡'¨7Ó3€G„OØ€GÔØ'€GÔð×+Ñ+¨A¨v°{Ü × Ñ ó!€GÔà "§¡× 6Ñ 6€G×ÑÔà × Ñ × "Ñ "€Dä*>¸r¿w¹wÈØ × "Ñ "× 3Ñ 3°Zó+A€G×ÑÔ'ð"×,Ñ,×1Ô1ˆ ܘ'×,Ñ,×1Ñ1°:Õ>ð2ð—H‘H€G„Mà‡}�}Ð Ø×Ñ×+Ñ+×2Ñ2Ø— ‘ ×(Ñ(×9Ñ9ô ;ð ×ÒØ+/ˆ×Ñ×#Ñ#Ô(Ø#ˆ�‰Ôð×ÑÐ)Ü3°B·G±GØ×&Ñ&¨ ó4ˆÔð×#Ñ#Ð/à$×5Ò5ó$7Ù5�Aô%4°A°zÕ$BØ5ñ$7ˆÔ ð€GÔà!×.Õ.ˆ Ø$×/Ñ/×;Ñ;ˆð × Ñ × 'Ñ 'Ð 3¸?×;TÒ;TØ × Ñ × 'Ñ '¨ Ô 3Ø ä  §¡Ö0‰FˆAˆsØ×(Ñ(¨C¯N©N×,DÑ,DÓDØ#Ÿ>™>×.Ñ.¨qÑ1�à—=‘=¤L×$8Ñ$8Ñ8Ø#%§=¡=°°FÜ)×/Ñ/°×1DÑ1Dó$F‘Là—]‘]¤l×&8Ñ&8Ñ8Ø#+×#6Ñ#6‘Là—O‘O A vØL×SÑSÐTcÓdôfà#-�Là×$Ñ$×+Ñ+¨LÕ9ò1ð/ô2�z ;°¸'À:Ø ôô�j +¨x¸À*Ø ôô˜!˜V Z°¸hØ �Z ô%ô' z°;ÀØ �Z ó%€G„Mô+¨;×+>Ñ+>Ø × Ñ × %Ñ % ró+€G„Oä.¨{×/DÑ/DØ × Ñ  §¡°*¸kØ �g˜z¨2ó/€GÔô "/¨r¯w©w¸Ø × *Ñ *¨Jó"8€GÔä%2°2·7±7¸DØ × .Ñ .° ó&<€GÔ"ä%2°2·7±7¸DØ × .Ñ .° ó&<€GÔ"ä'4°R·W±W¸dØ × 0Ñ 0°*ó(>€GÔ$ä#0°·±¸$Ø × ,Ñ ,¨jó$:€GÔ ä/°·±¸Ø × $Ñ $ jó2€GÔä(5°b·g±g¸tØ × 1Ñ 1°:ó)?€GÔ%ä -¨b¯g©g°tØ × )Ñ )¨:ó!7€GÔä)¨"¯'©'°4Ø × %Ñ % zó3€GÔä,¨R¯W©W°dØ × (Ñ (¨*ó 6€GÔä)¨"¯'©'°4Ø × %Ñ % zó3€GÔä'¨¯©°°{×7NÑ7NØ ó€GÔä,¨R¯W©W°dØ × !Ñ ! :ó/€GÔä*¨2¯7©7°DØ × &Ñ &¨ ó4€GÔð‡G�G‡O�O×ј1˜gÕ&ùòg$7sÉ[c óΗt|«}|jtjur>|j}t|«} t |j ||||||«| _| |_|j�)|jD� cgc]} t| |«‘Œc} |_|j�&t|j|j|«|_ |jtjur÷|jjrá|jj} t|j «D]m\} } | | jjk(sŒ |j j | }|j|_|j|_|j"|_|S| |j$j&jk(r#tj(|_||_d|_|Scc} w)z) Return an instantiated Argument object. N)rr7rÚTEMPLATEr6Ú_instantiate_signaturerÚ default_valueÚ_instantiate_valuer-r.rr8r1r5r3r4Úis_constrainedrrr$Ú original_type)Ú proto_argrXrWr!r[rZrYÚi_argÚproto_templateÚ i_templateÚvÚnamer_r`Útads rcÚ_instantiate_argumentrs�s¬€ô �‹O€Eð‡~�~œ×.Ñ.Ñ.Ø"×-Ñ-ˆÜ˜.Ó)ˆ Ü1°.×2FÑ2FؘZ¨°7¸JÈóLˆ Ôà%ˆÔð×ÑÐ*à"×0Ò0ó2Ù0�Aô 2°!°ZÕ@Ø0ñ2ˆÔð×ÑÐ'Ü1°"·'±'Ø×$Ñ$ jó2ˆÔð‡~�~œ×-Ñ-Ñ-°)×2FÑ2F×2PÒ2PØ×#Ñ#×-Ñ-ˆä  §¡Ö0‰FˆAˆsØ�s—~‘~×/Ñ/Ó/Ø—n‘n×)Ñ)¨!Ñ,�à ŸX™X�” Ø#&§>¡>�Ô ð(+×'9Ñ'9�Ô$àð €Lð%1ð�{×-Ñ-×9Ñ9×CÑCÒCÜ)×/Ñ/�” Ø#*�Ô Ø&*�Ô#à €Lùò=2sÂG"c óZ—g}|jj}|jD�]}t|«} t |j |||||||j ¬«| _|j|j ur| j | _n*t |jj||||||«| _t|j||j|«| _ t|j||j|«| _ |j|ur| |_ |j| «�Œ|S)z> Return a list of the instantiated ctors of a template class. ©Úkw_args)rr'r@rrgÚ py_signaturervÚ cpp_signaturerrÚ method_codeÚpremethod_codeÚ default_ctorr2) rWrXr!r[rZrYÚi_ctorsr'Ú proto_ctorÚi_ctors rcr?r?Ïs€ð€GØ × Ñ × "Ñ "€Dà!×'Õ'ˆ ä�jÓ!ˆä4°Z×5LÑ5LؘZ¨°7¸JÈØ"×*Ñ*ô,ˆÔð × #Ñ # z×'>Ñ'>Ñ >Ø#)×#6Ñ#6ˆFÕ ä#9Ø×,Ñ,×:Ñ:¸KØ ¨'°:¸ró$CˆFÔ ô+¨2¯7©7°DØ×&Ñ&¨ ó4ˆÔä -¨b¯g©g°tØ×)Ñ)¨:ó!7ˆÔð × #Ñ # zÑ 1Ø#)ˆGÔ à�‰�vÖð1(ð4 €NócóÀ—t|jj«D�];}|j|urŒt |«}|j �It |j |«|_t|jt|j ««|_ |jr0|j�d|_ |j�d|j_ ||_|jj|_g|_|jD]/}t |«} || _|jj!| «Œ1|jjj#d|«�Œ>y)ú- Instantiate the enums for a template class. NTr)ÚlistrÚenumsr)rrrrrÚcached_fq_cpp_namer+r r'rr&rBr2rT) rWrXr!r[rZrYÚ proto_enumÚi_enumÚ proto_memberÚw_members rcr<r<ós"€ô˜2Ÿ7™7Ÿ=™=×)ˆ Ø × Ñ  ;Ñ .Ø ô�jÓ!ˆà × !Ñ !Ð -Ü!7¸ ×8NÑ8NØó"ˆFÔ ä(3°B·G±Gܘ×*Ñ*Ó+ó)-ˆFÔ %ð × Ò Ø�~‰~Ð)Ø!%�”à×(Ñ(Ð4Ø15�×)Ñ)Ô.àˆŒ Ø×*Ñ*×1Ñ1ˆŒ ؈Œà&×.Ô.ˆLä˜LÓ)ˆHà#ˆHŒNà �N‰N× !Ñ ! (Õ +ð /ð �‰� ‰ ×јQ Ö'ñA*rcó˜—g}|D]B}t|«}||_|jrd|j_|j |«ŒD|S)zL Return a list of the instantiated methods of a template class or enum. T)rr&r+r r'r2)Ú proto_methodsÚ target_modulerYÚ i_methodsÚ proto_methodÚi_methods rcrArAsQ€ð€Iã%ˆ ä˜ Ó%ˆà'ˆŒà × Ò Ø$(ˆH× Ñ Ô !à×јÕ"ð&ð Ðrc ó—g} |jj} |D�]f} t| «} t||«D]\} }| j|usŒ| | _nt | j ||||||| j¬«| _| j| j ur| j | _n*t | jj||||||«| _t|j| | j|«| _ t|j| | j|«| _ t|j| | j|«| _ t|j| | j|«| _| j| «�Œi| S)zR Return a list of the instantiated overloads of a template class or enum. ru)rr'rÚzipÚcommonrgrwrvrxrrryrzÚvirtual_call_codeÚvirtual_catcher_coder2)Úproto_overloadsrŠrŒrWrXr!r[rZrYÚ i_overloadsr'Úproto_overloadÚ i_overloadrŽr�s rcrCrC.su€ð €KØ × Ñ × "Ñ "€Dä)ˆä˜.Ó)ˆ ä&)¨)°]Ö&CÑ "ˆH�lØ×$Ñ$¨ Ò4Ø$,� Ô!Ùð'Dô #9Ø×+Ñ+¨[¸*Àhؘ R°×1GÑ1Gô#Iˆ Ôð × 'Ñ '¨>×+FÑ+FÑ FØ'1×'>Ñ'>ˆJÕ $ä'=Ø"×0Ñ0×>Ñ>À Ø ¨'°:¸ró(CˆJÔ $ô"/¨r¯w©w¸Ø×*Ñ*¨Jó"8ˆ Ôä$1°"·'±'¸4Ø×-Ñ-¨zó%;ˆ Ô!ä'4°R·W±W¸dØ×0Ñ0°*ó(>ˆ Ô$ä*7¸¿¹ÀØ×3Ñ3°Zó+Aˆ Ô'ð ×ј:Ö&ð;*ð> Ðrc ó¦—t«}|jD]‹} t| ||||||«} |jj| «|jsŒ<| j €ŒI|t jus |t jusŒn| j€Œ{d| j _ Œ�|j� t|j||||||«|_ |S)z* Return an instantiated Signature object. T) r r4rsr2r+rqr ÚALLÚOPTIONALrhr'Úresult) Úproto_signaturerXrWr!r[rZrYrvÚ i_signaturerlrms rcrgrgYsÄ€ô“+€Kà$×)Ô)ˆ Ü% i°¸jؘ' :¨ró3ˆð ×Ñ×Ñ Ô&ð × Ó  §¡Ñ!7Øœ&Ÿ*™*Ñ$¨´F·O±OÒ)CÈ×H[ÑH[ÑHgØ"&�— ‘ •ð*ð×ÑÐ)Ü2°?×3IÑ3IؘZ¨°7¸JÈóLˆ Ôð ÐrcóΗ|j�t|j|d¬«}nd}|j�t|j|d¬«}nd}t|||j¬«S)z* Return an instantiated TypeHints object. NÚ.)Úscope_replacement)Úhint_inÚhint_outrh)r¡rr¢r rh)rÚproto_type_hintsrZr¡r¢s rcr.r.qst€ð×ÑÐ+Ü!Ð"2×":Ñ":¸JØ*-ô/‰ðˆà× Ñ Ð,Ü"Ð#3×#<Ñ#<¸jØ*-ô/‰ðˆä ˜W¨xØ*×8Ñ8ô :ð:rc óN—|jjD]Œ}|j|urŒt|«} t |j |«| _|| _|j j| _t|j||||||«| _ |j||| «ŒŽy)z/ Instantiate the typedefs of a template class. N) rÚtypedefsr)rrrrr&rsr7Ú add_typedef) rUrVrWrXr!r[rZrYÚ proto_typedefÚ i_typedefs rcr>r>„s›€ðŸ™×)Ô)ˆ Ø × Ñ  kÑ 1Ø ô˜Ó'ˆ ä 6Ø×)Ñ)¨7ó!4ˆ Ôà!ˆ ŒØ"×-Ñ-×4Ñ4ˆ Ôä.¨}×/AÑ/AÀ;ؘH g¨z¸2ó?ˆ Œð �‰�q˜& )Õ,ñ*rcóú—|}|jtjurÜ|jjj t jur¬|jjj}|jr€tjt|j|««}tt j|¬«}t||jj ¬«}t#tj|¬«}|S)z& Return an instantiated Value object. )r7r6)r›r4)Úvalue)Ú value_typerÚFCALLrªr›r7rr8r6r1rÚparserr5rrr4r )Ú proto_valuerZÚi_valueÚ proto_nameÚi_nameÚi_resultÚi_fcalls rcririšs¾€ð €Gà×Ѥ§¡Ñ0°[×5FÑ5F×5MÑ5M×5RÑ5RÔVb×VjÑVjÑ5jØ ×&Ñ&×-Ñ-×8Ñ8ˆ à × Ò Ü×%Ñ%Ü# J×$8Ñ$8¸*ÓEóGˆFä¤\×%9Ñ%9ÀfÔMˆHÜ"¨(Ø$×*Ñ*×/Ñ/ô1ˆGäœIŸO™O°7Ô;ˆGà €Nrc óÆ—|jj}|jjD�]1}|j|urŒt |«}|j rd|j_t|j|«|_ ||_|jj|_ t|j||||||«|_ t|j||j|«|_t|j||j|«|_t|j||j |«|_|jjj#|«�Œ4y)r�TN)rr'rÚ variablesr)rr+r rrr&rsr7rÚ access_codeÚget_codeÚset_coder2) rWrXr!r[rZrYr'Ú proto_varÚi_vars rcr=r=¯s#€ð × Ñ × "Ñ "€Dà—W‘W×&Õ&ˆ Ø �?‰? +Ñ -Ø ô�Y“ˆà × Ò Ø!%ˆE�M‰MÔ ä2°9×3HÑ3HØóˆÔàˆŒ Ø×)Ñ)×0Ñ0ˆŒ ä*¨9¯>©>¸;ؘH g¨z¸2ó?ˆŒ ô*¨"¯'©'°4¸×9NÑ9NØóˆÔä& r§w¡w°°i×6HÑ6HØóˆŒä& r§w¡w°°i×6HÑ6HØóˆŒð �‰×Ñ× Ñ  Ö'ñ3'rN)"rÚ scoped_namerÚ specificationrrrr r r r r rÚ templatesrrrrÚutilsrrrrdrsr?r<rArCÚNONErgr.r>rir=©rrcÚrÁsuðõ å#÷G÷GõG÷.ó.çIÑIòJ'òZ/òd!òH$(òNò((ðX*0¯©óò0:ò&-ò,ó*(r