§
    �t¯bO  ã                  óŒ   — d dl mZ ddlmZmZmZmZmZmZ d dl	Z
e
j        rddlmZ ddlmZmZ  G d„ dee         ¦  «        ZdS )	é    )Úannotationsé   )ÚObjectHolderÚMesonOperatorÚtyped_pos_argsÚnoKwargsÚ	noPosargsÚInvalidArgumentsN)ÚInterpreter)ÚTYPE_varÚTYPE_kwargsc                  ó’   ‡ — e Zd Zdˆ fd„Zdd	„Zeedd„¦   «         ¦   «         Ze ede	e	g¬¦  «        dd„¦   «         ¦   «         Z
ˆ xZS )ÚBooleanHolderÚobjÚboolÚinterpreterú'Interpreter'ÚreturnÚNonec                ól  •‡ — t          ¦   «                              ||¦  «         ‰ j                             ‰ j        ‰ j        dœ¦  «         ‰ j                             t          j        d ˆ fd„ft          j	        d ˆ fd„ft          j
        t          ˆ fd„ft          j        t          ˆ fd„fi¦  «         d S )N)Úto_intÚ	to_stringc                ó   •— ‰j         S ©N©Úheld_object©ÚxÚselfs    €úK/usr/lib/python3/dist-packages/mesonbuild/interpreter/primitives/boolean.pyú<lambda>z(BooleanHolder.__init__.<locals>.<lambda>   s
   ø€ °Ô1A€ ó    c                ó   •— ‰j          S r   r   r   s    €r    r!   z(BooleanHolder.__init__.<locals>.<lambda>    s   ø€ °DÔ4DÐ0D€ r"   c                ó   •— ‰j         | k    S r   r   r   s    €r    r!   z(BooleanHolder.__init__.<locals>.<lambda>!   s   ø€ °4Ô3CÀqÒ3H€ r"   c                ó   •— ‰j         | k    S r   r   r   s    €r    r!   z(BooleanHolder.__init__.<locals>.<lambda>"   s   ø€ °tÔ7GÈ1Ò7L€ r"   )ÚsuperÚ__init__ÚmethodsÚupdateÚto_int_methodÚto_string_methodÚtrivial_operatorsr   ÚBOOLÚNOTÚEQUALSr   Ú
NOT_EQUALS)r   r   r   Ú	__class__s   `  €r    r'   zBooleanHolder.__init__   sÖ   øø€ Ý‰Œ×Ò˜˜kÑ*Ô*Ð*ØŒ×ÒØÔ(ØÔ.ð
ð 
ñ 	ô 	ð 	ð
 	Ô×%Ò%ÝÔ Ð'AÐ'AÐ'AÐ'AÐ BÝÔ Ð&DÐ&DÐ&DÐ&DÐEÝÔ ¥4Ð)HÐ)HÐ)HÐ)HÐ"IÝÔ$¥tÐ-LÐ-LÐ-LÐ-LÐ&Mð	'
ñ 	ô 	ð 	ð 	ð 	r"   Ústrc                ó   — dS )Nr   © )r   s    r    Údisplay_namezBooleanHolder.display_name%   s   € Øˆvr"   ÚargsúT.List[TYPE_var]Úkwargsr   Úintc                ó   — | j         rdndS )Né   r   r   )r   r6   r8   s      r    r*   zBooleanHolder.to_int_method(   s   € ð Ô$Ð+ˆqˆq¨!Ð+r"   zbool.to_string)Úoptargsú)T.Tuple[T.Optional[str], T.Optional[str]]c                óÂ   — |d         pd}|d         pd}t          d„ |D ¦   «         ¦  «        r(t          d„ |D ¦   «         ¦  «        st          d¦  «        ‚| j        r|n|S )Nr   Útruer;   Úfalsec              3  ó   K  — | ]}|d uV — Œ	d S r   r4   ©Ú.0r   s     r    ú	<genexpr>z1BooleanHolder.to_string_method.<locals>.<genexpr>2   s&   è è € Ð+Ð+ ˆq˜ˆ}Ð+Ð+Ð+Ð+Ð+Ð+r"   c              3  ó   K  — | ]}|d uV — Œ	d S r   r4   rB   s     r    rD   z1BooleanHolder.to_string_method.<locals>.<genexpr>2   s&   è è € Ð7TÐ7TÈ!¸À¸Ð7TÐ7TÐ7TÐ7TÐ7TÐ7Tr"   z…bool.to_string() must have either no arguments or exactly two string arguments that signify what values to return for true and false.)ÚanyÚallr
   r   )r   r6   r8   Útrue_strÚ	false_strs        r    r+   zBooleanHolder.to_string_method-   sŒ   € ð ˜”7Ð$˜fˆØ˜”GÐ&˜wˆ	ÝÐ+Ð+ dÐ+Ñ+Ô+Ñ+Ô+ð 	lµCÐ7TÐ7TÈtÐ7TÑ7TÔ7TÑ4TÔ4Tð 	lÝ"ð  $kñ  lô  lð  lØÔ+Ð:ˆxˆx°Ð:r"   )r   r   r   r   r   r   )r   r2   )r6   r7   r8   r   r   r9   )r6   r=   r8   r   r   r2   )Ú__name__Ú
__module__Ú__qualname__r'   r5   r   r	   r*   r   r2   r+   Ú__classcell__)r1   s   @r    r   r      sº   ø€ € € € € ðð ð ð ð ð ðð ð ð ð Øð,ð ,ð ,ñ „Yñ „Xð,ð Ø€^Ð$¨s°C¨jÐ9Ñ9Ô9ð;ð ;ð ;ñ :Ô9ñ „Xð;ð ;ð ;ð ;ð ;r"   r   )Ú
__future__r   Úinterpreterbaser   r   r   r   r	   r
   ÚtypingÚTÚTYPE_CHECKINGr   r   r   r   r   r   r4   r"   r    ú<module>rS      sä   ðð #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð à„?ð 9à*Ð*Ð*Ð*Ð*Ð*Ø8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ð;ð ;ð ;ð ;ð ;�L Ô&ñ ;ô ;ð ;ð ;ð ;r"   