
    X-Ph                    t   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	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dS )z2Classes for representing match statement patterns.    )annotations)TypeVar)trait)
ExpressionNameExprNodeRefExpr)PatternVisitorTc                      e Zd ZdZdZd	dZdS )
PatternzA pattern node. visitorPatternVisitor[T]returnr   c                <    t          dt          |                     )NzNot implemented)RuntimeErrortypeselfr   s     M/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypy/patterns.pyacceptzPattern.accept   s    ,d4jj999    Nr   r   r   r   )__name__
__module____qualname____doc__	__slots__r   r   r   r   r   r      s3        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>Pattern | NonepatternNameExpr | Nonenamer   Nonec                d    t                                                       || _        || _        d S N)super__init__r#   r%   )r   r#   r%   	__class__s      r   r*   zAsPattern.__init__$   s+    			r   r   r   r   c                ,    |                     |           S r(   )visit_as_patternr   s     r   r   zAsPattern.accept)       ''---r   )r#   r"   r%   r$   r   r&   r   r   r   r   r   __annotations__r*   r   __classcell__r+   s   @r   r!   r!      ss         ))      
. . . . . . . .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[Pattern]patternsr   r&   c                V    t                                                       || _        d S r(   r)   r*   r6   r   r6   r+   s     r   r*   zOrPattern.__init__2   $     r   r   r   r   c                ,    |                     |           S r(   )visit_or_patternr   s     r   r   zOrPattern.accept6   r.   r   r6   r5   r   r&   r   r/   r2   s   @r   r4   r4   -   se         1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   exprr   r&   c                V    t                                                       || _        d S r(   )r)   r*   r@   )r   r@   r+   s     r   r*   zValuePattern.__init__?   s$    			r   r   r   r   c                ,    |                     |           S r(   )visit_value_patternr   s     r   r   zValuePattern.acceptC       **4000r   )r@   r   r   r&   r   r/   r2   s   @r   r?   r?   :   se         ))     1 1 1 1 1 1 1 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valuer   r&   c                V    t                                                       || _        d S r(   )r)   r*   rH   )r   rH   r+   s     r   r*   zSingletonPattern.__init__K   s$    


r   r   r   r   c                ,    |                     |           S r(   )visit_singleton_patternr   s     r   r   zSingletonPattern.acceptO   s    ..t444r   )rH   rG   r   r&   r   r   r   r   r0   r*   r   r1   r2   s   @r   rF   rF   G   s_              5 5 5 5 5 5 5 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   r   r&   c                V    t                                                       || _        d S r(   r8   r9   s     r   r*   zSequencePattern.__init__X   r:   r   r   r   r   c                ,    |                     |           S r(   )visit_sequence_patternr   s     r   r   zSequencePattern.accept\   s    --d333r   r=   r   r/   r2   s   @r   rN   rN   S   se         &&! ! ! ! ! !4 4 4 4 4 4 4 4r   rN   c                  4     e Zd ZU ded<   d
 fdZdd	Z xZS )StarredPatternr$   capturer   r&   c                V    t                                                       || _        d S r(   )r)   r*   rT   )r   rT   r+   s     r   r*   zStarredPattern.__init__e   s$    r   r   r   r   c                ,    |                     |           S r(   )visit_starred_patternr   s     r   r   zStarredPattern.accepti       ,,T222r   )rT   r$   r   r&   r   rL   r2   s   @r   rS   rS   `   sa               3 3 3 3 3 3 3 3r   rS   c                  H     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$   restr   r&   c                    t                                                       t          |          t          |          k    sJ || _        || _        || _        d S r(   )r)   r*   lenr\   r]   r^   )r   r\   r]   r^   r+   s       r   r*   zMappingPattern.__init__r   sQ     	4yyCKK''''				r   r   r   r   c                ,    |                     |           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   sw              3 3 3 3 3 3 3 3r   rZ   c                  V     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_valuesr   r&   c                    t                                                       t          |          t          |          k    sJ || _        || _        || _        || _        d S r(   )r)   r*   r`   re   rf   rh   ri   )r   re   rf   rh   ri   r+   s        r   r*   zClassPattern.__init__   sa     	<  C$7$77777"&(,r   r   r   r   c                ,    |                     |           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      s         !!!!- - - - - -1 1 1 1 1 1 1 1r   rd   N)r   
__future__r   typingr   mypy_extensionsr   
mypy.nodesr   r   r   r	   mypy.visitorr
   r   r   r!   r4   r?   rF   rN   rS   rZ   rd   r   r   r   <module>rr      s   8 8 " " " " " "       ! ! ! ! ! ! : : : : : : : : : : : : ' ' ' ' ' 'GCLL : : : : :d : : :. . . . . . . .(
. 
. 
. 
. 
. 
. 
. 
.
1 
1 
1 
1 
17 
1 
1 
1	5 	5 	5 	5 	5w 	5 	5 	5
4 
4 
4 
4 
4g 
4 
4 
4
3 
3 
3 
3 
3W 
3 
3 
33 3 3 3 3W 3 3 3$1 1 1 1 17 1 1 1 1 1r   