
    sh\                         S SK r S SKrS SKJrJr  S SKJr  / rS rS r	S r
S r\ R                  " S\ R                  5      rS	 rg)
    N)typingsigutils)ExportEntryc                 h   ^^ [         R                  " S[        SS9  [        U 5      u  mmUU4S jnU$ )Nz9export() is deprecated, use the numba.pycc.CC API instead   
stacklevelc                    > [         R                  " T5      u  p[        R                  " U/UQ76 n[	        TX0S9n[
        R                  U5        g )N)symbol	signaturefunction)r   normalize_signaturer   r   r   export_registryappend)func	fn_argtysfn_rettyr   entrysigsyms        i/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/pycc/decorators.pywrapppedexport.<locals>.wrappped   sE    &::3?	$$X:	:	3)Ku%    )warningswarnDeprecationWarningparse_prototype)	prototyper   r   r   s     @@r   exportr       s3    MMM$4 y)HC& Or   c                 H   ^  [         R                  " S[        SS9  U 4S jnU$ )Nz=exportmany() is deprecated, use the numba.pycc.CC API insteadr   r   c                 :   > T H  n[        U5      " U 5        M     g N)r    )r   proto
prototypess     r   wrappedexportmany.<locals>.wrapped   s    E5M$  r   )r   r   r   )r%   r&   s   ` r   
exportmanyr(      s#    MMQ$4  Nr   c           	          U  H;  n[        U5       n[        [        UR                  5       US5      5        SSS5        M=     g! , (       d  f       MO  = f)zS
Read input source files for execution of legacy @export / @exportmany
decorators.
execN)openr*   compileread)inputsifilefins      r   process_input_filesr1   %   s;    
 %[CUF34 [ [s   %A
A	c                      / [         S S & g r#   )r    r   r   clear_export_registryr4   /   s    OAr   z[_a-z][_a-z0-9]*c                     [         R                  U 5      nU(       d  [        S5      eUR                  S5      nUR	                  S5      nXU nXS-   S nXE4$ )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   sZ     	AEFF	
A	aAAYFEF|Hr   )rer   
numba.corer   r   numba.pycc.compilerr   r   r    r(   r1   r4   r,   Ir7   r   r3   r   r   <module>rE      sH    	  ' + 5 JJ*BDD1	r   