+
    UBi                         ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIt^ RIt]P                  '       d   ^RI
Ht  ! R R]P                  R7      t ! R R	]4      t ! R
 R]4      t ! R R]4      tR# )    )annotations)PathN)	Argumentsc                     ] tR t^tR R lt]P                  R R l4       t]P                  R R l4       t]	]P                  R R l4       4       t
]	]P                  R	 R
 l4       4       t]	]P                  R R l4       4       t]	]P                  R R l4       4       t]	]P                  R R l4       4       t]	]P                  R R l4       4       tR R ltR R ltRtR# )
SampleImplc                   V ^8  d   QhRR/#    argsr    )formats   "D/usr/lib/python3.14/site-packages/mesonbuild/templates/sampleimpl.py__annotate__SampleImpl.__annotate__   s     
& 
&Y 
&    c                	    VP                   V n         VP                  '       d   VP                  MR V n        VP                  V n        \        P
                  ! RRV P                   P                  4       4      V n        V P                  P                  4       V n	        V P                  P                  4       V n        RV n        VP                  V n        VP                  '       d   VP                  P                  R4      M. V n        . V n        R # )Nz	[^a-z0-9]_z1.0.0,)name
executableexecutable_nameversionresublowerlowercase_tokenupperuppercase_token
capitalizecapitalized_tokenmeson_versionforcedepssplitdependenciessources)selfr   s   &&r   __init__SampleImpl.__init__   s    II	26///tt||!vvlC9JK#3399;!%!5!5!@!@!B$ZZ
48IIIDIIOOC02#%r   c                   V ^8  d   QhRR/# r
   returnNoner   )r   s   "r   r   r       s      4 r   c                	    R # Nr   r'   s   &r   create_executableSampleImpl.create_executable       r   c                   V ^8  d   QhRR/# r+   r   )r   s   "r   r   r   $   s       r   c                	    R # r/   r   r0   s   &r   create_librarySampleImpl.create_library#   r3   r   c                   V ^8  d   QhRR/# r
   r,   strr   )r   s   "r   r   r   )         c r   c                	    R # r/   r   r0   s   &r   exe_templateSampleImpl.exe_template'        	r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   .         C r   c                	    R # r/   r   r0   s   &r   exe_meson_templateSampleImpl.exe_meson_template,   r?   r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   3   r;   r   c                	    R # r/   r   r0   s   &r   lib_templateSampleImpl.lib_template1   r?   r   c                   V ^8  d   QhRR/# )r
   r,   zT.Optional[str]r   )r   s   "r   r   r   8   s      ? r   c                	    R # r/   r   r0   s   &r   lib_test_templateSampleImpl.lib_test_template6   r?   r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   =   rA   r   c                	    R # r/   r   r0   s   &r   lib_meson_templateSampleImpl.lib_meson_template;   r?   r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   B         C r   c                	    R # r/   r   r0   s   &r   
source_extSampleImpl.source_ext@   r?   r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   E   s     M Mc Mr   c                	F    R P                  R V P                   4       4      # ) c              3  .   "   T F  pR V R2x  K  	  R# 5i)z
  dependency('z'),Nr   ).0ds   & r   	<genexpr>2SampleImpl._format_dependencies.<locals>.<genexpr>F   s     L:KQ)!C0:K   )joinr%   r0   s   &r   _format_dependenciesSampleImpl._format_dependenciesE   s    wwL$:K:KLLLr   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   H   s     < < <r   c                	F    R P                  R V P                   4       4      # )rX   c              3  .   "   T F  pR V R2x  K  	  R# 5i)z
  'z',Nr   )rZ   xs   & r   r\   -SampleImpl._format_sources.<locals>.<genexpr>I   s     ;lqc}lr^   )r_   r&   r0   s   &r   _format_sourcesSampleImpl._format_sourcesH   s    ww;dll;;;r   )
