Ë
    pPêj÷  ã                  ó`  — d 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 dd	lmZ dd
lmZ ddlmZmZ ddlmZmZmZmZmZ ddlmZ ddlmZ  edg d¢¬«      Z d d„Z! G d„ de«      Z"d!d„Z# G d„ de«      Z$d!d„Z% G d„ de«      Z& G d„ de«      Z' G d„ de(e)ef   «      Z*y)"zSemantic analyzer test casesé    )Úannotations)Úbuild)ÚPYTHON3_VERSION)ÚCompileError)ÚBuildSource)ÚTypeInfo)ÚOptions)ÚStrConv)Útest_temp_dir)ÚDataDrivenTestCaseÚ	DataSuite)Úassert_string_arrays_equalÚfind_test_filesÚnormalize_error_messagesÚparse_optionsÚtestfile_pyversion)Úupdate_testcase_output)ÚTypeStrVisitorzsemanal-*.test)úsemanal-errors.testúsemanal-errors-python310.testúsemanal-typeinfo.testúsemanal-symtable.test)ÚpatternÚexcludec                ón   — t        | |d«      }d|_        d|_        d|_        t        |_        d|_        |S )Né   T)r   Úuse_builtins_fixturesÚsemantic_analysis_onlyÚshow_tracebackr   Úpython_versionÚreveal_verbose_types)Úprogram_textÚtestcaseÚoptionss      úZ/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/test/testsemanal.pyÚget_semanal_optionsr&   &   s=   € Ü˜L¨(°AÓ6€GØ$(€GÔ!Ø%)€GÔ"Ø!€GÔÜ,€GÔØ#'€GÔ Ø€Nó    c                  ó   — e Zd ZeZdZdd„Zy)ÚSemAnalSuiteTc                ó   — t        |«       y ©N)Útest_semanal©Úselfr#   s     r%   Úrun_casezSemAnalSuite.run_case4   s
   € Ü�XÕr'   N©r#   r   ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Úsemanal_filesÚfilesÚ
native_sepr/   © r'   r%   r)   r)   0   s   „ Ø€EØ€Jôr'   r)   c           	     óô  — 	 dj                  | j                  «      }t        || «      }t        | j                  «      |_        | j                  j                  d«      rd|_        t        j                  t        dd|«      g|t        ¬«      }|j                  }|rt        |«      ‚t        |j                  j!                  «       «      D ]A  }|| j"                  v sŒ||j                  |   j%                  |«      j'                  d«      z  }ŒC 	 | j*                  rt-        |«      }t/        | j0                  |d| j                  › d| j2                  › d	�«       y# t        $ r}|j(                  }Y d}~Œdd}~ww xY w)
z‡Perform a semantic analysis test case.

    The testcase argument contains a description of the test case
    (inputs and output).
    ú
Ú_old_parserFÚmainN©Úsourcesr$   Úalt_lib_pathú"Invalid semantic analyzer output (ú, line ú))ÚjoinÚinputr&   r   Úfiler    ÚnameÚendswithÚnative_parserr   r   r   Úerrorsr   Úsortedr7   ÚkeysÚtest_modulesÚstr_with_optionsÚsplitÚmessagesÚnormalize_outputr   r   ÚoutputÚline)r#   Úsrcr$   ÚresultÚaÚmoduleÚes          r%   r,   r,   8   sC  € ðØ�i‰i˜Ÿ™Ó'ˆÜ% c¨8Ó4ˆÜ!3°H·M±MÓ!BˆÔØ�=‰=×!Ñ! -Ô0à$)ˆGÔ!Ü—‘Ü  ¨¨sÓ3Ð4¸gÔTaô
ˆð �M‰MˆÙÜ˜q“/Ð!ô ˜VŸ\™\×.Ñ.Ó0Ó1ò 	PˆFØ˜×.Ñ.Ò.Ø�V—\‘\ &Ñ)×:Ñ:¸7ÓC×IÑIÈ$ÓOÑO‘ñ	Pð
 × Ò Ü$ QÓ'ˆÜØ�‰Ø	Ø
,¨X¯]©]¨O¸7À8Ç=Á=À/ÐQRÐSõøô	 ò Ø�J‰J�ûðús   ‚CE Ã2E Å	E7Å!E2Å2E7c                  ó   — e Zd ZddgZdd„Zy)ÚSemAnalErrorSuiter   r   c                ó   — t        |«       y r+   )Útest_semanal_errorr-   s     r%   r/   zSemAnalErrorSuite.run_caseb   s
   € Ü˜8Õ$r'   Nr0   )r3   r4   r5   r7   r/   r9   r'   r%   rZ   rZ   _   s   „ Ø"Ð$CÐD€Eô%r'   rZ   c           	     ó   — 	 dj                  | j                  «      }t        j                  t        dd|«      gt	        || «      t
        ¬«      }|j                  }| j                  rt        |«      }| j                  |k7  r*| j                  j                  dd«      rt        | |d¬«       t        | j                  |d	| j                   › d
| j"                  › d�«       y# t        $ r}|j                  }Y d}~Œ�d}~ww xY w)úPerform a test case.r;   r=   Nr>   z--update-dataFr   )Úincremental_stepzInvalid compiler output (rB   rC   )rD   rE   r   r   r&   r   rJ   r   rP   rQ   r   rR   ÚconfigÚ	getoptionr   r   rF   rS   )r#   rT   ÚresrV   rX   s        r%   r\   r\   f   sÙ   € ðØ�i‰i˜Ÿ™Ó'ˆÜ�k‰kÜ  ¨¨sÓ3Ð4Ü'¨¨XÓ6Ü&ô
ˆð
 �J‰Jˆð
 × Ò Ü$ QÓ'ˆð ‡�˜!Ò §¡× 9Ñ 9¸/È5Ô QÜ˜x¨¸QÕ?äØ�‰˜Ð7¸¿¹°ÀgÈhÏmÉmÈ_Ð\]Ð^õøô ò ð �J‰J�ûðús   ‚AC Ã	C=Ã'C8Ã8C=c                  ó   — e Zd ZdZdgZdd„Zy)ÚSemAnalSymtableSuiteTr   c           	     ó¦  — 	 dj                  |j                  «      }t        j                  t        dd|«      gt	        ||«      t
        ¬«      }|j                  }|rt        |«      ‚t        |j                  j                  «       «      D ]o  }||j                  v sŒ|j                  |› d�«       t        |j                  |   j                  «      j                  d«      D ]  }|j                  d|z   «       Œ Œq 	 t#        |j$                  |d|j&                  › d|j(                  › d	�«       y# t        $ r}|j                   }Y d}~ŒMd}~ww xY w)
r^   r;   r=   Nr>   ú:ú  rA   rB   rC   )rD   rE   r   r   r&   r   rJ   r   rK   r7   rL   rM   ÚappendÚstrÚnamesrO   rP   r   rR   rF   rS   )r.   r#   rT   rU   rV   rW   ÚsrX   s           r%   r/   zSemAnalSymtableSuite.run_caseˆ   s$  € ð	à—)‘)˜HŸN™NÓ+ˆCÜ—[‘[Ü$ V¨T°3Ó7Ð8Ü+¨C°Ó:Ü*ôˆFð —‘ˆAÙÜ" 1“oÐ%Ü  §¡×!2Ñ!2Ó!4Ó5ò +�Ø˜X×2Ñ2Ò2Ø—H‘H ˜x q˜\Ô*Ü  §¡¨fÑ!5×!;Ñ!;Ó<×BÑBÀ4ÓHò +˜ØŸ™ ¨¡Õ*ñ+ñ+ô 	#Ø�O‰OØØ0°·±°¸wÀxÇ}Á}ÀoÐUVÐWõ	
øô ò 	Ø—
‘
�Aûð	ús   ‚BD1 ÂA D1 Ä1	EÄ:EÅENr0   )r3   r4   r5   Úrequired_out_sectionr7   r/   r9   r'   r%   rd   rd   „   s   „ ØÐØ$Ð%€Eô
r'   rd   c                  ó2   ‡ — e Zd ZdZdgZdˆ fd„Zdd„Zˆ xZS )ÚSemAnalTypeInfoSuiteTr   c                ó†   •— t         ‰| �  «        t        t        «       ¬«      | _        t        t        «       ¬«      | _        y )N)r$   )ÚsuperÚsetupr
   r	   Ústr_convr   Útype_str_conv)r.   Ú	__class__s    €r%   rq   zSemAnalTypeInfoSuite.setup©   s)   ø€ Ü‰‰ŒÜ¬«	Ô2ˆŒÜ+´G³IÔ>ˆÕr'   c           	     ó¤  ‡
— dj                  |j                  «      }t        ||«      }|| j                  _        || j
                  _        	 t        j                  t        dd|«      g|t        ¬«      }|j                  }|rt        |«      ‚t        «       }|j                  j                  «       D ]”  \  }}||j                  v sŒ|j                  j!                  «       D ]c  Š
t#        ‰
j$                  t&        «      sŒ‰
j(                  sJ ‚t+        ˆ
fd„|j                  D «       «      sŒK‰
j$                  |‰
j(                  <   Œe Œ– |j-                  | j                  | j
                  «      j/                  d«      }t3        |j4                  |d|j6                  › d|j8                  › d�«       y# t        $ r}	|	j0                  }Y d}	~	ŒMd}	~	ww xY w)	r^   r;   r=   Nr>   c              3  óZ   •K  — | ]"  }‰j                   j                  |d z   «      –— Œ$ y­w)ú.N)ÚfullnameÚ
startswith)Ú.0ÚmÚns     €r%   ú	<genexpr>z0SemAnalTypeInfoSuite.run_case.<locals>.<genexpr>Æ   s$   øè ø€ Ò"aÀa 1§:¡:×#8Ñ#8¸¸S¹×#AÑ"aùs   ƒ(+rA   rB   rC   )rD   rE   r&   rr   r$   rs   r   r   r   rJ   r   ÚTypeInfoMapr7   ÚitemsrM   rj   ÚvaluesÚ
isinstanceÚnoder   rx   ÚanyÚdumprO   rP   r   rR   rF   rS   )r.   r#   rT   r$   rU   rV   Ú	typeinfosrW   rF   rX   r|   s             @r%   r/   zSemAnalTypeInfoSuite.run_case®   s  ø€ à�i‰i˜Ÿ™Ó'ˆÜ% c¨8Ó4ˆØ 'ˆ�‰ÔØ%,ˆ×ÑÔ"ð	ä—[‘[Ü$ V¨T°3Ó7Ð8ØÜ*ôˆFð
 —‘ˆAÙÜ" 1“oÐ%ô $›ˆIØ &§¡× 2Ñ 2Ó 4ò ?‘�˜Ø˜X×2Ñ2Ò2Ø!ŸZ™Z×.Ñ.Ó0ò ?˜Ü% a§f¡f¬hÕ7Ø#$§:¢:Ð- :Ü"Ó"aÈ8×K`ÑK`Ô"aÕaØ89¿¹ 	¨!¯*©*Ò 5ñ	?ð?ð —‘˜tŸ}™}¨d×.@Ñ.@ÓA×GÑGÈÓMˆAô 	#Ø�O‰OØØ0°·±°¸wÀxÇ}Á}ÀoÐUVÐWõ	
øô ò 	Ø—
‘
�Aûð	ús,   ÁA9F0 Ã7F0 Ã>,F0 Ä+AF0 Æ0	GÆ9G
Ç
G)r1   r2   r0   )r3   r4   r5   rl   r7   rq   r/   Ú__classcell__)rt   s   @r%   rn   rn   ¥   s   ø„ ØÐØ$Ð%€Eõ?÷
#
r'   rn   c                  ó   — e Zd Zdd„Zy)r~   c                ó  — dg}t        | j                  «       «      D ]L  \  }}dj                  |j                  ||«      j	                  d«      «      }|j                  d|› d|› �«       ŒN |dxx   dz  cc<   dj                  |«      S )NzTypeInfoMap(z
  r;   rg   z : éÿÿÿÿrC   )rK   r   rD   r„   rO   rh   )r.   rr   rs   rV   ÚxÚyÚtis          r%   r„   zTypeInfoMap.dumpÕ   sƒ   € Ø&Ð'ˆÜ˜4Ÿ:™:›<Ó(ò 	&‰DˆAˆqØ×#Ñ# A§F¡F¨8°]Ó$C×$IÑ$IÈ$Ó$OÓPˆBØ�H‰H�r˜!˜˜C ˜t�_Õ%ð	&ð 	
ˆ"‹�‰‹Ø�y‰y˜‹|Ðr'   N)rr   r
   rs   r   r1   ri   )r3   r4   r5   r„   r9   r'   r%   r~   r~   Ô   s   „ ôr'   r~   N)r"   ri   r#   r   r1   r	   r0   )+Ú__doc__Ú
__future__r   Úmypyr   Úmypy.defaultsr   Úmypy.errorsr   Úmypy.modulefinderr   Ú
mypy.nodesr   Úmypy.optionsr	   Úmypy.strconvr
   Úmypy.test.configr   Úmypy.test.datar   r   Úmypy.test.helpersr   r   r   r   r   Úmypy.test.update_datar   Ú
mypy.typesr   r6   r&   r)   r,   rZ   r\   rd   rn   Údictri   r~   r9   r'   r%   ú<module>rœ      s¡   ðÙ "å "å Ý )Ý $Ý )Ý Ý  Ý  Ý *ß 8÷õ õ 9Ý %áØòô€óô�9ô ó!ôN%˜	ô %óô<
˜9ô 
ôB,
˜9ô ,
ô^�$�s˜H�}Ñ%õ r'   