Ë
    Kæõi×  ã                   ó¤   — d dl mZ d dlmZmZmZ  G d„ de«      Z G d„ de¬«      Z G d„ d	«      Z	 G d
„ d«      Z
 G d„ d«      Z G d„ de«      Zy)é    )Úcontextmanager)ÚDictÚListÚAnyc                   ó(   — e Zd ZU eed<   eed<   d„ Zy)Ú_NormalizerMetaÚrule_value_classesÚrule_type_classesc                 óR   — t         j                  | |||«      }i |_        i |_        |S ©N)ÚtypeÚ__new__r	   r
   )ÚclsÚnameÚbasesÚdctÚnew_clss        úa/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/parso/normalizer.pyr   z_NormalizerMeta.__new__	   s+   € Ü—,‘,˜s D¨%°Ó5ˆØ%'ˆÔ"Ø$&ˆÔ!Øˆó    N)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   © r   r   r   r      s   … ØÓØÓór   r   c                   ó¬   — e Zd ZU i Zeeee   f   ed<   i Z	eeee   f   ed<   d„ Z
d„ Zd„ Zd„ Zed„ «       Zd„ Zd	„ Zd
„ Zd„ Zd„ Zedddddœd„«       Zy)Ú
NormalizerÚ_rule_type_instancesÚ_rule_value_instancesc                 ó†   — || _         || _        g | _        | j                  d«      | _        | j                  d«      | _        y )Nr
   r	   )ÚgrammarÚ_configÚissuesÚ_instantiate_rulesr   r   )Úselfr    Úconfigs      r   Ú__init__zNormalizer.__init__   s?   € ØˆŒØˆŒØˆŒà$(×$;Ñ$;Ð<OÓ$PˆÔ!Ø%)×%<Ñ%<Ð=QÓ%RˆÕ"r   c                 ó  — i }t        | «      j                  «       D ]]  }t        ||i «      }|j                  «       D ];  \  }}|D �cg c]
  } || «      ‘Œ }}|j	                  |g «      j                  |«       Œ= Œ_ |S c c}w r   )r   ÚmroÚgetattrÚitemsÚ
setdefaultÚextend)	r$   Úattrr   ÚbaseÚ	rules_mapÚtype_Úrule_classesÚrule_clsÚnews	            r   r#   zNormalizer._instantiate_rules   s~   € ØˆÜ˜“J—N‘NÖ$ˆDÜ  d¨BÓ/ˆIØ'0§¡Ö'8Ñ#��|Ù6BÓC±l¨(‘x •~°l�ÐCØ—‘˜u bÓ)×0Ñ0°Õ5ñ (9ð %ð
 ˆ
