Ë
    pPêjù  ã                  ón  — U d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZmZ ddlmZ  ed«      Ze G d„ d	e«      «       Z G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zeez  ez  ez  ez  ez  ez  ez  Zded<   y)z2Classes for representing match statement patterns.é    )Úannotations)Ú	TypeAliasÚTypeVar)Útrait)Ú
ExpressionÚNameExprÚNodeÚRefExpr)ÚPatternVisitorÚTc                  ó   — e Zd ZdZdZdd„Zy)ÚPatternzA pattern node.© c                ó,   — t        dt        | «      «      ‚)NzNot implemented)ÚRuntimeErrorÚtype©ÚselfÚvisitors     úR/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/patterns.pyÚacceptzPattern.accept   s   € ÜÐ,¬d°4«jÓ9Ð9ó    N©r   zPatternVisitor[T]Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   r   r   r   r      s   „ áà€Iô:r   r   c                  óB   ‡ — e Zd ZU dZded<   ded<   dˆ fd„Zd	d„Zˆ xZS )
Ú	AsPatternzThe pattern <pattern> as <name>úConcretePattern | NoneÚpatternúNameExpr | NoneÚnamec                ó>   •— t         ‰| �  «        || _        || _        y ©N)ÚsuperÚ__init__r#   r%   )r   r#   r%   Ú	__class__s      €r   r)   zAsPattern.__init__$   s   ø€ Ü‰ÑÔØˆŒØˆ�	r   c                ó$   — |j                  | «      S r'   )Úvisit_as_patternr   s     r   r   zAsPattern.accept)   ó   € Ø×'Ñ'¨Ó-Ð-r   )r#   r"   r%   r$   r   ÚNoner   ©r   r   r   r   Ú__annotations__r)   r   Ú__classcell__©r*   s   @r   r!   r!      s   ø… Ù)ð $Ó#Ø
Óõ÷
.r   r!   c                  ó8   ‡ — e Zd ZU dZded<   dˆ fd„Zdd„Zˆ xZS )Ú	OrPatternz'The pattern <pattern> | <pattern> | ...úlist[ConcretePattern]Úpatternsc                ó0   •— t         ‰| �  «        || _        y r'   ©r(   r)   r6   ©r   r6   r*   s     €r   r)   zOrPattern.__init__2   ó   ø€ Ü‰ÑÔØ ˆ�r   c                ó$   — |j                  | «      S r'   )Úvisit_or_patternr   s     r   r   zOrPattern.accept6   r-   r   ©r6   r5   r   r.   r   r/   r2   s   @r   r4   r4   -   s   ø… Ù1à#Ó#õ!÷.r   r4   c                  ó8   ‡ — e Zd ZU dZded<   dˆ fd„Zdd„Zˆ xZS )ÚValuePatternzThe pattern x.y (or x.y.z, ...)r   Úexprc                ó0   •— t         ‰| �  «        || _        y r'   )r(   r)   r@   )r   r@   r*   s     €r   r)   zValuePattern.__init__?   s   ø€ Ü‰ÑÔØˆ�	r   c                ó$   — |j                  | «      S r'   )Úvisit_value_patternr   s     r   r   zValuePattern.acceptC   ó   € Ø×*Ñ*¨4Ó0Ð0r   )r@   r   r   r.   r   r/   r2   s   @r   r?   r?   :   s   ø… Ù)à
Óõ÷1r   r?   c                  ó4   ‡ — e Zd ZU ded<   dˆ fd„Zdd„Zˆ xZS )ÚSingletonPatternúbool | NoneÚvaluec                ó0   •— t         ‰| �  «        || _        y r'   )r(   r)   rH   )r   rH   r*   s     €r   r)   zSingletonPattern.__init__K   s   ø€ Ü‰ÑÔØˆ�
r   c                ó$   — |j                  | «      S r'   )Úvisit_singleton_patternr   s     r   r   zSingletonPattern.acceptO   s   € Ø×.Ñ.¨tÓ4Ð4r   )rH   rG   r   r.   r   ©r   r   r   r0   r)   r   r1   r2   s   @r   rF   rF   G   s   ø… àÓõ÷5r   rF   c                  ó8   ‡ — e Zd ZU dZded<   dˆ fd„Zdd„Zˆ xZS )ÚSequencePatternzThe pattern [<pattern>, ...]r5   r6   c                ó0   •— t         ‰| �  «        || _        y r'   r8   r9   s     €r   r)   zSequencePattern.__init__X   r:   r   c                ó$   — |j                  | «      S r'   )Úvisit_sequence_patternr   s     r   r   zSequencePattern.accept\   s   € Ø×-Ñ-¨dÓ3Ð3r   r=   r   r/   r2   s   @r   rN   rN   S   s   ø… Ù&à#Ó#õ!÷4r   rN   c                  ó4   ‡ — e Zd ZU ded<   dˆ fd„Zdd„Zˆ xZS )ÚStarredPatternr$   Úcapturec                ó0   •— t         ‰| �  «        || _        y r'   )r(   r)   rT   )r   rT   r*   s     €r   r)   zStarredPattern.__init__e   s   ø€ Ü‰ÑÔØˆ�r   c                ó$   — |j                  | «      S r'   )Úvisit_starred_patternr   s     r   r   zStarredPattern.accepti   ó   € Ø×,Ñ,¨TÓ2Ð2r   )rT   r$   r   r.   r   rL   r2   s   @r   rS   rS   `   s   ø… ð Óõ÷3r   rS   c                  óX   ‡ — e Zd ZU ded<   ded<   ded<   	 	 	 	 	 	 	 	 d	ˆ fd„Zd
d„Zˆ xZS )ÚMappingPatternúlist[Expression]Úkeysr5   Úvaluesr$   Úrestc                ó~   •— t         ‰| �  «        t        |«      t        |«      k(  sJ ‚|| _        || _        || _        y r'   )r(   r)   Úlenr\   r]   r^   )r   r\   r]   r^   r*   s       €r   r)   zMappingPattern.__init__r   s;   ø€ ô 	‰ÑÔÜ�4‹yœC ›KÒ'Ð'Ð'ØˆŒ	ØˆŒØˆ�	r   c                ó$   — |j                  | «      S r'   )Úvisit_mapping_patternr   s     r   r   zMappingPattern.accept{   rX   r   )r\   r[   r]   r5   r^   r$   r   r.   r   rL   r2   s   @r   rZ   rZ   m   s?   ø… Ø
ÓØ!Ó!Ø
ÓðØ$ðØ.CðØKZðà	õ÷3r   rZ   c                  ój   ‡ — e Zd ZU dZded<   ded<   ded<   ded<   	 	 	 	 	 	 	 	 	 	 dˆ fd	„Zdd
„Zˆ xZS )ÚClassPatternzThe pattern Cls(...)r
   Ú	class_refr5   Úpositionalsú	list[str]Úkeyword_keysÚkeyword_valuesc                óŒ   •— t         ‰| �  «        t        |«      t        |«      k(  sJ ‚|| _        || _        || _        || _        y r'   )r(   r)   r`   re   rf   rh   ri   )r   re   rf   rh   ri   r*   s        €r   r)   zClassPattern.__init__‡   sG   ø€ ô 	‰ÑÔÜ�<Ó ¤C¨Ó$7Ò7Ð7Ð7Ø"ˆŒØ&ˆÔØ(ˆÔØ,ˆÕr   c                ó$   — |j                  | «      S r'   )Úvisit_class_patternr   s     r   r   zClassPattern.accept•   rD   r   )
re   r
   rf   r5   rh   rg   ri   r5   r   r.   r   r/   r2   s   @r   rd   rd      sX   ø… ÙàÓØ&Ó&ØÓØ)Ó)ð-àð-ð +ð-ð  ð	-ð
 .ð-ð 
õ-÷1r   rd   r   ÚConcretePatternN)r   Ú
__future__r   Útypingr   r   Úmypy_extensionsr   Ú
mypy.nodesr   r   r	   r
   Úmypy.visitorr   r   r   r!   r4   r?   rF   rN   rS   rZ   rd   rm   r0   r   r   r   ú<module>rs      sñ   ðÚ 8å "ç %å !ç :Ó :Ý 'áˆCƒL€ð ô:ˆdó :ó ð:ô.�ô .ô(
.�ô 
.ô
1�7ô 
1ô	5�wô 	5ô
4�gô 
4ô
3�Wô 
3ô3�Wô 3ô$1�7ô 1ð6 Øñàñð ñð ñ	ð
 ñð ñð ñð �ô 	r   