§
    ƒnóc�  ã                  óø   — d dl mZ d dlZd dlZd dlmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZmZmZmZmZmZ d dlmZmZ dd	lmZmZmZ d
dlmZ ej        rddlmZ d
dl m!Z! d
dl"m#Z#  G d„ de¦  «        Z$dd„Z%dS )é    )ÚannotationsN)Úmesonlib)ÚCustomTargetÚCustomTargetIndexÚGeneratedListÚTarget)Údetect_compiler_for)ÚContainerTypeInfoÚFeatureDeprecatedÚ
FeatureNewÚ	KwargInfoÚtyped_pos_argsÚtyped_kwargs)Úversion_compareÚMachineChoiceé   )ÚNewExtensionModuleÚModuleReturnValueÚ
ModuleInfoé   )ÚNoneType)ÚModuleState)ÚCompiler)ÚInterpreterc                  ó  ‡ — e Zd Z edd¦  «        Zdˆ fd„Zdd
„Z edd¦  «         edd¦  «         e	de
ej        eeef¬¦  «         ed ed eee
¦  «        g dd¬¦  «         ede
efd¬¦  «        ¦  «        d d„¦   «         ¦   «         ¦   «         ¦   «         Z edd¦  «         e	de
ej        eeef¬¦  «         ed ed eee
¦  «        g dd¬¦  «         ede
efd¬¦  «        ¦  «        d d„¦   «         ¦   «         ¦   «         Zd d„Zˆ xZS )!Ú
JavaModuleÚjavaz0.60.0Úinterpreterr   c                ó–   •— t          ¦   «                              ¦   «          | j                             | j        | j        dœ¦  «         d S )N)Úgenerate_native_headersÚnative_headers)ÚsuperÚ__init__ÚmethodsÚupdater    r!   )Úselfr   Ú	__class__s     €ú9/usr/lib/python3/dist-packages/mesonbuild/modules/java.pyr#   zJavaModule.__init__$   sS   ø€ Ý‰Œ×ÒÑÔÐØŒ×ÒØ'+Ô'CØ"Ô1ð
ð 
ñ 	ô 	ð 	ð 	ð 	ó    Ústater   Úreturnr   c                óÖ   — d|j         j        j        t          j                 vr t          |j         dt          j        ¦  «         |j         j        j        t          j                 d         S )Nr   )ÚenvironmentÚcoredataÚ	compilersr   ÚBUILDr	   )r&   r*   s     r(   Ú__get_java_compilerzJavaModule.__get_java_compiler+   sR   € Ø˜Ô*Ô3Ô=½mÔ>QÔRÐRÐRÝ Ô 1°6½=Ô;NÑOÔOÐOØÔ Ô)Ô3µMÔ4GÔHÈÔPÐPr)   zjava.generate_native_headersz0.62.0z1.0.0)ÚvarargsÚclassesT)ÚdefaultÚlistifyÚrequiredÚpackageN)r4   Úargsú&T.Tuple[T.List[mesonlib.FileOrString]]ÚkwargsúT.Dict[str, T.Optional[str]]r   c                ó0   — |                       |||¦  «        S ©N©Ú_JavaModule__native_headers©r&   r*   r8   r:   s       r(   r    z"JavaModule.generate_native_headers0   s   € ð ×$Ò$ U¨D°&Ñ9Ô9Ð9r)   zjava.native_headersc                ó0   — |                       |||¦  «        S r=   r>   r@   s       r(   r!   zJavaModule.native_headers=   s   € ð ×$Ò$ U¨D°&Ñ9Ô9Ð9r)   c           
     ó:  — t          j        d|                     d¦  «        ¦  «        }|                     d¦  «        }|r*|                     dd¦  «                             dd¦  «        }g }|D ]N}|                     dd¦  «        }	|r|                     |› d|	› d�¦  «         Œ6|                     |	› d�¦  «         ŒO|                      |¦  «        }