ùò Ds   ÁA>c                 ój   — | j                  |«       | j                  |«      }| j                  «        |S r   )Ú
initializeÚvisitÚfinalize)r$   ÚnodeÚvalues      r   ÚwalkzNormalizer.walk%   s*   € Ø�‰˜ÔØ—
‘
˜4Ó ˆØ�‰ŒØˆr   c                 óà   ‡ — 	 |j                   }‰ j                  |«      5  dj                  ˆ fd„|D «       «      cd d d «       S # 1 sw Y   y xY w# t        $ r ‰ j	                  |«      cY S w xY w)NÚ c              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr   )r6   )Ú.0Úchildr$   s     €r   Ú	<genexpr>z#Normalizer.visit.<locals>.<genexpr>2   s   øè ø€ ÐG¹h°U˜tŸz™z¨%×0¹hùs   ƒ)ÚchildrenÚ
visit_nodeÚjoinÚAttributeErrorÚ
visit_leaf)r$   r8   rA   s   `  r   r6   zNormalizer.visit+   s]   ø€ ð	HØ—}‘}ˆHð —‘ Õ&Ø—w‘wÓG¹hÓGÓG÷ '×&Ò&ûô ò 	)Ø—?‘? 4Ó(Ò(ð	)ús   ƒA  AÁAÁA-Á,A-c              #   ó6   K  — | j                  |«       d –— y ­wr   )Ú_check_type_rules©r$   r8   s     r   rB   zNormalizer.visit_node4   s   è ø€ à×Ñ˜tÔ$Üùs   ‚c                 ó|   — | j                   j                  |j                  g «      D ]  }|j                  |«       Œ y r   )r   Úgetr   Ú	feed_node)r$   r8   Úrules      r   rG   zNormalizer._check_type_rules9   s0   € Ø×-Ñ-×1Ñ1°$·)±)¸RÖ@ˆDØ�N‰N˜4Õ ñ Ar   c                 óÎ   — | j                  |«       | j                  j                  |j                  g «      D ]  }|j	                  |«       Œ |j
                  |j                  z   S r   )rG   r   rJ   r9   rK   Úprefix)r$   ÚleafrL   s      r   rE   zNormalizer.visit_leaf=   sS   € Ø×Ñ˜tÔ$à×.Ñ.×2Ñ2°4·:±:¸rÖBˆDØ�N‰N˜4Õ ð Cð �{‰{˜TŸZ™ZÑ'Ð'r   c                  ó   — y r   r   rH   s     r   r5   zNormalizer.initializeE   ó   € Ør   c                  ó   — y r   r   ©r$   s    r   r7   zNormalizer.finalizeH   rQ   r   c                 óp   — t        |||«      }|| j                  vr| j                  j                  |«       y)NT)ÚIssuer"   Úappend)r$   r8   ÚcodeÚmessageÚissues        r   Ú	add_issuezNormalizer.add_issueK   s1   € Ü�d˜D 'Ó*ˆØ˜Ÿ™Ñ#Ø�K‰K×Ñ˜uÔ%Ør   Nr   )r9   Úvaluesr   Útypesc                ó°   ‡ ‡‡— t        ‰«      Št        ‰«      Š|�‰j                  |«       |�‰j                  |«       ‰s‰st        d«      ‚ˆ ˆˆfd„}|S )zÜ
        Use it as a class decorator::

            normalizer = Normalizer('grammar', 'config')
            @normalizer.register_rule(value='foo')
            class MyRule(Rule):
                error_code = 42
        z%You must register at least something.c                 óÐ   •— ‰D ]-  }‰j                   j                  |g «      j                  | «       Œ/ ‰D ]-  }‰j                  j                  |g «      j                  | «       Œ/ | S r   )r	   r+   rV   r
   )r2   ÚvÚtr   r\   r[   s      €€€r   Ú	decoratorz+Normalizer.register_rule.<locals>.decoratore   s^   ø€ Û�Ø×&Ñ&×1Ñ1°!°RÓ8×?Ñ?ÀÕIð ã�Ø×%Ñ%×0Ñ0°°BÓ7×>Ñ>¸xÕHð àˆOr   )ÚlistrV   Ú
ValueError)r   r9   r[   r   r\   ra   s   ` ` ` r   Úregister_rulezNormalizer.register_ruleQ   sY   ú€ ô �f“ˆÜ�U“ˆØÐØ�M‰M˜%Ô ØÐØ�L‰L˜Ôá™eÜÐDÓEÐEö	ð Ðr   )r   r   r   r   r   Ústrr   r   r   r   r&   r#   r:   r6   r   rB   rG   rE   r5   r7   rZ   Úclassmethodrd   r   r   r   r   r      s’   … Ø24Ð˜$˜s D¨¡J˜Ñ/Ó4Ø35Ð˜4  T¨$¡Z Ñ0Ó5òSòòòHð ñó ðò!ò(òòòð Ø$(°¸$Àbó ó ñr   r   )Ú	metaclassc                   ó   — e Zd ZeZd„ Zy)ÚNormalizerConfigc                 ó&   — | j                  || «      S r   )Únormalizer_class)r$   r    s     r   Úcreate_normalizerz"NormalizerConfig.create_normalizerr   s   € Ø×$Ñ$ W¨dÓ3Ð3r   N)r   r   r   r   rk   rl   r   r   r   ri   ri   o   s   „ Ø!Ðó4r   ri   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)rU   c                 ój   — || _         	 || _        	 |j                  | _        	 |j                  | _        y r   )rW   rX   Ú	start_posÚend_pos©r$   r8   rW   rX   s       r   r&   zIssue.__init__w   s;   € ØˆŒ	ð	ð ˆŒð	ð Ÿ™ˆŒð	ð —|‘|ˆ�r   c                 ój   — | j                   |j                   k(  xr | j                  |j                  k(  S r   )ro   rW   ©r$   Úothers     r   Ú__eq__zIssue.__eq__‡   s'   € Ø�~‰~ §¡Ñ0ÒL°T·Y±YÀ%Ç*Á*Ñ5LÐLr   c                 ó&   — | j                  |«       S r   )ru   rs   s     r   Ú__ne__zIssue.__ne__Š   s   € Ø—;‘;˜uÓ%Ð%Ð%r   c                 óD   — t        | j                  | j                  f«      S r   )ÚhashrW   ro   rS   s    r   Ú__hash__zIssue.__hash__�   s   € Ü�T—Y‘Y §¡Ð/Ó0Ð0r   c                 óP   — d| j                   j                  ›d| j                  ›d�S )NÚ<z: Ú>)Ú	__class__r   rW   rS   s    r   Ú__repr__zIssue.__repr__�   s   � Ø!Ÿ^™^×4Ó4°d·i³iÐ@Ð@r   N)r   r   r   r&   ru   rw   rz   r   r   r   r   rU   rU   v   s   „ ò$ò Mò&ò1óAr   rU   c                   óH   — e Zd ZU eed<   eed<   d„ Zd„ Zd„ Zd„ Z	d
d„Z
d	„ Zy)ÚRulerW   rX   c                 ó   — || _         y r   )Ú_normalizer)r$   Ú
normalizers     r   r&   zRule.__init__˜   s
   € Ø%ˆÕr   c                 ó   — t        «       ‚r   )ÚNotImplementedErrorrH   s     r   Úis_issuezRule.is_issue›   s   € Ü!Ó#Ð#r   c                 ó   — |S r   r   rH   s     r   Úget_nodezRule.get_nodež   s   € Øˆr   c                 ó<   — |€| j                   }|€t        d«      ‚|S )Nz$The message on the class is not set.)rX   rc   )r$   rX   r8   s      r   Ú_get_messagezRule._get_message¡   s&   € Øˆ?Ø—l‘lˆGØˆÜ Ð!GÓHÐHØˆr   Nc                 ó˜   — |€| j                   }|€t        d«      ‚| j                  ||«      }| j                  j	                  |||«       y )Nz'The error code on the class is not set.)rW   rc   r‹   rƒ   rZ   rq   s       r   rZ   zRule.add_issue¨   sK   € Øˆ<Ø—9‘9ˆDØˆ|Ü Ð!JÓKÐKà×#Ñ# G¨TÓ2ˆà×Ñ×"Ñ" 4¨¨wÕ7r   c                 ól   — | j                  |«      r#| j                  |«      }| j                  |«       y y r   )r‡   r‰   rZ   )r$   r8   Ú
