
    I/Ph                         d dl mZ  G d de          Z G d de          Z G d de          Z G d d	e          Z G d
 de          ZdS )    )defaultdictc                       e Zd ZdS )DuplicatedNameErrorN)__name__
__module____qualname__     R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/llvmlite/ir/_utils.pyr   r      s        Dr
   r   c                   .    e Zd Zd Zd ZddZd Zd ZdS )		NameScopec                 b    t          dg          | _        t          t                    | _        d S )N )set_usesetr   int_basenamemapselfs    r   __init__zNameScope.__init__	   s'    B4yy',,r
   c                     || j         v S N)r   )r   names     r   is_usedzNameScope.is_used   s    t|##r
   Fc                     |r|                      |          }n$|                     |          rt          |          | j                            |           |S r   )deduplicater   r   r   add)r   r   r   s      r   registerzNameScope.register   s\     	,##D))DD\\$ 	,%d+++r
   c                     |}|                      |          rE| j        |         dz   }|| j        |<   d                    ||          }|                      |          E|S )N   z{0}.{1})r   r   format)r   r   basenameidents       r   r   zNameScope.deduplicate   sl    ll4   	5%h/!3E*/Dh'##He44D ll4   	5 r
   c                 4     t          |           |           S )N)parent)typer   s    r   	get_childzNameScope.get_child    s    tDzz&&&&r
   NF)r   r   r   r   r   r   r   r'   r	   r
   r   r   r      sd        - - -$ $ $     ' ' ' ' 'r
   r   c                       e Zd Zd Zd ZdS )_StrCachingc                 .    	 | ` d S # t          $ r Y d S w xY wr   )_StrCaching__cached_strAttributeErrorr   s    r   _clear_string_cachez_StrCaching._clear_string_cache&   s5    	!!! 	 	 	DD	s    
c                 l    	 | j         S # t          $ r  |                                 x}| _         |cY S w xY wr   )r,   r-   
_to_stringr   ss     r   __str__z_StrCaching.__str__,   sK    	$$ 	 	 	$(OO$5$55A!HHH	   	 '33N)r   r   r   r.   r3   r	   r
   r   r*   r*   $   s2              r
   r*   c                       e Zd Zd ZdS )_StringReferenceCachingc                 l    	 | j         S # t          $ r  |                                 x}| _         |cY S w xY wr   )&_StringReferenceCaching__cached_refstrr-   _get_referencer1   s     r   get_referencez%_StringReferenceCaching.get_reference6   sM    	'' 	 	 	'+':':'<'<<A$HHH	r4   N)r   r   r   r:   r	   r
   r   r6   r6   4   s#            r
   r6   c                       e Zd Zd ZddZdS )_HasMetadatac                     || j         |<   dS )zc
        Attach unnamed metadata *node* to the metadata slot *name* of this
        value.
        N)metadata)r   r   nodes      r   set_metadataz_HasMetadata.set_metadata@   s    
 #dr
   Fc                     | j         rTg }|r|                    d           |d | j                                         D             z  }d                    |          S dS )Nr   c                 d    g | ]-\  }}d                      ||                                          .S )z!{0} {1})r!   r:   ).0kvs      r   
<listcomp>z4_HasMetadata._stringify_metadata.<locals>.<listcomp>L   sF     7 7 71 %%a):):;; 7 7 7r
   z, )r>   appenditemsjoin)r   leading_commabufs      r   _stringify_metadataz _HasMetadata._stringify_metadataG   sq    = 	C 

2 7 7 $ 3 3 5 57 7 7 7C99S>>!2r
   Nr(   )r   r   r   r@   rL   r	   r
   r   r<   r<   >   s7        # # #	 	 	 	 	 	r
   r<   N)	collectionsr   	NameErrorr   objectr   r*   r6   r<   r	   r
   r   <module>rP      s    # # # # # #	 	 	 	 	) 	 	 	' ' ' ' ' ' ' '8    &        f       6     r
   