§
    ƒÛg÷  ã                   ó~  — d dl mZ d dlZd dlZd dlmZ  ej        d¦  «        Ze                     ej	        ¦  «         ej
        Zej        e_
         G d„ d¦  «        Z G d„ de¦  «        Z G d	„ d
e¦  «        Zej
        dd„¦   «         Z G d„ dej        ¦  «        Zee_
        edk    r ej        ¦   «          dS dS )é    )ÚStringION)ÚtracingÚtracec                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚCapturedTracez-Capture the trace temporarily for validation.c                 óh   — t          ¦   «         | _        t          j        | j        ¦  «        | _        d S ©N)r   ÚbufferÚloggingÚStreamHandlerÚhandler©Úselfs    úN/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_tracing.pyÚ__init__zCapturedTrace.__init__   s%   € Ý‘j”jˆŒÝÔ,¨T¬[Ñ9Ô9ˆŒˆˆó    c                 ó–   — t           j        | _        t          ¦   «         | _        t          j        | j        ¦  «        gt           _        d S r	   )ÚloggerÚhandlersÚ	_handlersr   r
   r   r   r   s    r   Ú	__enter__zCapturedTrace.__enter__   s1   € ÝœˆŒÝ‘j”jˆŒÝ"Ô0°´Ñ=Ô=Ð>�Œˆˆr   c                 ó(   — | j         t          _        d S r	   )r   r   r   )r   ÚtypeÚvalueÚ	tracebacks       r   Ú__exit__zCapturedTrace.__exit__   s   € Øœ.�Œˆˆr   c                 ót   — | j                              ¦   «         }|                     t          dz   d¦  «        }|S )Nú.Ú )r
   ÚgetvalueÚreplaceÚ__name__)r   Úlogs     r   r    zCapturedTrace.getvalue   s3   € ð
 Œk×"Ò"Ñ$Ô$ˆØ�kŠk�( S™.¨Ñ,Ô,ˆØˆ
r   N)r"   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r    © r   r   r   r      sV   € € € € € Ø7Ð7ð:ð :ð :ð?ð ?ð ?ð)ð )ð )ðð ð ð ð r   r   c                   óÚ   — e Zd Zej        ed„ ¦   «         ¦   «         Zej        ed„ ¦   «         ¦   «         ZdZ	d„ Z
d„ Z ej         ee
e¦  «        ¦  «        Zej        d	d„¦   «         Zd„ ZdS )
ÚClassc                 ó   — d S r	   r'   ©Úclss    r   Úclass_methodzClass.class_method%   ó	   € ð 	ˆr   c                  ó   — d S r	   r'   r'   r   r   Ústatic_methodzClass.static_method*   r.   r   Nc                 ó   — | j         S r	   ©Ú_Class__testr   s    r   Ú	_test_getzClass._test_get1   s
   € ØŒ{Ðr   c                 ó   — || _         d S r	   r2   ©r   r   s     r   Ú	_test_setzClass._test_set4   s   € ØˆŒˆˆr   r   c                 ó   — d S r	   r'   )r   ÚsomeÚotherÚargsÚkwdss        r   ÚmethodzClass.method9   ó   € àˆr   c                 ó   — dS )ú,Generate a deterministic string for testing.z<Class instance>r'   r   s    r   Ú__repr__zClass.__repr__=   s   € à!Ð!r   )r   )r"   r$   r%   r   r   Úclassmethodr-   Ústaticmethodr0   r3   r4   r7   ÚpropertyÚtestr=   rA   r'   r   r   r)   r)   #   sÓ   € € € € € à„]Øðð ñ „[ñ „]ðð „]Øðð ñ „\ñ „]ðð €Fðð ð ðð ð ð ˆ7Œ=˜˜ )¨YÑ7Ô7Ñ8Ô8€Dà„]ðð ð ñ „]ðð"ð "ð "ð "ð "r   r)   c                   ó†   — e Zd Zed„ ¦   «         Zed„ ¦   «         ZdZed„ ¦   «         Z	e	j
        d„ ¦   «         Z	d„ Zd„ Zd„ ZdS )	ÚClass2c                 ó   — d S r	   r'   r+   s    r   r-   zClass2.class_methodB   r>   r   c                  ó   — d S r	   r'   r'   r   r   r0   zClass2.static_methodF   r>   r   Nc                 ó   — | j         S r	   ©Ú_Class2__testr   s    r   rE   zClass2.testK   s
   € àŒ{Ðr   c                 ó   — || _         d S r	   rK   r6   s     r   rE   zClass2.testN   s   € àˆŒˆˆr   c                 ó   — d S r	   r'   r   s    r   r=   zClass2.methodR   s   € Øˆr   c                 ó6   — dt          | j        ¦  «        z   dz   S )NzTest(ú))ÚstrrE   r   s    r   Ú__str__zClass2.__str__U   s   € Ø�˜TœY™œÑ'¨#Ñ-Ð-r   c                 ó   — dS )r@   z<Class2 instance>r'   r   s    r   rA   zClass2.__repr__X   s   € à"Ð"r   )r"   r$   r%   rB   r-   rC   r0   rL   rD   rE   Úsetterr=   rR   rA   r'   r   r   rG   rG   A   s°   € € € € € Øðð ñ „[ðð ðð ñ „\ðð €FØðð ñ „Xðà	„[ðð ñ „[ððð ð ð.ð .ð .ð#ð #ð #ð #ð #r   rG   Tc                 ó"   — | |z   }| |z  }|r|S |S r	   r'   )ÚxÚyÚzÚaÚbs        r   rE   rE   ]   s%   € à	ˆA‰€AØ	ˆA‰€AØð �ˆ(Øˆ(r   c                   óz   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
 ej        d	¦  «        d
„ ¦   «         Zˆ xZS )ÚTestTracingc                 óB   •—  t          t          | ¦  «        j        |Ž  d S r	   )Úsuperr\   r   )r   r;   Ú	__class__s     €r   r   zTestTracing.__init__f   s#   ø€ Ø)��k˜4Ñ Ô Ô)¨4Ð0Ð0Ð0Ð0r   c                 ó,   — t          ¦   «         | _        d S r	   )r   Úcapturer   s    r   ÚsetUpzTestTracing.setUpi   s   € Ý$‘”ˆŒˆˆr   c                 ó
   — | ` d S r	   )ra   r   s    r   ÚtearDownzTestTracing.tearDownl   s   € ØˆLˆLˆLr   c                 óä   — | j         5  t          ¦   «                              dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      | j                              ¦   «         d¦  «         d S )NÚfooÚbaz)Úbarz]>> Class.method(self=<Class instance>, some='foo', other='value', bar='baz')
<< Class.method
)ra   r)   r=   ÚassertEqualr    r   s    r   Útest_methodzTestTracing.test_methodo   s°   € àŒ\ð 	-ð 	-Ý‰GŒG�NŠN˜5 eˆNÑ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-à×Ò˜œ×.Ò.Ñ0Ô0ð-ñ	.ô 	.ð 	.ð 	.ð 	.s   ˆ$8¸<¿<c                 óÐ   — | j         5  t                               ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      | j                              ¦   «         d¦  «         d S )NzA>> Class.class_method(cls=<class 'Class'>)
<< Class.class_method
)ra   r)   r-   ri   r    r   s    r   Útest_class_methodzTestTracing.test_class_methodw   s¨   € àŒ\ð 	!ð 	!Ý×ÒÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!à×Ò˜œ×.Ò.Ñ0Ô0ð3ñ	4ô 	4ð 	4ð 	4ð 	4ó   ˆ.®2µ2c                 óÐ   — | j         5  t                               ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      | j                              ¦   «         d¦  «         d S )Nz$>> static_method()
<< static_method
)ra   r)   r0   ri   r    r   s    r   Útest_static_methodzTestTracing.test_static_method   s¨   € àŒ\ð 	"ð 	"Ý×ÒÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à×Ò˜œ×.Ò.Ñ0Ô0ð.ñ	/ô 	/ð 	/ð 	/ð 	/rm   c                 óä   — | j         5  t          ¦   «         }d|_        d|j        k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   |                      | j                              ¦   «         d¦  «         d S )Né   zˆ>> Class._test_set(self=<Class instance>, value=1)
<< Class._test_set
>> Class._test_get(self=<Class instance>)
<< Class._test_get -> 1
)ra   r)   rE   ri   r    ©r   rE   s     r   Útest_propertyzTestTracing.test_propertyˆ   s¹   € àŒ\ð 	"ð 	"Ý‘7”7ˆDØˆDŒIØ˜œ	’>�>�>�>�>ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	×Ò˜œ×.Ò.Ñ0Ô0ð5ñ	6ô 	6ð 	6ð 	6ð 	6s   ˆ#8¸<¿<c                 óà   — | j         5  t          dd¦  «         t          ddd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      | j                              ¦   «         d¦  «         d S )Né   FzQ>> test(x=5, y=5, z=True)
<< test -> 10
>> test(x=5, y=5, z=False)
<< test -> 25
)ra   rE   ri   r    r   s    r   Útest_functionzTestTracing.test_function”   s·   € àŒ\ð 	ð 	Ý��A‰JŒJˆJÝ��A�uÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜œ×.Ò.Ñ0Ô0ð+ñ	,ô 	,ð 	,ð 	,ð 	,s   ˆ"6¶:½:z(recursive decoration not yet implementedc                 ó¦  — | j         5  t          j        t          d¬¦  «         t                               ¦   «          t                               ¦   «          t          ¦   «         }d|_        d|j        k    sJ ‚|                     ¦   «          |                      | j          	                    ¦   «         d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NT)Ú	recursiverq   zg>> Class2.class_method(cls=<type 'Class2'>)
<< Class2.class_method
>> static_method()
<< static_method
)
ra   r   r   rG   r-   r0   rE   r=   ri   r    rr   s     r   Útest_injectedzTestTracing.test_injectedŸ   s  € ð Œ\ð 	/ð 	/ÝŒM�&¨DÐ1Ñ1Ô1Ð1Ý×ÒÑ!Ô!Ð!Ý× Ò Ñ"Ô"Ð"Ý‘8”8ˆDØˆDŒIØ˜œ	’>�>�>�>Ø�KŠK‰MŒMˆMà×Ò˜Tœ\×2Ò2Ñ4Ô4ð.ñ/ô /ð /ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ˆB1CÃC
ÃC
)r"   r$   r%   r   rb   rd   rj   rl   ro   rs   rv   ÚunittestÚskipry   Ú__classcell__)r_   s   @r   r\   r\   d   sÊ   ø€ € € € € ð1ð 1ð 1ð 1ð 1ð'ð 'ð 'ðð ð ð.ð .ð .ð4ð 4ð 4ð/ð /ð /ð
6ð 
6ð 
6ð	,ð 	,ð 	,ð €X„]Ð=Ñ>Ô>ð/ð /ñ ?Ô>ð/ð /ð /ð /ð /r   r\   Ú__main__)T)Úior   r   rz   Ú
numba.corer   Ú	getLoggerr   ÚsetLevelÚINFOr   Ú
orig_traceÚdotracer   Úobjectr)   rG   rE   ÚTestCaser\   r"   Úmainr'   r   r   ú<module>rˆ      st  ðØ Ð Ð Ð Ð Ð Ø €€€à €€€Ø Ð Ð Ð Ð Ð à	ˆÔ	˜7Ñ	#Ô	#€Ø ‡‚�”Ñ Ô Ð ð Œ]€
Ø”€„ðð ð ð ð ñ ô ð ð*"ð "ð "ð "ð "ˆFñ "ô "ð "ð<#ð #ð #ð #ð #ˆVñ #ô #ð #ð8 	„ðð ð ñ „ððK/ð K/ð K/ð K/ð K/�(Ô#ñ K/ô K/ð K/ð^ €„àˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   