issue_nodes      r   rK   zRule.feed_node²   s-   € Ø�=‰=˜ÔØŸ™ tÓ,ˆJØ�N‰N˜:Õ&ð r   )NN)r   r   r   Úintr   re   r&   r‡   r‰   r‹   rZ   rK   r   r   r   r�   r�   ”   s*   … Ø
ƒIØƒLò&ò$òòó8ó'r   r�   c                   ó.   ‡ — e Zd Zd„ Zˆ fd„Zˆ fd„Zˆ xZS )ÚRefactoringNormalizerc                 ó   — || _         y r   )Ú_node_to_str_map)r$   Únode_to_str_maps     r   r&   zRefactoringNormalizer.__init__¹   s
   € Ø /ˆÕr   c                 ó`   •— 	 | j                   |   S # t        $ r t        ‰| �  |«      cY S w xY wr   )r“   ÚKeyErrorÚsuperr6   )r$   r8   r~   s     €r   r6   zRefactoringNormalizer.visit¼   s7   ø€ ð	'Ø×(Ñ(¨Ñ.Ð.øÜò 	'Ü‘7‘= Ó&Ò&ð	'úó   ƒ ’-¬-c                 ó`   •— 	 | j                   |   S # t        $ r t        ‰| �  |«      cY S w xY wr   )r“   r–   r—   rE   )r$   rO   r~   s     €r   rE   z RefactoringNormalizer.visit_leafÂ   s8   ø€ ð	,Ø×(Ñ(¨Ñ.Ð.øÜò 	,Ü‘7Ñ% dÓ+Ò+ð	,úr˜   )r   r   r   r&   r6   rE   Ú__classcell__)r~   s   @r   r‘   r‘   ¸   s   ø„ ò0ô'÷,ð ,r   r‘   N)Ú
contextlibr   Útypingr   r   r   r   r   r   ri   rU   r�   r‘   r   r   r   Ú<module>r�      sV   ðÝ %ß "Ñ "ô�dô ô\˜?õ \÷~4ñ 4÷Añ A÷<!'ñ !'ôH,˜Jõ ,r   