o
    ncS                     @  sp   d dl mZ ddlmZmZ ddlmZ d dlZd dl	Z
e
jr'ddlmZmZ dddZdddZdddZdS )    )annotations   )mesonlibmparser   )InterpreterExceptionN)TYPE_varTYPE_kwargsargs'T.Union['TYPE_var', T.List['TYPE_var']]returnT.List['TYPE_var']c                 C  s   t | tjrt | jtsJ | jgS t | tjjs| gS g }| D ]"}t |tr0t	|}|| }q t |tjr=|
|j q |
| q |S )N)
isinstancer   Z
StringNodevaluestrcollectionsabcSequencelistflattenappend)r
   resultarest r   home/ych/rk3568/buildroot/output/rockchip_rk3568_recovery/host/lib/python3.10/site-packages/mesonbuild/interpreterbase/helpers.pyr      s   

r   kwargs'TYPE_kwargs'*T.Tuple[T.List['TYPE_var'], 'TYPE_kwargs']c                   s6   d
 fdd  fdd| D  fdd	|  D fS )Narg
'TYPE_var'r   c                   sT   t | tr fdd| D S t | tr fdd|  D S t | tjr(|  S | S )Nc                      g | ]} |qS r   r   .0xresolverr   r   
<listcomp>-       zBresolve_second_level_holders.<locals>.resolver.<locals>.<listcomp>c                      i | ]	\}}| |qS r   r   r#   kvr%   r   r   
<dictcomp>/       zBresolve_second_level_holders.<locals>.resolver.<locals>.<dictcomp>)r   r   dictitemsr   ZSecondLevelHolderZget_default_object)r   r%   r   r   r&   +   s   

z.resolve_second_level_holders.<locals>.resolverc                   r!   r   r   r"   r%   r   r   r'   3   r(   z0resolve_second_level_holders.<locals>.<listcomp>c                   r)   r   r   r*   r%   r   r   r-   3   r.   z0resolve_second_level_holders.<locals>.<dictcomp>)r   r    r   r    )r0   )r
   r   r   r%   r   resolve_second_level_holders*   s   (r1   keymparser.BaseNoder   c                 C  s   t | tjs
td| jS )NzInvalid kwargs format.)r   r   ZIdNoder   r   )r2   r   r   r   default_resolve_key5   s   r4   )r
   r   r   r   )r
   r   r   r   r   r   )r2   r3   r   r   )
__future__r    r   r   
exceptionsr   collections.abcr   typingTTYPE_CHECKINGZbaseobjectsr   r	   r   r1   r4   r   r   r   r   <module>   s   

