+
    UBi                    (  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^RI	H
t
 ^RIHt ^RIHt ^RIHt ]P"                  '       d   ^RIHt ^RIHt ^R	I	Ht R
. R. R. RR.RR.RR.RR./tR]R&    ! R R]]4      t ! R R]4      t ! R R]4      tR# )    )annotationsN)EnvironmentException)RSPFileSyntax)Compiler)BasicLinkerIsCompilerMixin)
Dependency)Environment)MachineChoiceplain0g1z
-optimize+23szT.Dict[str, T.List[str]]cs_optimization_argsc                     a  ] tR t^ tRtR#R V 3R lllt]R R l4       tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR"tV ;t# )$
CsCompilercsc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )   exelistT.List[str]versionstrfor_machiner
   envr	   runnerzT.Optional[str] )formats   "</usr/lib/python3.14/site-packages/mesonbuild/compilers/cs.py__annotate__CsCompiler.__annotate__$   s1       c  !+:    c                	6   < \         SV `  . WW44       WPn        R # N)super__init__r   )selfr   r   r   r   r   	__class__s   &&&&&&r!   r(   CsCompiler.__init__$   s    W{@r$   c                   V ^8  d   QhRR/# )r   returnr   r   )r    s   "r!   r"   r#   *   s      S r$   c                	    R # )zC sharpr   )clss   &r!   get_display_languageCsCompiler.get_display_language)   s    r$   c                   V ^8  d   QhRR/# r   r-   r   r   )r    s   "r!   r"   r#   -   s       r$   c                	    R .# z/nologor   r)   s   &r!   get_always_argsCsCompiler.get_always_args-   
    {r$   c                   V ^8  d   QhRR/# r3   r   )r    s   "r!   r"   r#   0   s       r$   c                	    R .# r5   r   r6   s   &r!   get_linker_always_args!CsCompiler.get_linker_always_args0   r9   r$   c                    V ^8  d   QhRRRR/# r   fnamer   r-   r   r   )r    s   "r!   r"   r#   3   s     ! !S ![ !r$   c                	    R V,           .# )z-out:r   r)   r@   s   &&r!   get_output_argsCsCompiler.get_output_args3   s    %  r$   c                    V ^8  d   QhRRRR/# r?   r   )r    s   "r!   r"   r#   6   s      3 ; r$   c                	    R V,           .# )z-r:r   rB   s   &&r!   get_link_argsCsCompiler.get_link_args6   s    r$   c                   V ^8  d   QhRR/# r3   r   )r    s   "r!   r"   r#   9   s          r$   c                	    R .# )z-warnaserrorr   r6   s   &r!   get_werror_argsCsCompiler.get_werror_args9   s    r$   c                   V ^8  d   QhRR/# r3   r   )r    s   "r!   r"   r#   <   s      k r$   c                	    . # r&   r   r6   s   &r!   get_pic_argsCsCompiler.get_pic_args<       	r$   c                    V ^8  d   QhRRRR/# )r   depr   r-   r   r   )r    s   "r!   r"   r#   ?   s     M Mz Mk Mr$   c                	|    VP                  4        Uu. uF  q"P                  R 4      '       d   K  VNK  	  up# u upi )z-I)get_compile_args
startswith)r)   rS   as   && r!   get_dependency_compile_args&CsCompiler.get_dependency_compile_args?   s2     //1L1ad9K1LLLs   99c               $    V ^8  d   QhRRRRRR/# )r   parameter_listr   	build_dirr   r-   r   )r    s   "r!   r"   r#   E   s#      [ :=BMr$   c           	     	   \        V4       F  w  r4VR ,          R8X  dT   VR ,          \        P                  P                  \        P                  P	                  W$R,          4      4      ,           W&   VR,          R8X  g   Kv  VR,          \        P                  P                  \        P                  P	                  W$R,          4      4      ,           W&   K  	  V# ):Nr   Nz-L:r   NN:N   Nz-lib::r^   NN)	enumerateospathnormpathjoin)r)   r[   r\   idxis   &&&  r!   &compute_parameters_with_absolute_paths1CsCompiler.compute_parameters_with_absolute_pathsE   s    /FCu}&'ebgg.>.>rww||IY[W\?].^&^#u&'ebgg.>.>rww||IY[W\?].^&^#	 0 r$   c               $    V ^8  d   QhRRRRRR/# )r   pch_dirr   headerr-   r   r   )r    s   "r!   r"   r#   O   s!       S [ r$   c                	    . # r&   r   )r)   ri   rj   s   &&&r!   get_pch_use_argsCsCompiler.get_pch_use_argsO   rQ   r$   c                    V ^8  d   QhRRRR/# )r   header_namer   r-   r   )r    s   "r!   r"   r#   R   s        r$   c                	    R # ) r   )r)   ro   s   &&r!   get_pch_nameCsCompiler.get_pch_nameR   s    r$   c                    V ^8  d   QhRRRR/# )r   work_dirr   r-   Noner   )r    s   "r!   r"   r#   U   s     R RS RT Rr$   c                	   R pRp\         P                  P                  W4      p\        VRRR7      ;_uu_ 4       pVP	                  \
        P                  ! R4      4       RRR4       \        P                  ! V P                  V P                  4       ,           V.,           VR7      pVP                  4        VP                  ^ 8w  d!   \        RV P                  4       ,          4      hV P                  '       d   V P                  V.pM \         P                  P                  W4      .pV P!                  WqR	R
