
    -Ph                        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 ej        rddlmZ ddlmZ  G d deej        eef                  e          ZdS )	    )annotationsN   )
ObjectHolderIterableObjectMesonOperatortyped_operatornoKwargs	noPosargsnoArgsFlatteningtyped_pos_argsTYPE_varInvalidArguments)Interpreter)TYPE_kwargsc                  ,    e Zd Zd  fdZd!d	Zd"dZd#dZd"dZ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 xZS )(
DictHolderobjT.Dict[str, 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t          j        t           fdfi            j                            t          j         j        i           d S )N)has_keykeysgetc                    i j         | S Nheld_objectxselfs    f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/interpreter/primitives/dict.py<lambda>z%DictHolder.__init__.<locals>.<lambda>&   s    1JD4D1J1J     c                    j         | k    S r   r   r!   s    r$   r%   z%DictHolder.__init__.<locals>.<lambda>)   s    43Cq3H r&   c                    j         | k    S r   r   r!   s    r$   r%   z%DictHolder.__init__.<locals>.<lambda>*   s    t7G17L r&   c                    | j         v S r   r   r!   s    r$   r%   z%DictHolder.__init__.<locals>.<lambda>+   s    a43C.C r&   c                    | j         vS r   r   r!   s    r$   r%   z%DictHolder.__init__.<locals>.<lambda>,   s    !4;K2K r&   )super__init__methodsupdatehas_key_methodkeys_method
get_methodtrivial_operatorsr   PLUSdictEQUALS
NOT_EQUALSINstrNOT_IN	operatorsINDEXop_index)r#   r   r   	__class__s   `  r$   r,   zDictHolder.__init__   s   k****$?
 
 	 	 	 	%%'J'J'J'J K  4)H)H)H)H"I$t-L-L-L-L&Ms$C$C$C$CD 3(K(K(K(K"L	'
 		 		 		 	
 	 	 	 	 	r&   r8   c                    dS )Nr4    r#   s    r$   display_namezDictHolder.display_name4   s    vr&   intc                    dS )N   r?   r@   s    r$   iter_tuple_sizezDictHolder.iter_tuple_size7   s    qr&   "T.Iterator[T.Tuple[str, TYPE_var]]c                N    t          | j                                                  S r   )iterr    itemsr@   s    r$   	iter_selfzDictHolder.iter_self:   s    D$**,,---r&   c                *    t          | j                  S r   )lenr    r@   s    r$   sizezDictHolder.size=   s    4#$$$r&   zdict.has_keyargsT.Tuple[str]kwargsr   boolc                     |d         | j         v S )Nr   r   r#   rN   rP   s      r$   r/   zDictHolder.has_key_method@   s     Aw$***r&   T.List[TYPE_var]T.List[str]c                *    t          | j                  S r   )sortedr    rS   s      r$   r0   zDictHolder.keys_methodE   s     d&'''r&   zdict.get)optargs"T.Tuple[str, T.Optional[TYPE_var]]r   c                    |d         | j         v r| j         |d                  S |d         |d         S t          d|d         d          )Nr      Key  is not in the dictionary.r    r   rS   s      r$   r1   zDictHolder.get_methodJ   sY     7d&&&#DG,,77NKd1gKKKLLLr&   otherc                T    || j         vrt          d| d          | j         |         S )Nr\   r]   r^   )r#   r_   s     r$   r<   zDictHolder.op_indexT   s8    ((("#K%#K#K#KLLL&&r&   )r   r   r   r   r   r   )r   r8   )r   rB   )r   rF   )rN   rO   rP   r   r   rQ   )rN   rT   rP   r   r   rU   )rN   rY   rP   r   r   r   )r_   r8   r   r   )__name__
__module____qualname__r,   rA   rE   rJ   rM   r	   r   r8   r/   r
   r0   r   objectr1   r   r   r;   r<   __classcell__)r=   s   @r$   r   r      sk            0      . . . .% % % % ^NC((+ + + )( X+ ( ( ( Y X( ^JfX666M M M 76 X M ^M'--' ' ' .-' ' ' ' 'r&   r   )
__future__r   typingTinterpreterbaser   r   r   r   r	   r
   r   r   r   r   TYPE_CHECKINGr   r   r   Dictr8   r   r?   r&   r$   <module>rl      s   # " " " " "                            ? /******......=' =' =' =' ='afS(]34n =' =' =' =' ='r&   