r    r%   r   r"   r   r!   r   r&   r   r   N)__name__
__module____qualname____firstlineno__r(   abcabstractmethodr1   r6   propertyr=   rC   rG   rK   rO   rT   r`   rg   __static_attributes__r   r   r   r   r      s   
& 	  	                   M< <r   r   )	metaclassc                  J   a  ] tR t^LtRtR V 3R lltR R ltR R ltRtV ;t	# )		ClassImplz+For Class based languages, like Java and C#c                   V ^8  d   QhRR/# r	   r   )r   s   "r   r   ClassImpl.__annotate__P   s     q qY qr   c                	   < \         SV `  V4       VP                  '       d   VP                  V n        R# \        V P                   R V P
                   24      .V n        R# .N)superr(   srcfilesr   r    rT   r&   r'   r   	__class__s   &&r   r(   ClassImpl.__init__P   sL    (,t}}DDDZDZC[[\]a]l]l\mAn<o;pr   c                   V ^8  d   QhRR/# r+   r   )r   s   "r   r   ru   T   s     ] ]4 ]r   c                	,   V P                    R V P                   2p\        P                  P	                  V4      '       g`   \        VRRR7      ;_uu_ 4       pVP                  V P                  P                  V P                  V P                   R7      4       RRR4       V P                  '       g&   \        P                  P	                  R4      '       g   \        RRRR7      ;_uu_ 4       pVP                  V P                  P                  V P                  V P                  VV P                  V P                  V P                  4       V P!                  4       R7      4       RRR4       R# R#   + '       g   i     L; i  + '       g   i     R# ; i)rx   wutf-8encoding)project_name
class_nameNmeson.buildr   exe_namesource_namer   r!   r%   source_files)r    rT   ospathexistsopenwriter=   r   r   r"   rC   r   r   r!   r`   rg   r'   r   fs   &  r   r1   ClassImpl.create_executableT   s,   //0$//1BCww~~k**k399Q))00dii<@<R<R 1 T U : :::RWW^^M::mS7;;q//66DII@D@T@TCN?C||EIEWEWDHD]D]D_DHDXDXDZ 7 \ ] <; ; :9 <;;s   AE/-A6F/E?	F	c                   V ^8  d   QhRR/# r+   r   )r   s   "r   r   ru   d   s     B B Br   c                	   V P                    R V P                   2pV P                    RV P                   2pRV P                  RV P                  RV P                    R2RV P                   RVRVR	V P                   R2R
V P                  RV P                  RV P                  RV P
                  RV P                  RV P                  4       RV P                  4       /p\        P                  P                  V4      '       gK   \        VRRR7      ;_uu_ 4       pVP                  V P                  P                  ! R/ VB 4       RRR4       V P                   '       dp   \        P                  P                  V4      '       gK   \        VRRR7      ;_uu_ 4       pVP                  V P                   P                  ! R/ VB 4       RRR4       V P"                  '       g&   \        P                  P                  R4      '       gM   \        RRRR7      ;_uu_ 4       pVP                  V P$                  P                  ! R/ VB 4       RRR4       R# R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)rx   _test.utokenltoken
class_test_testr   source_filetest_source_filetest_exe_namer   lib_name	test_namer   r!   r%   r   r   r   r   Nr   r   )r    rT   r   r   r   r   r!   r`   rg   r   r   r   r   r   rG   r   rK   r"   rO   r'   r   r   kwargsr   s   &    r   r6   ClassImpl.create_libraryd   s   ,,-Qt.?@--.fT__4EF	d**d**T334E:$008	 4 45U;DII,,--t||T//D557D002
  ww~~h''hg66!))00:6:; 7!!!"''..*C*Ciw771..55??@ 8:::RWW^^M::mS7;;q//66@@A <; ; 766 87 <;;s$   ,I,I$,I7I!	$I4	7J	r&   )
ri   rj   rk   rl   __doc__r(   r1   r6   rp   __classcell__r|   s   @r   rs   rs   L   s$    5q q] B Br   rs   c                  V   a  ] tR t^tRtR V 3R lltR R ltR R ltR R	 ltR
t	V ;t
# )FileImplz$File based languages without headersc                   V ^8  d   QhRR/# r	   r   )r   s   "r   r   FileImpl.__annotate__   s     d dY dr   c                	   < \         SV `  V4       VP                  '       d   VP                  V n        R# \        V P                   R V P
                   24      .V n        R# rw   )ry   r(   rz   r   r   rT   r&   r{   s   &&r   r(   FileImpl.__init__   sH    (,t}}DDII;aPTP_P_O`Aa<b;cr   c                   V ^8  d   QhRR/# r+   r   )r   s   "r   r   r      s     ] ]4 ]r   c                	   V P                    R V P                   2p\        P                  P	                  V4      '       gU   \        VRRR7      ;_uu_ 4       pVP                  V P                  P                  V P                  R7      4       RRR4       V P                  '       g&   \        P                  P	                  R4      '       g   \        RRRR7      ;_uu_ 4       pVP                  V P                  P                  V P                  V P                  VV P                  V P                  V P                  4       V P!                  4       R7      4       RRR4       R# R#   + '       g   i     L; i  + '       g   i     R# ; i)rx   r   r   r   )r   Nr   r   )r   rT   r   r   r   r   r   r=   r   r   r"   rC   r   r   r!   r`   rg   r   s   &  r   r1   FileImpl.create_executable   s   --.a/@Aww~~k**k399Q))00dii0HI ::::RWW^^M::mS7;;q//66DII@D@T@TCN?C||EIEWEWDHD]D]D_DHDXDXDZ 7 \ ] <; ; :9 <;;s   6E$"A6E7$E4	7F	c                   V ^8  d   QhRR/# r
   r,   zT.Dict[str, str]r   )r   s   "r   r   r      s     
 
