ó
    Ð]jå  ã                  ó  • % S SK Jr  S SKrS SKJrJr  \(       a  S SKJr  SS jrSS jr	\R                  \	\R                  \0rS\S'   SS	 jrSS
 jrSS jr\R"                  \\R$                  \0rS\S'   SS jrSS jrg)é    )ÚannotationsN)ÚTYPE_CHECKINGÚAny)ÚCallablec                óJ   • [        U R                  5       SU R                   3$ )NÚ.)Úget_nameÚvalueÚattr©Únodes    Úf/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/agents/nodes/assignments.pyÚ_get_attribute_namer      s!   € Ü�t—z‘zÓ"Ð# 1 T§Y¡Y KÐ0Ð0ó    c                ó   • U R                   $ ©N)Úidr   s    r   Ú_get_name_namer      s   € Ø�7‰7€Nr   z dict[type, Callable[[Any], str]]Ú_node_name_mapc                ó2   • [         [        U 5         " U 5      $ )z|Extract name from an assignment node.

Parameters:
    node: The node to extract names from.

Returns:
    A list of names.
)r   Útyper   s    r   r	   r	      s   € ô œ$˜t›*Ò% dÓ+Ð+r   c                óh   • S U R                    5       nU Vs/ s H  o"(       d  M  UPM     sn$ s  snf )Nc              3  ó8   #   • U  H  n[        U5      v •  M     g 7fr   )r	   )Ú.0Útargets     r   Ú	<genexpr>Ú$_get_assign_names.<locals>.<genexpr>'   s   é € Ð9ªL &ŒX�f×ÐªLùs   ‚)Útargets)r   ÚnamesÚnames      r   Ú_get_assign_namesr!   &   s*   € Ù9¨D¯LªLÓ9€EÙ"Ó+šU�T£d�D™UÑ+Ð+ùÒ+s   ˜
/¦/c                óD   • [        U R                  5      nU(       a  U/$ / $ r   )r	   r   ©r   r    s     r   Ú_get_annassign_namesr$   +   s   € Ü�D—K‘KÓ €DÞˆDˆ6Ð!˜rÐ!r   z&dict[type, Callable[[Any], list[str]]]Ú_node_names_mapc                ó2   • [         [        U 5         " U 5      $ )z}Extract names from an assignment node.

Parameters:
    node: The node to extract names from.

Returns:
    A list of names.
)r%   r   r   s    r   Ú	get_namesr'   6   s   € ô œ4 ›:Ò& tÓ,Ð,r   c                ó˜   • [        U 5       Vs/ s H/  oR                  S5      (       d  M  UR                  SS5      S   PM1     sn$ s  snf )z›Extract names from an assignment node, only for instance attributes.

Parameters:
    node: The node to extract names from.

Returns:
    A list of names.
zself.r   é   )r'   Ú
startswithÚsplitr#   s     r   Úget_instance_namesr,   B   s=   € ô /8¸¬oÓZªo dÇÁÐQX×AYÓ!ˆD�J‰J�s˜AÓ˜qÔ!©oÑZÐZùÒZs
   ŽA«A)r   zast.AttributeÚreturnÚstr)r   zast.Namer-   r.   )r   úast.ASTr-   r.   )r   z
ast.Assignr-   ú	list[str])r   zast.AnnAssignr-   r0   )r   r/   r-   r0   )Ú
__future__r   ÚastÚtypingr   r   Úcollections.abcr   r   r   ÚNameÚ	Attributer   Ú__annotations__r	   r!   r$   ÚAssignÚ	AnnAssignr%   r'   r,   © r   r   Ú<module>r;      sƒ   ðö #ã 
ß %æÝ(ô1ôð
 ‡H�HˆnØ‡M�MÐ&ð4€Ð0ó ô	,ô,ô
"ð ‡J�JÐ!Ø‡M�MÐ'ð;€Ð7ó ô	-õ	[r   