
    e                    b    d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d
ddZddZdd	Zy)    )annotations)	argumentsinference_tipnodes)InferenceContext)UseInferenceDefault)AstroidManagerNc                   t         j                  j                  | |      }|j                  s
t	               t        j                  d| j                  | j                  t        j                         | j                  | j                        }| j                  |_        t        |j                        D ]4  }t        j                         }||_        ||_        |g|j                   |<   6 t#        |j%                         f      S )N)context	Namespace)lineno
col_offsetparent
end_linenoend_col_offset)r   CallSite	from_callkeyword_argumentsr   r   ClassDefr   r   Unknownr   r   r   set	EmptyNodeattrnameinstance_attrsiterinstantiate_class)noder   callsite
class_nodeattr	fake_nodes         >/usr/lib/python3/dist-packages/astroid/brain/brain_argparse.pyinfer_namespacer#      s    !!++D'+BH%%!##{{??}}??**J JH../ 6OO%	%	!	+4+
!!$'	6
 --/122    c                    | j                   }t        |t        j                        rP|j                  dk(  xr? t        |j
                  t        j                        xr |j
                  j                  dk(  S y)Nr   argparseF)func
isinstancer   	Attributer   exprNamename)r   r'   s     r"   _looks_like_namespacer-   &   s[    99D$(MM[( -499ejj1-		*,	

 r$   c                h    | j                  t        j                  t        t              t
               y N)register_transformr   Callr   r#   r-   )managers    r"   registerr3   1   s!    

M/24Ir$   r/   )r   zInferenceContext | None)returnbool)r2   r	   r4   None)
__future__r   astroidr   r   r   astroid.contextr   astroid.exceptionsr   astroid.managerr	   r#   r-   r3    r$   r"   <module>r=      s(   
 # 3 3 , 2 *32r$   