+
    UBiN)                      a  0 t $ ^ RIHt ^RIHt ^RIHtHt ^RIH	t	H
t
 ^RIHt ^RIHtHt ^ RIt^ RIt^ RIHt ^ R	IHt ]P.                  '       d   ^ R
IHt ^RIHt ]P8                  ! R]P:                  R]P<                  3,          R7      t]P@                  ]!]"]#]PH                  R,          ]PJ                  ]!R3,          3,          t&R]'R&   ]P@                  ]&]R]PH                  R,          ]PJ                  ]!R3,          3,          t(R]'R&   ]P@                  ](]PR                  3,          t*]PJ                  ]!](3,          t+]PJ                  ]!]*3,          t,]P:                  ]PR                  .]!3,          t-]P8                  ! RRRR7      t.]P:                  ].]..](3,          t/]P:                  R]P`                  ](,          ]+.](3,          t1]Pd                  ! R]!4      t3 ! R R4      t4 ! R R]44      t5 ! R R4      t6 ! R R]54      t7 ! R R]54      t8]]"]#]!]9]:3t;]P@                  ](]3,          t<]P8                  ! R ]<R7      t= ! R! R"]4]P|                  ]=,          4      t? ! R# R$]R%7      t@ ! R& R']5]4      tAR# )(    )annotations)mparser)InvalidCodeInvalidArguments)flattenresolve_second_level_holders)MesonOperator)HoldableObjectMesonBugExceptionN)ABCMeta)AbstractContextManager)	TypeAlias)InterpreterTV_func.)boundTYPE_elementaryr   MesonInterpreterObjectTYPE_varTYPE_op_argT)r   contravariantInterpreterObject
SubProjectc                     a  ] tR t^'t$ / tR]R&   / tR]R&   / tR]R&   R V 3R llt]	R	 R
 l4       t
]	R R l4       tRR/R R lltR R ltR R ltR R ltR R ltR R ltR R ltRtV ;t# )r   zST.Dict[MesonOperator, T.Tuple[T.Union[T.Type, T.Tuple[T.Type, ...]], TYPE_op_func]]TRIVIAL_OPERATORSz#T.Dict[MesonOperator, TYPE_op_func]	OPERATORSzT.Dict[str, TYPE_method_func]METHODSc               $    V ^8  d   QhRRRRRR/# )   clszT.Type[InterpreterObject]kwargszT.AnyreturnNone )formats   "K/usr/lib/python3.14/site-packages/mesonbuild/interpreterbase/baseobjects.py__annotate__InterpreterObject.__annotate__7   s"     > >8 >E >d >    c                	  < \         SV `  ! R/ VB  V P                  p/ V n        / V n        / V n        \        V P                  4       R ,          4       F  pV\        J dZ   V P                  P                  \        P                  \        P                  \        P                  \        P                  /4       Kf  \        V\        4      '       g   K~  V P                  P                  VP                  4       V P                  P                  VP                  4       V P                  P                  VP                  4       K  	  V P                  P!                  4        F[  w  rE\#        VR4      '       d   WPP                  VP$                  &   \#        VR4      '       g   KC  WPP                  VP&                  &   K]  	  V P                  P                  V4       R# ):   NNmeson_methodmeson_operatorNr#   )super__init_subclass__r   r   r   reversedmror   updater	   EQUALS	op_equals
NOT_EQUALSop_not_equals
issubclass__dict__itemshasattrr+   r,   )r   r    saved_trivial_operators
superclassnamemethod	__class__s   &,    r%   r.   #InterpreterObject.__init_subclass__7   sa   !+F+"%"7"7 "
 #3779R=1J.. $$!((*;*E*E!,,.?.M.M& 
 J(9::"":#5#56$$Z%9%9:%%,,Z-I-IJ 2  LL..0LDv~..39F//0v/007=f334	 1
 	$$%<=r(   c                    V ^8  d   QhRRRR/# )r   r<   strr!   T.Callable[[TV_func], TV_func]r#   )r$   s   "r%   r&   r'   X   s      S ; r(   c                   a  R V 3R llpV# )z_Decorator that tags a Python method as the implementation of a method
for the Meson interpreterc                    V ^8  d   QhRRRR/# r   fr   r!   r#   )r$   s   "r%   r&   .InterpreterObject.method.<locals>.__annotate__[        	 	 	W 	r(   c                   < SV n         V # N)r+   )rF   r<   s   &r%   	decorator+InterpreterObject.method.<locals>.decorator[   s    !ANHr(   r#   )r<   rK   s   f r%   r=   InterpreterObject.methodW       	 	 r(   c                    V ^8  d   QhRRRR/# )r   opr	   r!   rB   r#   )r$   s   "r%   r&   r'   a   s      ] 'E r(   c                   a  R V 3R llpV# )z[Decorator that tags a method as the implementation of an operator
for the Meson interpreterc                    V ^8  d   QhRRRR/# rE   r#   )r$   s   "r%   r&   0InterpreterObject.operator.<locals>.__annotate__d   rH   r(   c                   < SV n         V # rJ   )r,   )rF   rP   s   &r%   rK   -InterpreterObject.operator.<locals>.decoratord   s    !AHr(   r#   )rP   rK   s   f r%   operatorInterpreterObject.operator`   rN   r(   
subprojectNc                    V ^8  d   QhRRRR/# )r   rX   zT.Optional['SubProject']r!   r"   r#   )r$   s   "r%   r&   r'   i   s     7 7&> 7$ 7r(   c               	H    R V n         T;'       g    \        R4      V n        R # )N )current_noder   rX   )selfrX   s   &$r%   __init__InterpreterObject.__init__i   s     04$66
2r(   c                   V ^8  d   QhRR/# r   r!   rA   r#   )r$   s   "r%   r&   r'   p   s     # #c #r(   c                	,    \        V 4      P                  # rJ   )type__name__r]   s   &r%   display_nameInterpreterObject.display_namep   s    Dz"""r(   c               (    V ^8  d   QhRRRRRRRR/# )	r   method_namerA   argszT.List[TYPE_var]r    TYPE_kwargsr!   r   r#   )r$   s   "r%   r&   r'   s   s8     m m m 'm $	m
 mr(   c           
     	&   WP                   9   d[   V P                   V,          p\        VR R4      '       g   \        V4      p\        VRR4      '       g   \        W#4      w  r#V! WV4      # \	        RV RV  R\        V 4      P                   R24      h)zno-args-flatteningFz!no-second-level-holder-flatteningzUnknown method "z" in object 	 of type .)r   getattrr   r   r   rc   rd   )r]   ri   rj   r    r=   s   &&&& r%   method_callInterpreterObject.method_calls   s     ,,&\\+.F6#7??t}6#FNN;DI$f--,[MdV9UYZ^U_UhUhTiijkllr(   c               $    V ^8  d   QhRRRRRR/# )r   rV   r	   otherr   r!   r#   )r$   s   "r%   r&   r'      s&     | |m |H | |r(   c                	   WP                   9   d   V P                   V,          pV^ ,          fG   VeC   \        RVP                   RV P                  4        RV R\	        V4      P
                   24      hV^ ,          e\   \        W#^ ,          4      '       gD   \        RVP                   RV P                  4        R\	        V4      P
                   RV R	2	4      hV^,          ! W4      # WP                  9   d   V P                  V,          ! W4      # \        R
V  RV P                  4        RVP                   R24      h)r   zThe unary operator `z` of z was passed the object rm   zThe `z` operator of z! does not accept objects of type z ()zObject z does not support the `z` operator.)
r   r   valuerf   rc   rd   
isinstancer   r   r   )r]   rV   rs   rP   s   &&& r%   operator_callInterpreterObject.operator_call   s   ---''1B!u}!2'*>x~~>NeTXTeTeTgShh  AF  @G  GP  QU  V[  Q\  Qe  Qe  Pf  )g  h  h!u Ea5)A)A&x~~.>nTM^M^M`La  bC  DH  IN  DO  DX  DX  CY  Y[  \a  [b  bc  (d  e  ea5%%~~%>>(+D88GD643D3D3F2GG^_g_m_m^nnyz{{r(   c               $    V ^8  d   QhRRRRRR/# )r   rs   r   opt_typerA   r!   z
T.NoReturnr#   )r$   s   "r%   r&   r'      s!      8 s z r(   c                	    \        \        P                  ! R V P                  4        R\	        V4      P
                   RV R24      4      h)z>
                Trying to compare values of different types (z, z) using zv.
                This was deprecated and undefined behavior previously and is as of 0.60.0 a hard error.
            )r   textwrapdedentrf   rc   rd   )r]   rs   r{   s   &&&r%   _throw_comp_exception'InterpreterObject._throw_comp_exception   sW    x>>B>O>O>Q=RRTUYZ_U`UiUiTjjrs{r| } 
  	r(   c                    V ^8  d   QhRRRR/# r   rs   r   r!   boolr#   )r$   s   "r%   r&   r'      s      x D r(   c                	^    \        V 4      \        V4      Jd   V P                  VR 4       W8H  # z==rc   r   r]   rs   s   &&r%   r3   InterpreterObject.op_equals   s,     :T%[(&&ud3}r(   c                    V ^8  d   QhRRRR/# r   r#   )r$   s   "r%   r&   r'      s      8  r(   c                	^    \        V 4      \        V4      Jd   V P                  VR 4       W8g  # z!=r   r   s   &&r%   r5   InterpreterObject.op_not_equals   s*    :T%[(&&ud3}r(   )r\   rX   )rd   
__module____qualname____firstlineno__r   __annotations__r   r   r.   staticmethodr=   rV   r^   rf   rp   rx   r   r3   r5   __static_attributes____classcell__r>   s   @r%   r   r   '   s     	    68I27
 	   
> >@    7 7#m| r(   c                      ] tR t^tRtRtR# )r   zNAll non-elementary objects and non-object-holders should be derived from this r#   Nrd   r   r   r   __doc__r   r#   r(   r%   r   r      s    Yr(   c                      ] tR t^tRtRtR# )MutableInterpreterObjectz/Dummy class to mark the object type as mutable r#   Nr   r#   r(   r%   r   r      s    :r(   r   c                      ] tR t^tRtRtR# )UnknownValuezThis class is only used for the rewriter/static introspection tool and
indicates that a value cannot be determined statically, either because of
limitations in our code or because the value differs from machine to
machine.r#   Nr   r#   r(   r%   r   r      s    r(   r   c                      ] tR t^tRtRtR# )UndefinedVariablezThis class is only used for the rewriter/static introspection tool and
represents the `value` a meson-variable has if it was never written to.r#   Nr   r#   r(   r%   r   r      s    Or(   r   InterpreterObjectTypeVarc                     a  ] tR t^tR V 3R lltR R lt]P                  ]P                  4      R R l4       t
]P                  ]P                  4      R R l4       tR	 R
 ltRtV ;t# )ObjectHolderc               $    V ^8  d   QhRRRRRR/# )r   objr   interpreterz'Interpreter'r!   r"   r#   )r$   s   "r%   r&   ObjectHolder.__annotate__   s#     	0 	04 	0= 	0UY 	0r(   c                	,  < \         SV `  VP                  R 7       \        P                  '       g<   \        V\        4      '       g&   Q R\        V4      P                   R\         R24       hWn	        W n
        V P                  P                  V n        R# )rX   z.This is a bug: Trying to hold object of type `z` that is not in ``N)r-   r^   rX   TTYPE_CHECKINGrw   HoldableTypesrc   rd   held_objectr   environmentenv)r]   r   r   r>   s   &&&r%   r^   ObjectHolder.__init__   s    K$:$:; c=11  [5cdhildmdvdvcw  xJ  KX  JY  YZ  4[  [1&##//r(   c                   V ^8  d   QhRR/# ra   r#   )r$   s   "r%   r&   r      s     / /c /r(   c                	@    \        V P                  4      P                  # rJ   )rc   r   rd   re   s   &r%   rf   ObjectHolder.display_name   s    D$$%...r(   c                    V ^8  d   QhRRRR/# r   r#   )r$   s   "r%   r&   r      s     ) )x )D )r(   c                	    \        V P                  4      \        V4      Jd   V P                  VR 4       V P                  V8H  # r   rc   r   r   r   s   &&r%   r3   ObjectHolder.op_equals   s<       !e4&&ud35((r(   c                    V ^8  d   QhRRRR/# r   r#   )r$   s   "r%   r&   r      s     ) )8 ) )r(   c                	    \        V P                  4      \        V4      Jd   V P                  VR 4       V P                  V8g  # r   r   r   s   &&r%   r5   ObjectHolder.op_not_equals   s:      !e4&&ud35((r(   c                   V ^8  d   QhRR/# ra   r#   )r$   s   "r%   r&   r      s     l l# lr(   c                	    R \        V 4      P                   R\        V P                  4      P                   RV P                  : R2# )z<[z	] holds [z]: >)rc   rd   r   re   s   &r%   __repr__ObjectHolder.__repr__   sD    DJ''(	$t7G7G2H2Q2Q1RRUVZVfVfUiijkkr(   )r   r   r   )rd   r   r   r   r^   rf   r   rV   r	   r2   r3   r4   r5   r   r   r   r   s   @r%   r   r      sh    	0 	0/  4 45) 6)  8 89) :)
