o
    uJAf!                     @  sh   d dl mZ d dlZddlmZmZmZmZ ddl	m
Z
 ddlmZmZ ejr-ddlmZ dddZdS )    )annotationsN   )InterpreterObjectMesonInterpreterObjectObjectHolderHoldableTypes)InvalidArguments   )HoldableObjectMesonBugException)TYPE_varobjr   returnr   c                 C  s   t | trt | jtsJ | jS t | tr| S t | tr*td|  dt| j dt | t	r=t
d|  dt| j dtd|  dt| j d)Nz	Argument z	 of type z  is not held by an ObjectHolder.z) cannot be passed to a method or functionzUnknown object z in the parameters.)
isinstancer   held_objectr   r   r
   r   type__name__r   r   )r    r   I/usr/lib/python3.10/site-packages/mesonbuild/interpreterbase/_unholder.py	_unholder   s   



r   )r   r   r   r   )
__future__r   typingTbaseobjectsr   r   r   r   
exceptionsr   mesonlibr
   r   TYPE_CHECKINGr   r   r   r   r   r   <module>   s   