§
    �t¯b¹  ã                  óÀ   — d dl mZ d dlZddlmZmZmZmZm	Z	m
Z
mZmZmZmZmZ ddlmZ ej        rddlmZ ddlmZ  G d„ d	eej        e                  e¦  «        ZdS )
é    )ÚannotationsNé   )ÚObjectHolderÚIterableObjectÚMesonOperatorÚtyped_operatorÚnoKwargsÚ	noPosargsÚnoArgsFlatteningÚtyped_pos_argsÚ
FeatureNewÚTYPE_varÚInvalidArguments)ÚPlusAssignmentNode)ÚInterpreter)ÚTYPE_kwargsc                  ór  ‡ — e Zd Zdˆ fd„Zd d	„Zd!d
„Zd"d„Zd#d„Zee	 e
de¦  «        d$d„¦   «         ¦   «         ¦   «         Ze	ed%d„¦   «         ¦   «         Zee	 e
deeg¬¦  «        d&d„¦   «         ¦   «         ¦   «         Z eej        e¦  «        d'd„¦   «         Z eej        e¦  «        d(d„¦   «         Zˆ xZS ))ÚArrayHolderÚobjúT.List[TYPE_var]Úinterpreterú'Interpreter'ÚreturnÚNonec                ó  •‡ — t          ¦   «                              ||¦  «         ‰ j                             ‰ j        ‰ j        ‰ j        dœ¦  «         ‰ j                             t          j	        t          ˆ fd„ft          j        t          ˆ fd„ft          j        t          ˆ fd„ft          j        t          ˆ fd„fi¦  «         ‰ j                             t          j        ‰ j        t          j        ‰ j        i¦  «         d S )N)ÚcontainsÚlengthÚgetc                ó   •— ‰j         | k    S ©N©Úheld_object©ÚxÚselfs    €úI/usr/lib/python3/dist-packages/mesonbuild/interpreter/primitives/array.pyú<lambda>z&ArrayHolder.__init__.<locals>.<lambda>'   s   ø€ °4Ô3CÀqÒ3H€ ó    c                ó   •— ‰j         | k    S r    r!   r#   s    €r&   r'   z&ArrayHolder.__init__.<locals>.<lambda>(   s   ø€ °tÔ7GÈ1Ò7L€ r(   c                ó   •— | ‰j         v S r    r!   r#   s    €r&   r'   z&ArrayHolder.__init__.<locals>.<lambda>)   s   ø€ °°dÔ6FÐ1F€ r(   c                ó   •— | ‰j         vS r    r!   r#   s    €r&   r'   z&ArrayHolder.__init__.<locals>.<lambda>*   s   ø€ °Q¸dÔ>NÐ5N€ r(   )ÚsuperÚ__init__ÚmethodsÚupdateÚcontains_methodÚlength_methodÚ
get_methodÚtrivial_operatorsr   ÚEQUALSÚlistÚ
NOT_EQUALSÚINÚobjectÚNOT_INÚ	operatorsÚPLUSÚop_plusÚINDEXÚop_index)r%   r   r   Ú	__class__s   `  €r&   r-   zArrayHolder.__init__   s  øø€ Ý‰Œ×Ò˜˜kÑ*Ô*Ð*ØŒ×ÒØÔ,ØÔ(Ø”?ð
ð 
ñ 	ô 	ð 	ð 	Ô×%Ò%ÝÔ ¥4Ð)HÐ)HÐ)HÐ)HÐ"IÝÔ$¥tÐ-LÐ-LÐ-LÐ-LÐ&MÝÔ�vÐ'FÐ'FÐ'FÐ'FÐGÝÔ ¥6Ð+NÐ+NÐ+NÐ+NÐ"Oð	'
ñ 	ô 	ð 	ð 	Œ×ÒÝÔ ¤ÝÔ ¤ð
ñ 	ô 	ð 	ð 	ð 	r(   Ústrc                ó   — dS )NÚarray© ©r%   s    r&   Údisplay_namezArrayHolder.display_name3   s   € Øˆwr(   c                ó   — d S r    rC   rD   s    r&   Úiter_tuple_sizezArrayHolder.iter_tuple_size6   s   € Øˆtr(   úT.Iterator[TYPE_var]c                ó*   — t          | j        ¦  «        S r    )Úiterr"   rD   s    r&   Ú	iter_selfzArrayHolder.iter_self9   s   € Ý�DÔ$Ñ%Ô%Ð%r(   Úintc                ó*   — t          | j        ¦  «        S r    ©Úlenr"   rD   s    r&   ÚsizezArrayHolder.size<   s   € Ý�4Ô#Ñ$Ô$Ð$r(   zarray.containsÚargsúT.Tuple[object]Úkwargsr   Úboolc                ó4   ‡‡— dˆˆfd„Š ‰| j         ¦  «        S )NÚelr   r   rT   c                óz   •— | D ]6}t          |t          ¦  «        r ‰|¦  «        }|r dS |‰d         k    r dS Œ7dS )NTr   F)Ú
isinstancer5   )rV   ÚelementÚfoundrQ   Úcheck_containss      €€r&   r[   z3ArrayHolder.contains_method.<locals>.check_containsC   sb   ø€ Øð  ð  �Ý˜g¥tÑ,Ô,ð $Ø*˜N¨7Ñ3Ô3�EØð $Ø#˜t˜tØ˜d 1œgÒ%Ð%Ø˜4˜4ð &à�5r(   )rV   r   r   rT   r!   )r%   rQ   rS   r[   s    ` @r&   r0   zArrayHolder.contains_method?   s<   øø€ ð	ð 	ð 	ð 	ð 	ð 	ð 	ð ˆ~˜dÔ.Ñ/Ô/Ð/r(   c                ó*   — t          | j        ¦  «        S r    rN   )r%   rQ   rS   s      r&   r1   zArrayHolder.length_methodN   s   € õ �4Ô#Ñ$Ô$Ð$r(   z	array.get)Úoptargsú"T.Tuple[int, T.Optional[TYPE_var]]r   c                óþ   — |d         }|t          | j        ¦  «         k     s|t          | j        ¦  «        k    r8|d         €(t          d|› dt          | j        ¦  «        › d�¦  «        ‚|d         S | j        |         S )Nr   é   zArray index z$ is out of bounds for array of size ú.)rO   r"   r   )r%   rQ   rS   Úindexs       r&   r2   zArrayHolder.get_methodS   sŠ   € ð �Q”ˆØ•C˜Ô(Ñ)Ô)Ð)Ò)Ð)¨Uµc¸$Ô:JÑ6KÔ6KÒ-KÐ-KØ�AŒwˆÝ&Ð'y°eÐ'yÐ'yÕadÐeiÔeuÑavÔavÐ'yÐ'yÐ'yÑzÔzÐzØ˜”7ˆNØÔ Ô&Ð&r(   Úotherc                óÀ   — t          |t          ¦  «        s@t          | j        t          ¦  «        s#t	          j        dd| j        d| j        ¬¦  «         |g}| j        |z   S )Nzlist.<plus>z0.60.0z&The right hand operand was not a list.)Úlocation)rX   r5   Úcurrent_noder   r   Ú
single_useÚ
subprojectr"   ©r%   rc   s     r&   r<   zArrayHolder.op_plus^   so   € å˜%¥Ñ&Ô&ð 	Ý˜dÔ/Õ1CÑDÔDð BÝÔ% m°X¸t¼ÐPxØ/3Ô/@ðBñ Bô Bð Bà�GˆEØÔ %Ñ'Ð'r(   c           	     óŠ   — 	 | j         |         S # t          $ r) t          d|› dt          | j         ¦  «        › d�¦  «        ‚w xY w)NzIndex z  out of bounds of array of size ra   )r"   Ú
IndexErrorr   rO   ri   s     r&   r>   zArrayHolder.op_indexg   sd   € ð	mØÔ# EÔ*Ð*øÝð 	mð 	mð 	mÝ"Ð#k¨EÐ#kÐ#kÕSVÐW[ÔWgÑShÔShÐ#kÐ#kÐ#kÑlÔlÐlð	møøøs	   ‚ �3A)r   r   r   r   r   r   )r   r@   )r   r   )r   rH   )r   rL   )rQ   rR   rS   r   r   rT   )rQ   r   rS   r   r   rL   )rQ   r^   rS   r   r   r   )rc   r   r   r   )rc   rL   r   r   )Ú__name__Ú
__module__Ú__qualname__r-   rE   rG   rK   rP   r   r	   r   r8   r0   r
   r1   rL   r2   r   r   r;   r<   r=   r>   Ú__classcell__)r?   s   @r&   r   r      s«  ø€ € € € € ðð ð ð ð ð ð*ð ð ð ðð ð ð ð&ð &ð &ð &ð%ð %ð %ð %ð ØØ€^Ð$ fÑ-Ô-ð
0ð 
0ð 
0ñ .Ô-ñ „Xñ Ôð
0ð Øð%ð %ð %ñ „Yñ „Xð%ð ØØ€^�K ¨v¨hÐ7Ñ7Ô7ð'ð 'ð 'ñ 8Ô7ñ „Xñ Ôð'ð €^�MÔ&¨Ñ/Ô/ð(ð (ð (ñ 0Ô/ð(ð €^�MÔ'¨Ñ-Ô-ðmð mð mñ .Ô-ðmð mð mð mð mr(   r   )Ú
__future__r   ÚtypingÚTÚinterpreterbaser   r   r   r   r	   r
   r   r   r   r   r   Úmparserr   ÚTYPE_CHECKINGr   r   r   ÚListr   rC   r(   r&   ú<module>rw      s?  ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )à„?ð /à*Ð*Ð*Ð*Ð*Ð*Ø.Ð.Ð.Ð.Ð.Ð.ðOmð Omð Omð Omð Om�,˜qœv hÔ/Ô0°.ñ Omô Omð Omð Omð Omr(   