Ë
    pPêj‹  ã                  ó  — d dl mZ d dl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 d d
lmZ d dlmZmZmZmZmZmZmZ d dlmZ d dlmZ dddddœ	 	 	 	 	 	 	 	 	 dd„Z  G d„ dejB                  «      Z"y)é    )ÚannotationsN)Úcast)ÚGraph)ÚImportÚMypyFile)ÚOptions)ÚErrors)Ú	IRBuilder)ÚMapper)ÚPreBuildVisitor)ÚIMPORT_NATIVE_ATTRÚIMPORT_NATIVE_SUBMODULEÚIMPORT_NON_NATIVEÚclassify_import_fromÚgroup_consecutiveÚimport_globals_id_and_nameÚ'split_import_group_to_python_and_native)ÚIRBuilderVisitor)ÚCompilerOptionszpkg.current)Úmodule_nameÚnative_modulesÚsame_group_modulesÚgraphc                óà  — |xs
 t        «       }|xs
 t        «       }| di}|D ]  }||v rdnd||<   Œ t        t        «       «      }t        g g «      }| |_        t        ||i i «      }t        | i t        t        |xs
 t        «       D �	ci c]  }	|	t        «       “Œ c}	«      |t        |«      |t        «       t        «       i «	      }
|
j                  | | j                  dd«      dz   «       |
S c c}	w )Nzcurrent-groupzother-groupú.ú/z.py)Úsetr	   r   r   Ú	_fullnamer   r
   r   r   Úobjectr   r   r   Ú
set_moduleÚreplace)r   r   r   r   Ú	group_mapÚmoduleÚerrorsÚcurrent_fileÚpbvÚnameÚbuilders              ú^/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_statement.pyÚmake_builderr*      sü   € ð $Ò,¤s£u€NØ+Ò4¬s«uÐØ(3°_Ð'E€IØ ò _ˆØ/5Ð9KÑ/K™OÐQ^ˆ	�&Òð_ô ”G“IÓ€FÜ˜B Ó#€LØ(€LÔÜ
˜& ,°°BÓ
7€CÜØØ
ÜŒU°²¼#»%ÖA¨�Tœ6›8‘^ÒAÓBØÜˆyÓØÜÓÜÓØ
ó
€Gð ×Ñ�{ K×$7Ñ$7¸¸SÓ$AÀEÑ$IÔJØ€Nùò Bs   ÂC+c                  óD   — e Zd Zd	d„Zd	d„Zd	d„Zd	d„Zd	d„Zd	d„Zd	d„Z	y)
ÚTestStatementHelpersc                ó&   — t        dd «      dk(  sJ ‚y )Núfoo.bar)Úfoor/   ©r   ©Úselfs    r)   Ú0test_import_globals_id_and_name_for_plain_importzETestStatementHelpers.test_import_globals_id_and_name_for_plain_import;   s   € Ü)¨)°TÓ:¸nÒLÐLÑLó    c                ó&   — t        dd«      dk(  sJ ‚y )Nr.   Úbaz)r.   r6   r0   r1   s    r)   Ú-test_import_globals_id_and_name_for_import_aszBTestStatementHelpers.test_import_globals_id_and_name_for_import_as>   s   € Ü)¨)°UÓ;Ð?QÒQÐQÑQr4   c                óÐ   — t        h d£h d£¬«      }t        ddg«      t        g d¢«      g}d|d   _        d|d	   _        t        ||«      }|d
gdfdgdfdgdfdgdfdgdfgk(  sJ ‚y )N>   úpkg.betaú	pkg.alphaú	pkg.gamma)r   r   )r:   N)Úpy_modN))r9   Ú
beta_alias)úforeign.modN)r;   Né
   r   é   é   )r:   Nr?   T)r<   Nr?   F)r9   r=   r@   )r>   Nr@   )r;   Nr@   )r*   r   Úliner   )r2   r(   ÚgroupÚresults       r)   Ú;test_split_import_group_to_python_and_native_preserves_runszPTestStatementHelpers.test_split_import_group_to_python_and_native_preserves_runsA   s¥   € ÜÚAÚEô
ˆô
 Ð'Ð)9Ð:Ó;ÜÒ[Ó\ð
ˆð ˆˆa‰ŒØˆˆa‰Œä8¸À%ÓHˆàØ%Ð&¨Ð-Ø"Ð# UÐ+Ø,Ð-¨tÐ4Ø'Ð(¨%Ð0Ø%Ð&¨Ð-ð
ò 
ð 	
ñ 
r4   c           	     ó$  — t        t        ddft        ddft        ddft        ddft        ddfg«      }|D �cg c]%  }|j                  |j
                  |j                  f‘Œ' c}t        ddgddgft        dgdgft        ddgddgfgk(  sJ ‚y c c}w )NÚaÚbÚb_aliasÚcÚdÚd_aliasÚe)r   r   r   r   ÚkindÚnamesÚas_names)r2   ÚbucketsÚbuckets      r)   Ú;test_group_consecutive_groups_by_kind_and_preserves_aliaseszPTestStatementHelpers.test_group_consecutive_groups_by_kind_and_preserves_aliasesW   s´   € Ü#ä(¨#¨sÐ3Ü(¨#¨yÐ9Ü" C¨Ð-Ü# S¨)Ð4Ü# S¨#Ð.ðó
