Ë
    pPêjJ
  ã                  óú   — d Z ddlmZ ddlZddlmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZmZmZmZmZ ddlmZ ddlmZ ddlm Z   G d„ de«      Z! G d„ de!«      Z" G d„ de!«      Z#y)z!Runner for IR optimization tests.é    )ÚannotationsN)ÚCompileError)Útest_temp_dir)ÚDataDrivenTestCase)ÚIS_FREE_THREADEDÚTOP_LEVEL_NAME)ÚFuncIR)Úformat_func)ÚCompilerOptions)ÚICODE_GEN_BUILTINSÚMypycDataSuiteÚassert_test_outputÚbuild_ir_for_single_fileÚremove_comment_linesÚuse_custom_builtins)Údo_copy_propagation)Údo_flag_elimination)Úinsert_uninit_checksc                  ó$   — e Zd ZdZeZdd„Zdd„Zy)ÚOptimizationSuitez~Base class for IR optimization test suites.

    To use this, add a base class and define "files" and "do_optimizations".
    c                óˆ  — d|j                   v rt        ry d|j                   v rt        sy t        t        j                  j                  | j                  t        «      |«      5  t        |j                  «      }	 t        |j                  «      }g }|D ]h  }|j                   t        k(  r|j                   j                  d«      sŒ2t        |d«       | j                  |«       |j!                  t#        |«      «       Œj 	 t)        ||d|«       d d d «       y # t$        $ r}|j&                  }Y d }~Œ1d }~ww xY w# 1 sw Y   y xY w)NÚ_withgilÚ_nogilÚ	_toplevelTzInvalid source code output)Únamer   r   ÚosÚpathÚjoinÚdata_prefixr   r   Úoutputr   Úinputr   Úendswithr   Údo_optimizationsÚextendr
   r   Úmessagesr   )ÚselfÚtestcaseÚexpected_outputÚirÚactualÚfnÚes          úb/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_optimizations.pyÚrun_casezOptimizationSuite.run_case#   s  € Ø˜Ÿ™Ñ&Õ+;àØ�x—}‘}Ñ$Õ-=àÜ ¤§¡§¡¨d×.>Ñ.>Ô@RÓ!SÐU]Ó^ñ 	`Ü2°8·?±?ÓCˆOð3Ü-¨h¯n©nÓ=�ð �Øò 3�BØ—w‘w¤.Ò0¸¿¹×9OÑ9OÐP[Ô9\Ø Ü(¨¨TÔ2Ø×)Ñ)¨"Ô-Ø—M‘M¤+¨b£/Õ2ñ3ô ˜x¨Ð1MÈÔ_÷	`ð 	`øô  ò $ØŸ™•ûð$ú÷		`ð 	`ús7   Á#D8Á:DÂA>D8Ä	D5ÄD0Ä+D8Ä0D5Ä5D8Ä8Ec                ó   — t         ‚)N)ÚNotImplementedError©r&   r+   s     r-   r#   z"OptimizationSuite.do_optimizations;   s   € Ü!Ð!ó    N)r'   r   ÚreturnÚNone©r+   r	   r3   r4   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú	base_pathr.   r#   © r2   r-   r   r      s   „ ñð
 €Ió`ô0"r2   r   c                  ó   — e Zd ZdgZdd„Zy)ÚTestCopyPropagationzopt-copy-propagation.testc                ó0   — t        |t        d¬«      «       y ©NT)Ústrict_traceback_checks)r   r   r1   s     r-   r#   z$TestCopyPropagation.do_optimizationsB   ó   € Ü˜B¤ÈÔ MÕNr2   Nr5   ©r6   r7   r8   Úfilesr#   r;   r2   r-   r=   r=   ?   ó   „ Ø(Ð)€EôOr2   r=   c                  ó   — e Zd ZdgZdd„Zy)ÚTestFlagEliminationzopt-flag-elimination.testc                ó0   — t        |t        d¬«      «       y r?   )r   r   r1   s     r-   r#   z$TestFlagElimination.do_optimizationsI   rA   r2   Nr5   rB   r;   r2   r-   rF   rF   F   rD   r2   rF   )$r9   Ú
__future__r   Úos.pathr   Úmypy.errorsr   Úmypy.test.configr   Úmypy.test.datar   Úmypyc.commonr   r   Úmypyc.ir.func_irr	   Úmypyc.ir.pprintr
   Úmypyc.optionsr   Úmypyc.test.testutilr   r   r   r   r   r   Ú mypyc.transform.copy_propagationr   Ú mypyc.transform.flag_eliminationr   Úmypyc.transform.uninitr   r   r=   rF   r;   r2   r-   ú<module>rU      sd   ðÙ 'å "ã å $Ý *Ý -ß 9Ý #Ý 'Ý )÷÷ õ AÝ @Ý 7ô!"˜ô !"ôHOÐ+ô OôOÐ+õ Or2   