o
    ÕtBh†  ã                   @  sì   d 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 ddlmZ edƒZeG dd	„ d	e
ƒƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )z2Classes for representing match statement patterns.é    )Úannotations)ÚTypeVar)Útrait)Ú
ExpressionÚNameExprÚNodeÚRefExpr)ÚPatternVisitorÚTc                   @  s   e Zd ZdZdZd
dd„Zd	S )ÚPatternzA pattern node.© ÚvisitorúPatternVisitor[T]Úreturnr
   c                 C  s   t dƒ‚)NzNot implemented)ÚRuntimeError©Úselfr   r   r   úd/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypy/patterns.pyÚaccept   s   zPattern.acceptN©r   r   r   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   r   r   r   r      s    r   c                      s>   e Zd ZU dZded< ded< d‡ fdd	„Zddd„Z‡  ZS )Ú	AsPatternzThe pattern <pattern> as <name>úPattern | NoneÚpatternúNameExpr | NoneÚnamer   ÚNonec                   s   t ƒ  ¡  || _|| _d S ©N)ÚsuperÚ__init__r   r   )r   r   r   ©Ú	__class__r   r   r#   $   s   

zAsPattern.__init__r   r   r
   c                 C  ó
   |  | ¡S r!   )Úvisit_as_patternr   r   r   r   r   )   ó   
zAsPattern.accept)r   r   r   r   r   r    r   ©r   r   r   r   Ú__annotations__r#   r   Ú__classcell__r   r   r$   r   r      s   
 r   c                      s6   e Zd ZU dZded< d‡ fdd„Zddd„Z‡  ZS )Ú	OrPatternz'The pattern <pattern> | <pattern> | ...úlist[Pattern]Úpatternsr   r    c                   ó   t ƒ  ¡  || _d S r!   ©r"   r#   r.   ©r   r.   r$   r   r   r#   2   ó   

zOrPattern.__init__r   r   r
   c                 C  r&   r!   )Úvisit_or_patternr   r   r   r   r   6   r(   zOrPattern.accept)r.   r-   r   r    r   r)   r   r   r$   r   r,   -   ó
   
 r,   c                      ó6   e Zd ZU dZded< d‡ fdd„Zdd
d„Z‡  ZS )ÚValuePatternzThe pattern x.y (or x.y.z, ...)r   Úexprc                   r/   r!   )r"   r#   r7   )r   r7   r$   r   r   r#   ?   r2   zValuePattern.__init__r   r   r   r
   c                 C  r&   r!   )Úvisit_value_patternr   r   r   r   r   C   r(   zValuePattern.accept)r7   r   r   r)   r   r   r$   r   r6   :   r4   r6   c                      ó2   e Zd ZU ded< d‡ fdd„Zdd	d
„Z‡  ZS )ÚSingletonPatternúbool | NoneÚvaluec                   r/   r!   )r"   r#   r<   )r   r<   r$   r   r   r#   K   r2   zSingletonPattern.__init__r   r   r   r
   c                 C  r&   r!   )Úvisit_singleton_patternr   r   r   r   r   O   r(   zSingletonPattern.accept)r<   r;   r   ©r   r   r   r*   r#   r   r+   r   r   r$   r   r:   G   s   
 r:   c                      r5   )ÚSequencePatternzThe pattern [<pattern>, ...]r-   r.   c                   r/   r!   r0   r1   r$   r   r   r#   X   r2   zSequencePattern.__init__r   r   r   r
   c                 C  r&   r!   )Úvisit_sequence_patternr   r   r   r   r   \   r(   zSequencePattern.accept)r.   r-   r   r)   r   r   r$   r   r?   S   r4   r?   c                      r9   )ÚStarredPatternr   Úcapturec                   r/   r!   )r"   r#   rB   )r   rB   r$   r   r   r#   e   r2   zStarredPattern.__init__r   r   r   r
   c                 C  r&   r!   )Úvisit_starred_patternr   r   r   r   r   i   r(   zStarredPattern.accept)rB   r   r   r>   r   r   r$   r   rA   `   s   
 rA   c                      sB   e Zd ZU ded< ded< ded< d‡ fdd„Zddd„Z‡  ZS )ÚMappingPatternúlist[Expression]Úkeysr-   Úvaluesr   Úrestc                   s4   t ƒ  ¡  t|ƒt|ƒksJ ‚|| _|| _|| _d S r!   )r"   r#   ÚlenrF   rG   rH   )r   rF   rG   rH   r$   r   r   r#   r   s
   

zMappingPattern.__init__r   r   r   r
   c                 C  r&   r!   )Úvisit_mapping_patternr   r   r   r   r   y   r(   zMappingPattern.accept)rF   rE   rG   r-   rH   r   r   r>   r   r   r$   r   rD   m   s   
 rD   c                      sN   e Zd ZU dZded< ded< ded< ded< d‡ fd	d
„Zddd„Z‡  ZS )ÚClassPatternzThe pattern Cls(...)r   Ú	class_refr-   Úpositionalsú	list[str]Úkeyword_keysÚkeyword_valuesc                   s:   t ƒ  ¡  t|ƒt|ƒksJ ‚|| _|| _|| _|| _d S r!   )r"   r#   rI   rL   rM   rO   rP   )r   rL   rM   rO   rP   r$   r   r   r#   …   s   

zClassPattern.__init__r   r   r   r
   c                 C  r&   r!   )Úvisit_class_patternr   r   r   r   r   “   r(   zClassPattern.accept)rL   r   rM   r-   rO   rN   rP   r-   r   r)   r   r   r$   r   rK   }   s   
 rK   N)r   Ú
__future__r   Útypingr   Úmypy_extensionsr   Ú
mypy.nodesr   r   r   r   Úmypy.visitorr	   r
   r   r   r,   r6   r:   r?   rA   rD   rK   r   r   r   r   Ú<module>   s"    	