7       R#   + '       g   i     L; i)z	sanity.csz
sanity.exewzutf-8)encodingz
                public class Sanity {
                    static public void Main () {
                    }
                }
                N)cwdz'C# compiler %s cannot compile programs.F)use_exe_wrapper_for_cross)r`   ra   rc   openwritetextwrapdedent
subprocessPopenr   r7   wait
returncoder   name_stringr   run_sanity_check)r)   ru   srcobjsource_nameofilepccmdlists   &&      r!   sanity_checkCsCompiler.sanity_checkU   s    ggll81+sW55KK )   6 dllT-A-A-CCseKQYZ
	==A&'PSWScScSe'eff;;;{{C(Gww||H23Gg5Q 65s   &D>>E	c                   V ^8  d   QhRR/# )r   r-   boolr   )r    s   "r!   r"   r#   j   s      T r$   c                	    R # )Fr   r6   s   &r!   needs_static_linkerCsCompiler.needs_static_linkerj   s    r$   c                    V ^8  d   QhRRRR/# r   is_debugr   r-   r   r   )r    s   "r!   r"   r#   m   s     . .t . .r$   c                	    V'       d   R .# . # )-debugr   r)   r   s   &&r!   get_debug_argsCsCompiler.get_debug_argsm   s    %z-2-r$   c                    V ^8  d   QhRRRR/# )r   optimization_levelr   r-   r   r   )r    s   "r!   r"   r#   p   s     8 8 8 8r$   c                	    \         V,          # r&   )r   )r)   r   s   &&r!   get_optimization_args CsCompiler.get_optimization_argsp   s    #$677r$   r   r&   )__name__
__module____qualname____firstlineno__languager(   classmethodr0   r7   r<   rC   rG   rK   rO   rX   rf   rl   rr   r   r   r   r   __static_attributes____classcell__r*   s   @r!   r   r       ss    H 
  ! MR*.8 8r$   r   c                  >   a  ] tR t^ttRtR V 3R lltR R ltRtV ;t# )MonoCompilermonoc               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r   r   r   r
   r   r	   r   )r    s   "r!   r"   MonoCompiler.__annotate__x   s/     L L Lc L L!Lr$   c                	,   < \         SV `  WW4R R7       R# )r   r   N)r'   r(   )r)   r   r   r   r   r*   s   &&&&&r!   r(   MonoCompiler.__init__x   s    ;FKr$   c                   V ^8  d   QhRR/# r   r-   z'RSPFileSyntax'r   )r    s   "r!   r"   r   |   s     ! ! !r$   c                	"    \         P                  # r&   )r   GCCr6   s   &r!   rsp_file_syntaxMonoCompiler.rsp_file_syntax|   s       r$   r   )	r   r   r   r   idr(   r   r   r   r   s   @r!   r   r   t   s    	BL L! !r$   r   c                  2    ] tR t^tRtR R ltR R ltRtR# )VisualStudioCsCompilercscc                    V ^8  d   QhRRRR/# r   r   )r    s   "r!   r"   #VisualStudioCsCompiler.__annotate__   s      t  r$   c                	b    V'       d'   V P                   P                  4       '       d   R .# R.# . # )r   z-debug:portable)info
is_windowsr   s   &&r!   r   %VisualStudioCsCompiler.get_debug_args   s-    !%!5!5!7!7H:P>O=PPIr$   c                   V ^8  d   QhRR/# r   r   )r    s   "r!   r"   r      s     " " "r$   c                	"    \         P                  # r&   )r   MSVCr6   s   &r!   r   &VisualStudioCsCompiler.rsp_file_syntax   s    !!!r$   r   N)r   r   r   r   r   r   r   r   r   r$   r!   r   r      s    	B" "r$   r   )__conditional_annotations__
__future__r   os.pathr`   r   r~   typingTmesonlibr   linkersr   	compilersr   mixins.islinkerr   TYPE_CHECKINGdependenciesr   environmentr	   r
   r   __annotations__r   r   r   )r   s   @r!   <module>r      s    # "    + #  7???))(  RRl^l^l^l^2 . Q8+X Q8h	!: 	!"Z "r$   