
    sh                        S SK Jr  S SKrS SKrS SKJr  \R                  " S5      r\R                  \R                  5        \R                  r\R                  \l
         " S S5      r " S S\5      r " S	 S
\5      r\R                  SS j5       r " S S\R$                  5      r\\l
        \S:X  a  \R*                  " 5         gg)    )StringION)tracingtracec                   0    \ rS rSrSrS rS rS rS rSr	g)	CapturedTrace   z-Capture the trace temporarily for validation.c                 l    [        5       U l        [        R                  " U R                  5      U l        g N)r   bufferloggingStreamHandlerhandlerselfs    l/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_tracing.py__init__CapturedTrace.__init__   s!    j,,T[[9    c                     [         R                  U l        [        5       U l        [
        R                  " U R                  5      /[         l        g r
   )loggerhandlers	_handlersr   r   r   r   r   s    r   	__enter__CapturedTrace.__enter__   s/    j"00=>r   c                 .    U R                   [        l        g r
   )r   r   r   )r   typevalue	tracebacks       r   __exit__CapturedTrace.__exit__   s    ..r   c                 l    U R                   R                  5       nUR                  [        S-   S5      nU$ )N. )r   getvaluereplace__name__)r   logs     r   r$   CapturedTrace.getvalue   s/    
 kk""$kk(S.,
r   )r   r   r   N)
r&   
__module____qualname____firstlineno____doc__r   r   r   r$   __static_attributes__ r   r   r   r      s    7:?)r   r   c                       \ rS rSr\R
                  \S 5       5       r\R
                  \S 5       5       r	Sr
S rS r\R
                  " \" \\5      5      r\R
                  S
S j5       rS rS	rg)Class#   c                     g r
   r.   clss    r   class_methodClass.class_method%        	r   c                      g r
   r.   r.   r   r   static_methodClass.static_method*   r7   r   Nc                     U R                   $ r
   _Class__testr   s    r   	_test_getClass._test_get1   s    {{r   c                     Xl         g r
   r<   r   r   s     r   	_test_setClass._test_set4   s    r   c                     g r
   r.   )r   someotherargskwdss        r   methodClass.method9       r   c                     g),Generate a deterministic string for testing.z<Class instance>r.   r   s    r   __repr__Class.__repr__=   s    !r   __test)r   )r&   r)   r*   r+   r   r   classmethodr5   staticmethodr9   r=   r>   rB   propertytestrI   rN   r-   r.   r   r   r0   r0   #   s    ]]   ]]   F ==)Y78D]] "r   r0   c                   ~    \ rS rSr\S 5       r\S 5       rSr\	S 5       r
\
R                  S 5       r
S rS rS	 rS
rg)Class2A   c                     g r
   r.   r3   s    r   r5   Class2.class_methodB   rK   r   c                      g r
   r.   r.   r   r   r9   Class2.static_methodF   rK   r   Nc                     U R                   $ r
   _Class2__testr   s    r   rU   Class2.testK   s    {{r   c                     Xl         g r
   r^   rA   s     r   rU   r`   N   s    r   c                     g r
   r.   r   s    r   rI   Class2.methodR   s    r   c                 8    S[        U R                  5      -   S-   $ )NzTest())strrU   r   s    r   __str__Class2.__str__U   s    TYY'#--r   c                     g)rM   z<Class2 instance>r.   r   s    r   rN   Class2.__repr__X   s    "r   rP   )r&   r)   r*   r+   rR   r5   rS   r9   r_   rT   rU   setterrI   rg   rN   r-   r.   r   r   rW   rW   A   sf        F 	[[ .#r   rW   c                 (    X-   nX-  nU(       a  U$ U$ r
   r.   )xyzabs        r   rU   rU   ]   s    	A	A((r   c                      ^  \ rS rSrU 4S jrS rS rS rS rS r	S r
S	 r\R                  " S
5      S 5       rSrU =r$ )TestTracingd   c                 (   > [         [        U ]
  " U6   g r
   )superrs   r   )r   rG   	__class__s     r   r   TestTracing.__init__f   s    k4)40r   c                 "    [        5       U l        g r
   )r   capturer   s    r   setUpTestTracing.setUpi   s    $r   c                     U ? g r
   rz   r   s    r   tearDownTestTracing.tearDownl   s    Lr   c                     U R                      [        5       R                  SSS9  S S S 5        U R                  U R                   R	                  5       S5        g ! , (       d  f       N9= f)Nfoobaz)barz]>> Class.method(self=<Class instance>, some='foo', other='value', bar='baz')
<< Class.method
)rz   r0   rI   assertEqualr$   r   s    r   test_methodTestTracing.test_methodo   sJ    \\GNN5eN, ..0-	. \s   A
A'c                     U R                      [        R                  5         S S S 5        U R                  U R                   R	                  5       S5        g ! , (       d  f       N9= f)NzA>> Class.class_method(cls=<class 'Class'>)
<< Class.class_method
)rz   r0   r5   r   r$   r   s    r   test_class_methodTestTracing.test_class_methodw   sD    \\  ..03	4 \   A
A#c                     U R                      [        R                  5         S S S 5        U R                  U R                   R	                  5       S5        g ! , (       d  f       N9= f)Nz$>> static_method()
<< static_method
)rz   r0   r9   r   r$   r   s    r   test_static_methodTestTracing.test_static_method   sD    \\! ..0.	/ \r   c                     U R                      [        5       nSUl        SUR                  :X  d   e S S S 5        U R                  U R                   R	                  5       S5        g ! , (       d  f       N9= f)N   z>> Class._test_set(self=<Class instance>, value=1)
<< Class._test_set
>> Class._test_get(self=<Class instance>)
<< Class._test_get -> 1
)rz   r0   rU   r   r$   r   rU   s     r   test_propertyTestTracing.test_property   sX    \\7DDI		>!>  	..05	6	 \s   $A%%
A3c                     U R                      [        SS5        [        SSS5        S S S 5        U R                  U R                   R                  5       S5        g ! , (       d  f       N9= f)N   FzQ>> test(x=5, y=5, z=True)
<< test -> 10
>> test(x=5, y=5, z=False)
<< test -> 25
)rz   rU   r   r$   r   s    r   test_functionTestTracing.test_function   sO    \\AJAu  	..0+	, \s   A
A(z(recursive decoration not yet implementedc                    U R                      [        R                  " [        SS9  [        R	                  5         [        R                  5         [        5       nSUl        SUR                  :X  d   eUR                  5         U R                  U R                   R                  5       S5        S S S 5        g ! , (       d  f       g = f)NT)	recursiver   zg>> Class2.class_method(cls=<type 'Class2'>)
<< Class2.class_method
>> static_method()
<< static_method
)
rz   r   r   rW   r5   r9   rU   rI   r   r$   r   s     r   test_injectedTestTracing.test_injected   s     \\MM&D1!  "8DDI		>!>KKMT\\224./ \\s   BB55
Cr~   )r&   r)   r*   r+   r   r{   r   r   r   r   r   r   unittestskipr   r-   __classcell__)rw   s   @r   rs   rs   d   sI    1'.4/
6	, ]]=>/ ?/r   rs   __main__)T)ior   r   r   
numba.corer   	getLoggerr   setLevelINFOr   
orig_tracedotracer   objectr0   rW   rU   TestCasers   r&   mainr.   r   r   <module>r      s       			7	#   ]]
 *"F "<#V #8 	 K/(## K/^ zMMO r   