t          j        |
j        dd	d
|j	        dg¦  «        }|s|d         n|}t          |› d�|j	        |j        |j        ||d         ||j        ¬¦  «        }t          |
j        d¦  «        rAt!          j        |j                             |¦  «        ¦  «                             dd¬¦  «         t)          ||g¦  «        S )NzT.List[str]r3   r7   ú-Ú_ú.z.hz-dz@PRIVATE_DIR@z-hz@INPUT@r   z-native-headers)ÚsourcesÚoutputsÚbackendz1.8.0T)ÚparentsÚexist_ok)ÚTÚcastÚgetÚreplaceÚappendÚ_JavaModule__get_java_compilerr   r5   ÚexelistÚsubdirr   Ú
subprojectr-   rH   r   ÚversionÚpathlibÚPathÚget_target_private_dir_absÚmkdirr   )r&   r*   r8   r:   r3   r7   Úsanitized_packageÚheadersÚclazzÚsanitized_clazzÚjavacÚcommandÚprefixÚtargets                 r(   Ú__native_headerszJavaModule.__native_headersI   sÆ  € å”&˜¨¯
ª
°9Ñ(=Ô(=Ñ>Ô>ˆØ—*’*˜YÑ'Ô'ˆàð 	LØ '§¢°°SÑ 9Ô 9× AÒ AÀ#ÀsÑ KÔ KÐà!ˆØð 	7ð 	7ˆEØ#Ÿmšm¨C°Ñ5Ô5ˆOØð 7Ø—’Ð"3ÐIÐI°oÐIÐIÐIÑJÔJÐJÐJà—’ /Ð5Ð5Ð5Ñ6Ô6Ð6Ð6à×(Ò(¨Ñ/Ô/ˆåÔ"ØŒMØØØØŒLØð$
ñ ô ˆð $+Ð7�˜”�°ˆå Ð8Ð8Ð8Ø#œlØ#Ô.Ø#Ô/Ø%Ø&*¨1¤g°wÈÌðWñ Wô Wˆõ ˜5œ=¨'Ñ2Ô2ð 	nÝŒL˜œ×AÒAÀ&ÑIÔIÑJÔJ×PÒPÐY]ÐhlÐPÑmÔmÐmå  ¨&¨Ñ2Ô2Ð2r)   )r   r   )r*   r   r+   r   )r*   r   r8   r9   r:   r;   r+   r   )Ú__name__Ú
__module__Ú__qualname__r   ÚINFOr#   rP   r   r   r   Ústrr   ÚFiler   r   r   r   r   r
   Úlistr   r    r!   r?   Ú__classcell__)r'   s   @r(   r   r       s  ø€ € € € € àˆ:�f˜hÑ'Ô'€Dðð ð ð ð ð ðQð Qð Qð Qð
 €ZÐ.°Ñ9Ô9ØÐÐ5°wÑ?Ô?Ø€^Ø&Ø�h”m VÐ->ÀÐNðPñ Pô Pð €\Ø&Øˆ	�)Ð.Ð.¨t°SÑ9Ô9À2ÈtÐ^bÐcÑcÔcØˆ	�)˜c 8˜_°dÐ;Ñ;Ô;ñ=ô =ð:ð :ð :ñ	=ô =ñPô Pñ @Ô?ñ :Ô9ð:ð €ZÐ% wÑ/Ô/Ø€^ØØ�h”m VÐ->ÀÐNðPñ Pô Pð €\ØØˆ	�)Ð.Ð.¨t°SÑ9Ô9À2ÈtÐ^bÐcÑcÔcØˆ	�)˜c 8˜_°dÐ;Ñ;Ô;ñ=ô =ð:ð :ð :ñ	=ô =ñPô Pñ 0Ô/ð:ð)3ð )3ð )3ð )3ð )3ð )3ð )3ð )3r)   r   r8   úT.Anyr:   r+   c                 ó   — t          | i |¤ŽS r=   )r   )r8   r:   s     r(   Ú
initializerl   t   s   € Ý�tÐ&˜vÐ&Ð&Ð&r)   )r8   rj   r:   rj   r+   r   )&Ú
__future__r   rU   ÚtypingrK   Ú
mesonbuildr   Úmesonbuild.buildr   r   r   r   Úmesonbuild.compilersr	   Ú%mesonbuild.interpreterbase.decoratorsr
   r   r   r   r   r   Úmesonbuild.mesonlibr   r   Ú r   r   r   Úinterpreter.type_checkingr   ÚTYPE_CHECKINGr   r/   r   r   r   r   rl   © r)   r(   ú<module>rx      s°  ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ 4Ð 4Ð 4Ð 4Ð 4Ð 4ð Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  Lð  LØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à„?ð *ØÐÐÐÐÐØ$Ð$Ð$Ð$Ð$Ð$Ø)Ð)Ð)Ð)Ð)Ð)ðR3ð R3ð R3ð R3ð R3Ð#ñ R3ô R3ð R3ðh'ð 'ð 'ð 'ð 'ð 'r)   