, 
r   c                   / RV P                   bRV P                  bRV P                  bRV P                  bRV P                  R,           R2bRV P                  bR	V P                   R
V P                   2bRV P                   RV P                   2bRV P                   R2bRV P                  bRV P                  bRV P                  bRV P
                  bRV P                  bRV P                  4       bRV P                  4       b# )zgGet Language specific keyword arguments

:return: A dictionary of key: values to fill in the templates
r   r   
header_dirr   function_name:r      N_func	namespacer   rx   r   r   r   r   r   r   r   r   r!   r%   r   )	r   r   r    rT   r   r   r!   r`   rg   r0   s   &r   
lib_kwargsFileImpl.lib_kwargs   sa   

d**
d**
 $..
 $00	

  4 4S 9:%@
 --
 d2231T__4EF
 4#7#7"8t>O P
  4 45U;
 DII
 ,,
 --
 t||
 T//
 D557
  D002!
 	
r   c                   V ^8  d   QhRR/# r+   r   )r   s   "r   r   r      s     B B Br   c           	     	   V P                    R V P                   2pV P                    RV P                   2pV P                  4       p\        P                  P                  V4      '       gK   \        VRRR7      ;_uu_ 4       pVP                  V P                  P                  ! R/ VB 4       RRR4       V P                  '       dp   \        P                  P                  V4      '       gK   \        VRRR7      ;_uu_ 4       pVP                  V P                  P                  ! R/ VB 4       RRR4       V P                  '       g&   \        P                  P                  R4      '       gM   \        RRRR7      ;_uu_ 4       pVP                  V P                  P                  ! R/ VB 4       RRR4       R# R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)rx   r   r   r   r   Nr   r   )r   rT   r   r   r   r   r   r   rG   r   rK   r"   rO   r   s   &    r   r6   FileImpl.create_library   s]   **+1T__,=>++,F4??2CD	"ww~~h''hg66!))00:6:; 7!!!"''..*C*Ciw771..55??@ 8:::RWW^^M::mS7;;q//66@@A <; ; 766 87 <;;s$   ,F<,G,G#<G	G 	#G4	r   )ri   rj   rk   rl   r   r(   r1   r   r6   rp   r   r   s   @r   r   r      s)    .d d]
0B Br   r   c                     a  ] tR t^t]]P                  R R l4       4       t]]P                  R R l4       4       tR V 3R llt	R V 3R llt
R	tV ;t# )
FileHeaderImplc                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   FileHeaderImpl.__annotate__   rR   r   c                	    R # r/   r   r0   s   &r   
header_extFileHeaderImpl.header_ext   r?   r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r      s      S r   c                	    R # r/   r   r0   s   &r   lib_header_template"FileHeaderImpl.lib_header_template   r?   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s      , r   c                	`   < \         SV `  4       pV P                   R V P                   2VR&   V# )rx   header_file)ry   r   r   r   )r'   r   r|   s   & r   r   FileHeaderImpl.lib_kwargs   s6    #%#'#7#7"8$//9J K}r   c                   V ^8  d   QhRR/# r+   r   )r   s   "r   r   r      s     E E Er   c                	h  < \         SV `  4        V P                  4       p\        P                  P                  VR ,          4      '       gS   \        VR ,          RRR7      ;_uu_ 4       pVP                  V P                  P                  V4      4       RRR4       R# R#   + '       g   i     R# ; i)r   r   r   r   N)
ry   r6   r   r   r   r   r   r   r   
format_map)r'   r   r   r|   s   &  r   r6   FileHeaderImpl.create_library   s}     "ww~~f]344f]+S7CCq00;;FCD DC 5CCCs   )+B  B1	r   )ri   rj   rk   rl   ro   rm   rn   r   r   r   r6   rp   r   r   s   @r   r   r      s[          
E Er   r   )
__future__r   pathlibr   rm   r   r   typingTTYPE_CHECKINGminitr   ABCMetar   rs   r   r   r   r   r   <module>r      sb   
 #  
 	 	 ???!8<3;; 8<v3B
 3Bl;Bz ;B|EX Er   