§
    ƒnócñ  ã                  óV   — d dl mZ d dlmZ d dlZdZdZdZdZdZ	 G d	„ d
e¦  «        Z
dS )é    )Úannotations)Ú
SampleImplNa…  using System;

public class {class_name} {{
    const String PROJECT_NAME = "{project_name}";

    static int Main(String[] args) {{
      if (args.Length > 0) {{
          System.Console.WriteLine(String.Format("{project_name} takes no arguments.."));
          return 1;
      }}
      Console.WriteLine(String.Format("This is project {{0}}.", PROJECT_NAME));
      return 0;
    }}
}}

z¹project('{project_name}', 'cs',
  version : '{version}',
  default_options : ['warning_level=3'])

exe = executable('{exe_name}', '{source_name}',
  install : true)

test('basic', exe)
z€
public class {class_name} {{
    private const int number = 6;

    public int get_number() {{
      return number;
    }}
}}

a_  using System;

public class {class_test} {{
    static int Main(String[] args) {{
      if (args.Length > 0) {{
          System.Console.WriteLine("{project_name} takes no arguments..");
          return 1;
      }}
      {class_name} c = new {class_name}();
      Boolean result = true;
      return result.CompareTo(c.get_number() != 6);
    }}
}}

a½  project('{project_name}', 'cs',
  version : '{version}',
  default_options : ['warning_level=3'])

stlib = shared_library('{lib_name}', '{source_file}',
  install : true,
)

test_exe = executable('{test_exe_name}', '{test_source_file}',
  link_with : stlib)
test('{test_name}', test_exe)

# Make this library usable as a Meson subproject.
{ltoken}_dep = declare_dependency(
  include_directories: include_directories('.'),
  link_with : stlib)

c                  ó.   ‡ — e Zd Zˆ fd„Zdd„Zdd„Zˆ xZS )ÚCSharpProjectc                óx   •— t          ¦   «                              ¦   «          |j        | _        |j        | _        d S )N)ÚsuperÚ__init__ÚnameÚversion)ÚselfÚoptionsÚ	__class__s     €úB/usr/lib/python3/dist-packages/mesonbuild/templates/cstemplates.pyr	   zCSharpProject.__init___   s/   ø€ Ý‰Œ×ÒÑÔÐØ”LˆŒ	Ø”ˆŒˆˆó    ÚreturnÚNonec                ó  — t          j        dd| j                             ¦   «         ¦  «        }|                     ¦   «         }|d         |dd …         z   }|d         |dd …         z   dz   }t          |dd¬¦  «                             t                               | j        |¬	¦  «        ¦  «         t          d
dd¬¦  «                             t                               | j        | j        || j
        ¬¦  «        ¦  «         d S )Nú	[^a-z0-9]Ú_r   é   ú.csÚwúutf-8©Úencoding)Úproject_nameÚ
class_nameúmeson.build)r   Úexe_nameÚsource_namer   )ÚreÚsubr
   ÚlowerÚupperÚopenÚwriteÚhello_cs_templateÚformatÚhello_cs_meson_templater   )r   Úlowercase_tokenÚuppercase_tokenr   r    s        r   Úcreate_executablezCSharpProject.create_executabled   s  € Ýœ& ¨s°D´I·O²OÑ4EÔ4EÑFÔFˆØ)×/Ò/Ñ1Ô1ˆØ$ QÔ'¨/¸!¸"¸"Ô*=Ñ=ˆ
Ø% aÔ(¨?¸1¸2¸2Ô+>Ñ>ÀÑFˆÝˆ[˜#¨Ð0Ñ0Ô0×6Ò6Ý×$Ò$°$´)Ø0:ð %ñ <ô <ñ	=ô 	=ð 	=õ 	ˆ]˜C¨'Ð2Ñ2Ô2×8Ò8Ý
!×
(Ò
(°d´iØ26´)Ø5@Ø15´ð )ñ ?ô ?ñ	@ô 	@ð 	@ð 	@ð 	@r   c                ó¤  — t          j        dd| j                             ¦   «         ¦  «        }|                     ¦   «         }|d         |dd …         z   }|d         |dd …         z   dz   }|dz   }|d         |dd …         z   dz   }|d         |dd …         z   dz   }|||||||| j        ||| j        dœ}t          |d	d
¬¦  «                             t          j	        di |¤Ž¦  «         t          |d	d
¬¦  «                             t          j	        di |¤Ž¦  «         t          dd	d
¬¦  «                             t          j	        di |¤Ž¦  «         d S )Nr   r   r   r   Ú_testr   z_test.cs)ÚutokenÚltokenÚ
class_testr   Úsource_fileÚtest_source_fileÚtest_exe_namer   Úlib_nameÚ	test_namer   r   r   r   r   © )r!   r"   r
   r#   r$   r   r%   r&   Úlib_cs_templater(   Úlib_cs_test_templateÚlib_cs_meson_template)	r   r*   r+   r   r1   Úproject_testÚlib_cs_nameÚtest_cs_nameÚkwargss	            r   Úcreate_libraryzCSharpProject.create_libraryr   s…  € Ýœ& ¨s°D´I·O²OÑ4EÔ4EÑFÔFˆØ)×/Ò/Ñ1Ô1ˆØ$ QÔ'¨/¸!¸"¸"Ô*=Ñ=ˆ
Ø$ QÔ'¨/¸!¸"¸"Ô*=Ñ=ÀÑGˆ
Ø&¨Ñ0ˆØ% aÔ(¨?¸1¸2¸2Ô+>Ñ>ÀÑFˆØ& qÔ)¨O¸A¸B¸BÔ,?Ñ?À*ÑLˆØ+Ø+Ø *Ø *Ø!,Ø&2Ø#/Ø"&¤)Ø-Ø.Ø!œ\ðð ˆõ 	ˆ[˜#¨Ð0Ñ0Ô0×6Ò6µÔ7MÐ7WÐ7WÐPVÐ7WÐ7WÑXÔXÐXÝˆ\˜3¨Ð1Ñ1Ô1×7Ò7Õ8LÔ8SÐ8]Ð8]ÐV\Ð8]Ð8]Ñ^Ô^Ð^Ýˆ]˜C¨'Ð2Ñ2Ô2×8Ò8Õ9NÔ9UÐ9_Ð9_ÐX^Ð9_Ð9_Ñ`Ô`Ð`Ð`Ð`r   )r   r   )Ú__name__Ú
__module__Ú__qualname__r	   r,   r?   Ú__classcell__)r   s   @r   r   r   ^   sl   ø€ € € € € ð'ð 'ð 'ð 'ð 'ð
@ð @ð @ð @ðað að að að að að að ar   r   )Ú
__future__r   Úmesonbuild.templates.sampleimplr   r!   r'   r)   r8   r9   r:   r   r7   r   r   ú<module>rF      s™   ðð #Ð "Ð "Ð "Ð "Ð "à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 	€	€	€	ðÐ ð"Ð ð	€ðÐ ð Ð ð(*að *að *að *að *a�Jñ *aô *að *að *að *ar   