l lr(   r   c                  >    ] tR t^tRtR R ltR R ltR R ltRtR	# )
IterableObjectzFBase class for all objects that can be iterated over in a foreach loopc                   V ^8  d   QhRR/# )r   r!   zT.Optional[int]r#   )r$   s   "r%   r&   IterableObject.__annotate__   s     b b br(   c                F    \        RV P                  P                   24      h)zaReturn the size of the tuple for each iteration. Returns None if only a single value is returned.z$iter_tuple_size not implemented for r   r>   rd   re   s   &r%   iter_tuple_sizeIterableObject.iter_tuple_size   s     "Ft~~G^G^F_ `aar(   c                   V ^8  d   QhRR/# )r   r!   z5T.Iterator[T.Union[TYPE_var, T.Tuple[TYPE_var, ...]]]r#   )r$   s   "r%   r&   r      s     W WP Wr(   c                	F    \        R V P                  P                   24      h)ziter not implemented for r   re   s   &r%   	iter_selfIterableObject.iter_self        ";DNN<S<S;T UVVr(   c                   V ^8  d   QhRR/# )r   r!   intr#   )r$   s   "r%   r&   r      s     W Wc Wr(   c                	F    \        R V P                  P                   24      h)zsize not implemented for r   re   s   &r%   sizeIterableObject.size   r   r(   r#   N)	rd   r   r   r   r   r   r   r   r   r#   r(   r%   r   r      s    PbWW Wr(   r   )	metaclassc                  .   a  ] tR t^tR V 3R lltRtV ;t# )ContextManagerObjectc                    V ^8  d   QhRRRR/# )r   rX   z'SubProject'r!   r"   r#   )r$   s   "r%   r&   !ContextManagerObject.__annotate__   s     0 0< 0D 0r(   c                	(   < \         SV `  VR 7       R# )r   N)r-   r^   )r]   rX   r>   s   &&r%   r^   ContextManagerObject.__init__   s    J/r(   r#   )rd   r   r   r   r^   r   r   r   s   @r%   r   r      s    0 0r(   r   )B__conditional_annotations__
__future__r   r[   r   
exceptionsr   r   helpersr   r   rV   r	   mesonlibr
   r   r}   typingr   abcr   
contextlibr   r   typing_extensionsr   r   r   TypeVarCallableAnyr   UnionrA   r   r   SequenceDictr   r   r   BaseNode	TYPE_nvarrk   TYPE_nkwargsTYPE_key_resolverr   TYPE_op_funcListTYPE_method_funcNewTyper   r   r   r   r   r   listdictr   TYPE_HoldableTypesr   Genericr   r   r   )r   s   @r%   <module>r      s_   # "  5 : # 8    -???+ * ))IQZZQUU
%;
<WWS#tQZZ@Q5RTUTZTZ[^`q[qTr%rs sggo~?WYZYcYcdnYoqrqwqwx{  ~H  yH  rI  I  J)  JGGHg.../	ffS(]#vvc9n%JJ 0 01367 iiZtLzz;4h>?::2AFF84DkRT\\]  YY|S)
| ||Z. Z; ;) O. O  dCt<WWX~56 99%?GYZ l$aii0H&I lBWw W013I 0r(   