o
    uJAfp  ã                   @  sö   U d dl mZ d dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ ejrbddlmZ ddlmZmZm Z m!Z! eeeeee	eeeeedœZ"de#d< ddd„Z$dS )é    )ÚannotationsN)ÚValaProject)ÚFortranProject)ÚObjCppProject)ÚDlangProject)ÚRustProject)ÚJavaProject)ÚCudaProject)ÚObjCProject)Ú
CppProject)ÚCSharpProject)ÚCProjecté   )Ú	Argumentsé   )Ú	ClassImplÚFileHeaderImplÚFileImplÚ
SampleImpl)ÚcÚcppÚcsÚcudaÚobjcÚobjcppÚjavaÚdÚrustÚfortranÚvalazTT.Mapping[str, T.Union[T.Type[ClassImpl], T.Type[FileHeaderImpl], T.Type[FileImpl]]]Ú_IMPLÚoptionsr   Úreturnr   c                 C  s   t | j | ƒS )N)r    Úlanguage)r!   © r$   úG/usr/lib/python3.10/site-packages/mesonbuild/templates/samplefactory.pyÚsample_generator2   s   r&   )r!   r   r"   r   )%Ú
__future__r   ÚtypingÚTZ"mesonbuild.templates.valatemplatesr   Z%mesonbuild.templates.fortrantemplatesr   Z$mesonbuild.templates.objcpptemplatesr   Z#mesonbuild.templates.dlangtemplatesr   Z"mesonbuild.templates.rusttemplatesr   Z"mesonbuild.templates.javatemplatesr   Z"mesonbuild.templates.cudatemplatesr	   Z"mesonbuild.templates.objctemplatesr
   Z!mesonbuild.templates.cpptemplatesr   Z mesonbuild.templates.cstemplatesr   Zmesonbuild.templates.ctemplatesr   ÚTYPE_CHECKINGÚminitr   Z
sampleimplr   r   r   r   r    Ú__annotations__r&   r$   r$   r$   r%   Ú<module>   s:   õ