o
    nc'                     @  sT   d dl mZ d dlZddlmZmZmZmZ ej	rddlm
Z
 G dd deeZdS )    )annotationsN   )MesonInterpreterObjectIterableObjectMesonOperatorInvalidArguments)
SubProjectc                      sF   e Zd Zd fd	d
ZdddZdddZdddZdddZ  ZS )RangeHolderstartintstopstep
subproject'SubProject'returnNonec                  s4   t  j|d t|||| _| jtj| ji d S )N)r   )super__init__rangeZ	operatorsupdater   ZINDEXop_index)selfr
   r   r   r   	__class__ home/ych/rk3568/buildroot/output/rockchip_rk3568_recovery/host/lib/python3.10/site-packages/mesonbuild/interpreter/primitives/range.pyr      s
   
zRangeHolder.__init__otherc                 C  s,   z| j | W S  ty   td| dw )NzIndex z out of bounds of range.)r   
IndexErrorr   )r   r   r   r   r   r      s
   zRangeHolder.op_indexc                 C  s   d S Nr   r   r   r   r   iter_tuple_size   s   zRangeHolder.iter_tuple_sizeT.Iterator[int]c                 C  
   t | jS r   )iterr   r   r   r   r   	iter_self"      
zRangeHolder.iter_selfc                 C  r"   r   )lenr   r   r   r   r   size%   r%   zRangeHolder.size)
r
   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r   r   )r   r!   )r   r   )	__name__
__module____qualname__r   r   r    r$   r'   __classcell__r   r   r   r   r	      s    


r	   )
__future__r   typingTZinterpreterbaser   r   r   r   TYPE_CHECKINGr   r	   r   r   r   r   <module>   s   