ML i0dZddlmZddlmZddlmZddlmZm Z m Z m Z ddl m Z edZeGdd e ZGd d eZGd d eZGddeZGddeZGddeZGddeZGddeZGddeZy)z2Classes for representing match statement patterns.) annotations)TypeVar)trait) ExpressionNameExprNodeRefExpr)PatternVisitorTceZdZdZdZddZy)PatternzA pattern node.c,tdt|)NzNot implemented) RuntimeErrortypeselfvisitors S/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypy/patterns.pyacceptzPattern.accepts,d4j99NrzPatternVisitor[T]returnr )__name__ __module__ __qualname____doc__ __slots__rrrrr r sI:rr cBeZdZUdZded<ded<dfd Zd dZxZS) AsPatternzThe pattern as Pattern | NonepatternNameExpr | Nonenamec>t|||_||_yN)super__init__r"r$)rr"r$ __class__s rr(zAsPattern.__init__$s   rc$|j|Sr&)visit_as_patternrs rrzAsPattern.accept)''--r)r"r!r$r#rNonerrrrr__annotations__r(r __classcell__r)s@rr r s)  .rr c8eZdZUdZded<dfd ZddZxZS) OrPatternz'The pattern | | ... list[Pattern]patternsc0t|||_yr&r'r(r5rr5r)s rr(zOrPattern.__init__2   rc$|j|Sr&)visit_or_patternrs rrzOrPattern.accept6r,rr5r4rr-rr.r1s@rr3r3-s1!.rr3c8eZdZUdZded<dfd ZddZxZS) ValuePatternzThe pattern x.y (or x.y.z, ...)rexprc0t|||_yr&)r'r(r?)rr?r)s rr(zValuePattern.__init__?s  rc$|j|Sr&)visit_value_patternrs rrzValuePattern.acceptC**400r)r?rrr-rr.r1s@rr>r>:s) 1rr>c4eZdZUded<dfd ZddZxZS)SingletonPattern bool | Nonevaluec0t|||_yr&)r'r(rG)rrGr)s rr(zSingletonPattern.__init__Ks  rc$|j|Sr&)visit_singleton_patternrs rrzSingletonPattern.acceptOs..t44r)rGrFrr-rrrrr/r(rr0r1s@rrErEGs 5rrEc8eZdZUdZded<dfd ZddZxZS)SequencePatternzThe pattern [, ...]r4r5c0t|||_yr&r7r8s rr(zSequencePattern.__init__Xr9rc$|j|Sr&)visit_sequence_patternrs rrzSequencePattern.accept\s--d33rr<rr.r1s@rrMrMSs&!4rrMc4eZdZUded<dfd ZddZxZS)StarredPatternr#capturec0t|||_yr&)r'r(rS)rrSr)s rr(zStarredPattern.__init__es  rc$|j|Sr&)visit_starred_patternrs rrzStarredPattern.accepti,,T22r)rSr#rr-rrKr1s@rrRrR`s3rrRcXeZdZUded<ded<ded< d fd Zd dZxZS) MappingPatternlist[Expression]keysr4valuesr#restc~t|t|t|k(sJ||_||_||_yr&)r'r(lenr[r\r])rr[r\r]r)s rr(zMappingPattern.__init__rs; 4yCK'''   rc$|j|Sr&)visit_mapping_patternrs rrzMappingPattern.accept{rWr)r[rZr\r4r]r#rr-rrKr1s@rrYrYms?   $.;CR 3rrYcjeZdZUdZded<ded<ded<ded< d fd Zd d ZxZS) ClassPatternzThe pattern Cls(...)r class_refr4 positionals list[str] keyword_keyskeyword_valuesct|t|t|k(sJ||_||_||_||_yr&)r'r(r_rdrergrh)rrdrergrhr)s rr(zClassPattern.__init__sG < C$7777"&(,rc$|j|Sr&)visit_class_patternrs rrzClassPattern.acceptrCr) rdr rer4rgrfrhr4rr-rr.r1s@rrcrcsX!! - -# - - & -  -1rrcN)r __future__rtypingrmypy_extensionsr mypy.nodesrrrr mypy.visitorr r r r r3r>rErMrRrYrcrrrrqs8"!::' CL:d::..( . . 17 1 5w 5 4g 4 3W 33W3$171r