Ë
    pPêjé  ã                  óÆ   — d dl mZ d dlZd dl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 d dlmZ d d	lmZ d d
lmZ  G d„ d«      Z G d„ dej,                  «      Zy)é    )ÚannotationsN)ÚPath)Úbuild)ÚOptions)Úconstruct_groups)Ú
emitmodule)ÚErrors)ÚMapper)ÚCompilerOptionsc                  ó   — e Zd Zdd„Zy)ÚFakeSCCc                ó   — || _         y ©N)Úmod_ids)Úselfr   s     ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_emitmodule.pyÚ__init__zFakeSCC.__init__   s	   € Øˆ�ó    N)r   z	list[str]ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r      s   „ ôr   r   c                  ó   — e Zd Zdd„Zy)ÚTestEmitModulec           
     óô  — t        j                  «       5 }t        j                  j	                  «       5 }t        |«      }|dz  }|dz  }|j                  dd¬«       |j                  dd¬«       t        j                  t        |«      dd «      t        j                  t        |«      dd «      g}t        «       }d	|_        t        |«      g|_        t        |d
z  «      |_        |D ]+  }d	|j                  j                  |j                   i «      d<   Œ- t#        d	¬«      }	t%        |dd	d ¬«      }
t'        j(                  |||	|
«      }	 |
D ���ci c]  \  }}|D ]  }|j                   |“Œ Œ }}}}g }ddgddgfD ]å  }|j+                  t&        d|fd„«       t-        |«      }t/        |«      }t'        j0                  |||	|«      }|j2                  dk(  sJ |j5                  «       «       ‚|j7                  «       D ��ci c]   }|j8                  D ]  }|j:                  |“Œ Œ" }}}|d   j<                  }|€J ‚|j?                  |D �cg c]  }|j:                  ‘Œ c}«       Œç |d   |d   k(  sJ ‚	 |j@                  jB                  jE                  «        	 d d d «       d d d «       y c c}}}w c c}}w c c}w # |j@                  jB                  jE                  «        w xY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)Nza.pyzb.pyz)import b

class A: pass
class C(A): pass
zutf-8)Úencodingz0import a

class B(a.A): pass
class D(a.A): pass
ÚaÚbTz.mypy_cacheÚmypyc)Ústrict_traceback_checksF)Úuse_shared_libÚgroup_name_overrideÚsorted_componentsc                ó   — t        |«      gS r   )r   )ÚgraphÚorders     r   ú<lambda>z`TestEmitModule.test_compile_modules_to_ir_orders_scc_members_deterministically.<locals>.<lambda>;   s   € ´G¸E³NÐ3C€ r   r   za.Aé   )#ÚtempfileÚTemporaryDirectoryÚpytestÚMonkeyPatchÚcontextr   Ú
write_textr   ÚBuildSourceÚstrr   Úpreserve_astsÚ	mypy_pathÚ	cache_dirÚper_module_optionsÚ
setdefaultÚmoduler   r   r   Úparse_and_typecheckÚsetattrr
   r	   Úcompile_modules_to_irÚ
num_errorsÚnew_messagesÚvaluesÚclassesÚfullnameÚchildrenÚappendÚmanagerÚ	metastoreÚclose)r   Útmp_dirÚmonkeypatchÚtmp_pathÚa_pyÚb_pyÚsourcesÚoptionsÚsourceÚcompiler_optionsÚgroupsÚresultÚgroupÚlib_nameÚ	group_mapÚchildren_by_orderr(   ÚmapperÚerrorsÚmodulesr8   Úclr?   rA   Úchilds                            r   Ú?test_compile_modules_to_ir_orders_scc_members_deterministicallyzNTestEmitModule.test_compile_modules_to_ir_orders_scc_members_deterministically   s  € Ü×(Ñ(Ó*ð 3	1¨g´v×7IÑ7I×7QÑ7QÓ7Sð 3	1ÐWbÜ˜G“}ˆHØ˜fÑ$ˆDØ˜fÑ$ˆDØ�O‰OÐKÐV]ˆOÔ^Ø�O‰OØFÐQXð ô ô
 ×!Ñ!¤# d£)¨S°$Ó7Ü×!Ñ!¤# d£)¨S°$Ó7ðˆGô “iˆGØ$(ˆGÔ!Ü!$ X£ ˆGÔÜ # H¨}Ñ$<Ó =ˆGÔØ!ò Y�ØTX�×*Ñ*×5Ñ5°f·m±mÀRÓHÈÒQðYô  /ÀtÔLÐÜ%Ø˜¨tÈôˆFô  ×3Ñ3°G¸WÐFVÐX^Ó_ˆFð1àCI÷ð Ù0?°°xÐX]òØNT�F—M‘M 8Ñ+ðØ!ð�	ò ð %'Ð!Ø" C˜j¨3°¨*Ð5ò U�EØ×'Ñ'Ü"Ø+Ø,1ÒCôô
 $ IÓ.�FÜ# G›_�FÜ(×>Ñ>Ø Ð(8¸&ó�Gð "×,Ñ,°Ò1ÐH°6×3FÑ3FÓ3HÓHÐ1à6=·n±nÓ6F÷Ø,2ÐQW×Q_ÑQ_òØKM˜Ÿ™ R™ðØ#ð�Gñ ð  ' u™~×6Ñ6�HØ#Ð/Ð/Ð/Ø%×,Ñ,È(Ö-SÀ¨e¯n«nÒ-SÕTð#Uð& )¨Ñ+Ð/@ÀÑ/CÒCÐCÑCà—‘×(Ñ(×.Ñ.Õ0÷g3	1÷ 3	1ð 3	1ùô4ùó ùò
 .Tøð —‘×(Ñ(×.Ñ.Õ0ú÷g3	1ð 3	1ú÷ 3	1ð 3	1úsf   •K.´DK"Å	J9ÅJ'Å-BJ9Ç=%J.È"%J9ÉJ4ÉJ9É1$K"ÊK.Ê'J9Ê9&KËK"Ë"K+	Ë'K.Ë.K7N)r   r   )r   r   r   rZ   r   r   r   r   r      s   „ ô41r   r   )Ú
__future__r   r+   ÚunittestÚpathlibr   r-   Úmypyr   Úmypy.optionsr   Úmypyc.buildr   Úmypyc.codegenr   Úmypyc.errorsr	   Úmypyc.irbuild.mapperr
   Úmypyc.optionsr   r   ÚTestCaser   r   r   r   ú<module>rf      sE   ðÝ "ã Û Ý ã å Ý  Ý (Ý $Ý Ý 'Ý )÷ñ ô
51�X×&Ñ&õ 51r   