+
    UBiD                         R t RR.t^ RIt^ RIHt ]P
                  ! R4      t ! R R]4      t ! R R	]]]P                  4      t	 ! R
 R]],          4      t
R# )zcMeson specific typing helpers.

Holds typing helper classes, such as the ImmutableProtocol classes
ProtocolImmutableListProtocolN)r   Tc                   2   a  ] tR t^t o V 3R lR ltRtV tR# )StringProtocolc                    < V ^8  d   QhRS[ /#    return)str)format__classdict__s   "7/usr/lib/python3.14/site-packages/mesonbuild/_typing.py__annotate__StringProtocol.__annotate__       !!!    c                    R # N selfs   &r   __str__StringProtocol.__str__       cr   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__r   s   @r   r   r      s     !!r   r   c                       ] tR t^tRtR# )SizedStringProtocolr   N)r   r   r   r   r   r   r   r   r#   r#      s    r   r#   c                     a  ] tR t^t o RtV 3R lR lt]P                  V 3R lR l4       t]P                  V 3R lR l4       tV 3R lR	 lt	V 3R
 lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R  lR! ltR"tV tR## )$r   aV  A protocol used in cases where a list is returned, but should not be
mutated.

This provides all of the methods of a Sequence, as well as copy(). copy()
returns a list, which allows mutation as it's a copy and that's (hopefully)
safe.

One particular case this is important is for cached values, since python is
a pass-by-reference language.
c                D   < V ^8  d   QhRS[ P                  S[,          /# r   typingIteratorr   )r   r   s   "r   r   "ImmutableListProtocol.__annotate__+   s    11&//!,1r   c                    R # r   r   r   s   &r   __iter__ImmutableListProtocol.__iter__+   s    cr   c                &   < V ^8  d   QhRS[ RS[/# r	   indexr
   )intr   )r   r   s   "r   r   r)   .   s    ////r   c                    R # r   r   r   r/   s   &&r   __getitem__!ImmutableListProtocol.__getitem__-   s    ,/r   c                J   < V ^8  d   QhRS[ RS[P                  S[,          /# r.   )slicer'   Listr   )r   r   s   "r   r   r)   0   s    >>>6;;q>>r   c                    R # r   r   r2   s   &&r   r3   r4   /   s    ;>r   c                &   < V ^8  d   QhRS[ RS[/# r	   itemr
   )r   bool)r   r   s   "r   r   r)   2   s    000t0r   c                    R # r   r   r   r;   s   &&r   __contains__"ImmutableListProtocol.__contains__2   s    Sr   c                D   < V ^8  d   QhRS[ P                  S[,          /# r   r&   )r   r   s   "r   r   r)   4   s    55fooa05r   c                    R # r   r   r   s   &r   __reversed__"ImmutableListProtocol.__reversed__4   s    #r   c                    < V ^8  d   QhRS[ /# r   )r0   )r   r   s   "r   r   r)   6   r   r   c                    R # r   r   r   s   &r   __len__ImmutableListProtocol.__len__6   r   r   c                n   < V ^8  d   QhRS[ P                  S[,          RS[ P                  S[,          /# r	   otherr
   r'   r7   r   )r   r   s   "r   r   r)   8   s#    CCV[[^CACr   c                    R # r   r   r   rK   s   &&r   __add__ImmutableListProtocol.__add__8   s    r   c                :   < V ^8  d   QhRS[ P                  RS[/# rJ   r'   Anyr<   )r   r   s   "r   r   r)   :       44FJJ444r   c                    R # r   r   rN   s   &&r   __eq__ImmutableListProtocol.__eq__:       r   c                :   < V ^8  d   QhRS[ P                  RS[/# rJ   rR   )r   r   s   "r   r   r)   ;   rT   r   c                    R # r   r   rN   s   &&r   __ne__ImmutableListProtocol.__ne__;   rX   r   c                :   < V ^8  d   QhRS[ P                  RS[/# rJ   rR   )r   r   s   "r   r   r)   <   rT   r   c                    R # r   r   rN   s   &&r   __le__ImmutableListProtocol.__le__<   rX   r   c                :   < V ^8  d   QhRS[ P                  RS[/# rJ   rR   )r   r   s   "r   r   r)   =   rT   r   c                    R # r   r   rN   s   &&r   __lt__ImmutableListProtocol.__lt__=   rX   r   c                :   < V ^8  d   QhRS[ P                  RS[/# rJ   rR   )r   r   s   "r   r   r)   >   rT   r   c                    R # r   r   rN   s   &&r   __gt__ImmutableListProtocol.__gt__>   rX   r   c                :   < V ^8  d   QhRS[ P                  RS[/# rJ   rR   )r   r   s   "r   r   r)   ?   rT   r   c                    R # r   r   rN   s   &&r   __ge__ImmutableListProtocol.__ge__?   rX   r   c                &   < V ^8  d   QhRS[ RS[/# r:   r   r0   )r   r   s   "r   r   r)   A       ((!((r   c                    R # r   r   r>   s   &&r   countImmutableListProtocol.countA       Sr   c                &   < V ^8  d   QhRS[ RS[/# r:   rn   )r   r   s   "r   r   r)   C   ro   r   c                    R # r   r   r>   s   &&r   r/   ImmutableListProtocol.indexC   rs   r   c                D   < V ^8  d   QhRS[ P                  S[,          /# r   rL   )r   r   s   "r   r   r)   E   s    ))fkk!n)r   c                    R # r   r   r   s   &r   copyImmutableListProtocol.copyE   s    cr   r   N)r   r   r   r   __doc__r+   r'   overloadr3   r?   rC   rG   rO   rV   r[   r_   rc   rg   rk   rq   r/   ry   r   r    r!   s   @r   r   r      s     	 21__/ /__> >0055!!CC444444444444(((())r   )r{   __all__r'   typing_extensionsr   TypeVarr   r   Sizedr#   r   r   r   r   <module>r      sc   
 
  ' NN3"X "	(NFLL 	'*HQK '*r   