ˆð LSÖSÀ�—‘˜fŸl™l¨F¯O©OÒ<ÒSÜ$ s¨C j°3¸	Ð2BÐCÜ  ¨ uÐ-Ü # s ¨i¸Ð-=Ð>ðX
ò 
ð 	
ñ 
ùÒSs   ¸*Bc                óú   — t        ddhddhh d£¬«      }t        |dg d¢g d¢d¬	«      }|D �cg c]%  }|j                  |j                  |j                  f‘Œ' c}t
        d
dgd
dgft        ddgddgfgk(  sJ ‚y c c}w )Núpkg.native_aúpkg.native_b>   úpkg.foreign_aúpkg.foreign_brU   rV   )r   r   r   Úpkg)Únative_aÚnative_bÚ	foreign_aÚ	foreign_b)rZ   Únative_b_aliasr\   Úforeign_b_aliasT©Úparent_is_nativerZ   r[   r^   r\   r]   r_   )r*   r   rN   rO   rP   r   r   ©r2   r(   rQ   rR   s       r)   Ú2test_classify_import_from_groups_consecutive_kindszGTestStatementHelpers.test_classify_import_from_groups_consecutive_kindsh   s¡   € ÜØ*¨NÐ;Ø .°Ð?ÚTô
ˆô 'ØØÚ>ÚJØ!ô
ˆð LSÖSÀ�—‘˜fŸl™l¨F¯O©OÒ<ÒSÜ$ z°:Ð&>ÀÐM]Ð@^Ð_Ü ¨kÐ :¸[ÐJ[Ð<\Ð]ðX
ò 
ð 	
ñ 
ùÒSs   ­*A8c                óä   — t        dh¬«      }t        |dddgddgd¬	«      }|D �cg c]%  }|j                  |j                  |j                  f‘Œ' c}t
        dgdgft        dgdgfgk(  sJ ‚y c c}w )
Nzpkg.foreign)r   rY   Ú	attr_nameÚforeignÚ
attr_aliasÚforeign_aliasTr`   )r*   r   rN   rO   rP   r   r   rb   s       r)   ÚItest_classify_import_from_treats_missing_name_under_native_parent_as_attrz^TestStatementHelpers.test_classify_import_from_treats_missing_name_under_native_parent_as_attr|   s‹   € Ü m _Ô5ˆä&ØØØ˜)Ð$Ø˜?Ð+Ø!ô
ˆð LSÖSÀ�—‘˜fŸl™l¨F¯O©OÒ<ÒSÜ + °°Ð?Ü  ¨oÐ->Ð?ðX
ò 
ð 	
ñ 
ùÒSs   ¦*A-c                óÆ   — t        «       }t        |ddgdgd¬«      }|D �cg c]%  }|j                  |j                  |j                  f‘Œ' c}t
        dgdgfgk(  sJ ‚y c c}w )NrY   re   rg   Fr`   )r*   r   rN   rO   rP   r   rb   s       r)   ÚFtest_classify_import_from_without_native_parent_never_uses_native_attrz[TestStatementHelpers.test_classify_import_from_without_native_parent_never_uses_native_attrŒ   sm   € Ü“.ˆä&Ø�U˜[˜M¨L¨>ÈEô
ˆð LSÖSÀ�—‘˜fŸl™l¨F¯O©OÒ<ÒSÜ  °¨~Ð>ðX
ò 
ð 	
ñ 
ùÒSs   ¡*AN)ÚreturnÚNone)
Ú__name__Ú
__module__Ú__qualname__r3   r7   rE   rS   rc   ri   rk   © r4   r)   r,   r,   :   s'   „ óMóRó
ó,
ó"
ó(
ô 	
r4   r,   )
r   Ústrr   úset[str] | Noner   rs   r   rs   rl   r
   )#Ú
__future__r   ÚunittestÚtypingr   Ú
mypy.buildr   Ú
mypy.nodesr   r   Úmypy.optionsr   Úmypyc.errorsr	   Úmypyc.irbuild.builderr
   Úmypyc.irbuild.mapperr   Úmypyc.irbuild.prebuildvisitorr   Úmypyc.irbuild.statementr   r   r   r   r   r   r   Úmypyc.irbuild.visitorr   Úmypyc.optionsr   r*   ÚTestCaser,   rq   r4   r)   ú<module>r‚      s’   ðÝ "ã Ý å ß 'Ý  Ý Ý +Ý 'Ý 9÷÷ ñ õ 3Ý )ð
 %Ø&*Ø*.Ø!ñàðð $ðð (ð	ð
 ðð óô@[
˜8×,Ñ,õ [
r4   