
    <h^#                    B   S SK Jr  S SKrS SKrS SKrSSKJrJr  SSK	J
r
JrJrJrJrJrJrJrJrJrJrJr  \R,                  (       a  SSK	JrJr   " S S\\   5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r g)    )annotationsN   )version_compareversion_compare_many)InterpreterObjectMesonOperatorObjectHolder
FeatureNewtyped_operatornoArgsFlatteningnoKwargs	noPosargstyped_pos_argsInvalidArgumentsFeatureBrokenstringifyUserArguments)TYPE_varTYPE_kwargsc                  *   \ rS rSr\R
                  \S 4\R                  \S 4\R                  \S 4\R                  \S 4\R                  \S 4\R                  \S 4\R                  \S 40rSFS	 jr\\" S
\5      \R$                  " S5      SGS j5       5       5       r\\" S\5      \R$                  " S5      SGS j5       5       5       r\\" S\5      \R$                  " S5      SGS j5       5       5       r\\\" S\S9\R$                  " S5      SHS j5       5       5       5       r\\\" SS5      \R$                  " S5      SIS j5       5       5       5       r\\" S\S9\R$                  " S5      SJS j5       5       5       r\\" SS5      \" S\\5      \R$                  " S 5      SKS! j5       5       5       5       r\\" S"\/S#9\R$                  " S$5      SLS% j5       5       5       r\\" S&\/S#9\R$                  " S'5      SMS( j5       5       5       r\\" S)S*5      \" S)\ \ /S#9\R$                  " S+5      SNS, j5       5       5       5       r!\\\R$                  " S-5      SOS. j5       5       5       r"\\\R$                  " S/5      SPS0 j5       5       5       r#\\\R$                  " S15      SPS2 j5       5       5       r$\\\R$                  " S35      SPS4 j5       5       5       r%\\R$                  " S55      \" S6\S7S89SQS9 j5       5       5       r&\'SRS: j5       r(\" S;S<5      \)" \RT                  \5      \RV                  " \RT                  5      SSS= j5       5       5       r,\)" \RZ                  \ 5      \RV                  " \RZ                  5      STS> j5       5       r.\" S?S@5      \)" \R^                  \5      \RV                  " \R^                  5      SUSA j5       5       5       r0\" SBS@5      \)" \Rb                  \5      \RV                  " \Rb                  5      SUSC j5       5       5       r2SDr3gE)VStringHolder   c                     U R                   U-   $ Nheld_objectobjxs     ډ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/interpreter/primitives/string.py<lambda>StringHolder.<lambda>!       11D    c                     U R                   U:H  $ r   r   r   s     r   r    r!   $   s    3??a3Gr#   c                     U R                   U:g  $ r   r   r   s     r   r    r!   %   s    s!7Kr#   c                     U R                   U:  $ r   r   r   s     r   r    r!   &   s    COOa4Gr#   c                     U R                   U:  $ r   r   r   s     r   r    r!   '   r"   r#   c                     U R                   U:  $ r   r   r   s     r   r    r!   (   s    3??a;Or#   c                     U R                   U:*  $ r   r   r   s     r   r    r!   )   s    18Lr#   c                    g)Nstr selfs    r   display_nameStringHolder.display_name,   s    r#   zstr.containscontainsc                D    U R                   R                  US   5      S:  $ Nr   )r   findr.   argskwargss      r   contains_methodStringHolder.contains_method/   s$     $$T!W-22r#   zstr.startswith
startswithc                >    U R                   R                  US   5      $ r3   )r   r:   r5   s      r   startswith_methodStringHolder.startswith_method5   s     **4733r#   zstr.endswithendswithc                >    U R                   R                  US   5      $ r3   )r   r>   r5   s      r   endswith_methodStringHolder.endswith_method;   s     ((a11r#   z
str.format)varargsformatc           	       ^ / mUS    H(  n TR                  [        X0R                  5      5        M*     SU4S jjn[        R                  " SXPR                  5      $ ! [         a\  n[        R
                  " S[        U5       3SU R                  U R                  S9  TR                  [        U5      5         S nAM  S nAff = f)Nr   zstr.format: z1.3.0locationc                ~   > [        U R                  S5      5      nU[        T5      :  a  [        SU S35      eTU   $ )N   zFormat placeholder @z@ out of range.)intgrouplenr   )matchidxarg_stringss     r   arg_replace/StringHolder.format_method.<locals>.arg_replaceN   sB    ekk!n%Cc+&&&)=cU/'RSSs##r#   z@(\d+)@)rL   zT.Match[str]returnr+   )appendr   
subprojectr   r   
single_user+   current_noderesubr   )r.   r6   r7   argerO   rN   s         @r   format_methodStringHolder.format_methodA   s    
 $&7C-""#9##OP 	$ vvj+/?/?@@ $ -((<Ax)@'4??eievevw""3s8,,-s   $A
C(AB??Czstr.splitlinesz1.2.0
splitlinesc                6    U R                   R                  5       $ r   )r   r\   r5   s      r   splitlines_methodStringHolder.splitlines_methodV   s    
 **,,r#   zstr.joinjoinc                >    U R                   R                  US   5      $ r3   )r   r`   r5   s      r   join_methodStringHolder.join_method]   s     $$T!W--r#   zstr.replacez0.58.0replacec                F    U R                   R                  US   US   5      $ Nr   rH   )r   rd   r5   s      r   replace_methodStringHolder.replace_methodc   s%    
 ''Qa99r#   z	str.split)optargssplitc                >    U R                   R                  US   5      $ r3   )r   rj   r5   s      r   split_methodStringHolder.split_methodj   s     %%d1g..r#   z	str.stripstripc                    US   (       a+  [         R                  " SSU R                  U R                  S9  U R                  R                  US   5      $ )Nr   z$str.strip with a positional argumentz0.43.0rE   )r
   rT   rS   rU   r   rn   r5   s      r   strip_methodStringHolder.strip_methodp   sL     7!!"H(TXTcTcnrnn  A%%d1g..r#   zstr.substringz0.56.0	substringc                x    US   b  US   OSnUS   b  US   O[        U R                  5      nU R                  X4 $ rf   )rK   r   )r.   r6   r7   startends        r   substring_methodStringHolder.substring_methodx   sH    
  7.QAa,d1g#d6F6F2G**r#   to_intc                ~     [        U R                  5      $ ! [         a    [        SU R                  < S35      ef = f)NzString z cannot be converted to int)rI   r   
ValueErrorr   r5   s      r   to_int_methodStringHolder.to_int_method   sF    	^t''(( 	^"WT-=-=,@@[#\]]	^s    %<to_lowerc                6    U R                   R                  5       $ r   )r   lowerr5   s      r   to_lower_methodStringHolder.to_lower_method        %%''r#   to_upperc                6    U R                   R                  5       $ r   )r   upperr5   s      r   to_upper_methodStringHolder.to_upper_method   r   r#   underscorifyc                F    [         R                  " SSU R                  5      $ )Nz[^a-zA-Z0-9]_)rV   rW   r   r5   s      r   underscorify_method StringHolder.underscorify_method   s     vvosD,<,<==r#   r   str.version_comparerH   )rB   min_varargsc                    [        US   5      S:  a+  [        R                  " SSU R                  U R                  S9  [        U R                  US   5      S   $ )Nr   rH   z)version_compare() with multiple argumentsz1.8.0rE   )rK   r
   rT   rS   rU   r   r   r5   s      r   version_compare_method#StringHolder.version_compare_method   s^     tAw<!!!"MwX\XgXgrv  sD  sD  E#D$4$4d1g>qAAr#   c                `    [         R                  R                  X5      R                  SS5      $ )N\/)ospathr`   rd   )thisothers     r   _op_divStringHolder._op_div   s"    ww||D(00s;;r#   z/ with string argumentsz0.49.0c                :    U R                  U R                  U5      $ r   )r   r   r.   r   s     r   op_divStringHolder.op_div   s     ||D,,e44r#   c           	          U R                   U   $ ! [         a&    [        SU S[        U R                   5       S35      ef = f)NzIndex z! out of bounds of string of size .)r   
IndexErrorr   rK   r   s     r   op_indexStringHolder.op_index   sT    	n##E** 	n"VE72STWX\XhXhTiSjjk#lmm	ns	    0Az"in" string operatorz1.0.0c                    XR                   ;   $ r   r   r   s     r   op_inStringHolder.op_in   s     ((((r#   z"not in" string operatorc                    XR                   ;  $ r   r   r   s     r   op_notinStringHolder.op_notin   s     ,,,,r#   r,   N)rQ   r+   r6   zT.Tuple[str]r7   r   rQ   bool)r6   zT.Tuple[T.List[TYPE_var]]r7   r   rQ   r+   )r6   T.List[TYPE_var]r7   r   rQ   T.List[str])r6   T.Tuple[T.List[str]]r7   r   rQ   r+   )r6   T.Tuple[str, str]r7   r   rQ   r+   )r6   T.Tuple[T.Optional[str]]r7   r   rQ   r   )r6   r   r7   r   rQ   r+   )r6   z)T.Tuple[T.Optional[int], T.Optional[int]]r7   r   rQ   r+   )r6   r   r7   r   rQ   rI   )r6   r   r7   r   rQ   r+   )r6   r   r7   r   rQ   r   )r   r+   r   r+   rQ   r+   )r   r+   rQ   r+   )r   rI   rQ   r+   )r   r+   rQ   r   )4__name__
__module____qualname____firstlineno__r   PLUSr+   EQUALS
NOT_EQUALSGREATERLESSGREATER_EQUALSLESS_EQUALSTRIVIAL_OPERATORSr/   r   r   r   methodr8   r<   r@   r   objectrZ   r   r
   r^   rb   rg   rl   rp   rI   rv   r{   r   r   r   r   staticmethodr   r   DIVoperatorr   INDEXr   INr   NOT_INr   __static_attributes__r,   r#   r   r   r      s    	S"DE 	s$GH  3(K"L%GHS"DE$$s,O&P!!C)L#M NC(j)3 * ) 3 $c*l+4 , + 4 NC(j)2 * ) 2 L&1h'A ( 2  A"  '*l+- , +  - J,f%. & - . x(M3,i(: ) - ) : K#/g&/ ' 0 / K#/g&/ ' 0 /
 *Oc3Z8k*+ + 9 + +
 h'^ (  ^ j)( *  ( j)( *  ( n-> .  > /0)3AFB G 1 B
 < < )84M%%s+ 1 125 3 , 55 M''- 3 34n 5 .n &0M$$c* 0 01) 2 + 1) *G4M((#. 4 45- 6 / 5-r#   r   c                      \ rS rSrSrg)MesonVersionString   r,   Nr   r   r   r   r   r,   r#   r   r   r          r#   r   c                  j    \ rS rSr\\" S\5      \R                  " S5      SS j5       5       5       r	Sr
g)MesonVersionStringHolder   r   r   c                \    US   U R                   l        [        U R                  US   5      $ r3   )interpretertmp_meson_versionr   r   r5   s      r   r   /MesonVersionStringHolder.version_compare_method   s-     .2!W*t//a99r#   r,   Nr   )r   r   r   r   r   r   r+   r   r   r   r   r,   r#   r   r   r      s8    )3//0: 1 0 :r#   r   c                      \ rS rSrSrg)DependencyVariableString   r,   Nr   r,   r#   r   r   r      r   r#   r   c                  j   ^  \ rS rSr\R
                  " \R                  5      SU 4S jj5       rSr	U =r
$ )DependencyVariableStringHolder   c                H   > [         TU ]  U5      nSU;   a  U$ [        U5      $ )Nz..)superr   r   )r.   r   ret	__class__s      r   r   %DependencyVariableStringHolder.op_div   s(    gnU#5=J',,r#   r,   )r   r+   rQ   z&T.Union[str, DependencyVariableString])r   r   r   r   r   r   r   r   r   r   __classcell__r   s   @r   r   r      s&     1 12- 3-r#   r   c                  4    \ rS rSr% S\S'   SS jrS	S jrSrg)
OptionString   r+   optnamec                <    [         R                  X5      nX#l        U$ r   )r+   __new__r   )clsvaluenamer   s       r   r   OptionString.__new__   s    kk#%
r#   c                0    [        U 5      U R                  4$ r   )r+   r   r-   s    r   __getnewargs__OptionString.__getnewargs__   s    D	4<<((r#   r,   N)r   r+   r   r+   rQ   z'OptionString')rQ   r   )r   r   r   r   __annotations__r   r   r   r,   r#   r   r   r      s    L
)r#   r   c                  v   ^  \ rS rSr% S\S'   \R                  " \R                  5      SU 4S jj5       r	Sr
U =r$ )OptionStringHolder   r   r   c                   > [         TU ]  U5      nU R                  U R                  R                  U5      n[        X#5      $ r   )r   r   r   r   r   r   )r.   r   r   r   r   s       r   r   OptionStringHolder.op_div   s8    gnU#||D,,44e<C&&r#   r,   )r   r+   rQ   zT.Union[str, OptionString])r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   r   r      s,     1 12' 3'r#   r   )!
__future__r   rV   r   typingTmesonlibr   r   interpreterbaser   r   r	   r
   r   r   r   r   r   r   r   r   TYPE_CHECKINGr   r   r+   r   r   r   r   r   r   r   r,   r#   r   <module>r      s    # 	 	  =     ??8b-<$ b-J	 	:| :	s 	-\ -	)3 	)' 'r#   