
    `i\                         d dl Z d dlZd dlmZmZ d dlmZ g Zd Zd Z	d Z
d Z e j        de j                  Zd	 ZdS )
    N)typingsigutils)ExportEntryc                 r    t          j        dt          d           t          |           \  fd}|S )Nz9export() is deprecated, use the numba.pycc.CC API instead   
stacklevelc                     t          j                  \  }}t          j        |g|R  }t	          ||           }t
                              |           d S )N)symbol	signaturefunction)r   normalize_signaturer   r   r   export_registryappend)func	fn_argtysfn_rettyr   entrysigsyms        i/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/numba/pycc/decorators.pywrapppedzexport.<locals>.wrappped   s^    &:3??	8$X:	:::	3)dKKKu%%%%%    )warningswarnDeprecationWarningparse_prototype)	prototyper   r   r   s     @@r   exportr      s]    MM$4 4 4 4 y))HC& & & & & & Or   c                 J     t          j        dt          d            fd}|S )Nz=exportmany() is deprecated, use the numba.pycc.CC API insteadr   r   c                 B    D ]} t          |          |            d S N)r   )r   proto
prototypess     r   wrappedzexportmany.<locals>.wrapped   s5     	  	 EF5MM$	  	 r   )r   r   r   )r$   r%   s   ` r   
exportmanyr&      sD    MQ$4 4 4 4          Nr   c           	          | D ]Y}t          |          5 }t          t          |                                |d                     ddd           n# 1 swxY w Y   ZdS )z_
    Read input source files for execution of legacy @export / @exportmany
    decorators.
    execN)openr(   compileread)inputsifilefins      r   process_input_filesr/   %   s    
  5 5%[[ 	5CUF33444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	55 5s   1AA	A	c                      g t           d d <   d S r"   )r    r   r   clear_export_registryr2   /   s    OAAAr   z[_a-z][_a-z0-9]*c                     t                               |           }|st          d          |                    d          }|                    d          }| ||         }| |dz   d         }||fS )zSeparate the symbol and function-type in a a string with
    "symbol function-type" (e.g. "mult float(float, float)")

    Returns
    ---------
    (symbol_string, functype_string)
    z*Invalid function name for export prototyper      N)	re_symbolmatch
ValueErrorstartend)textmser   functypes         r   r   r   8   st     	A GEFFF	

A	aA!A#YFAEFF|H8r   )rer   
numba.corer   r   numba.pycc.compilerr   r   r   r&   r/   r2   r*   Ir5   r   r1   r   r   <module>rC      s    				  ' ' ' ' ' ' ' ' + + + + + +     5 5 5   BJ*BD11	    r   