
    i                        % S SK Jr  S SKrS SKJr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)AnyCallablec                J    [        U R                  5       SU R                   3$ )N.)get_namevalueattrnodes    c/home/james-whalen/.local/lib/python3.13/site-packages/griffe/_internal/agents/nodes/assignments.py_get_attribute_namer   	   s!    tzz"#1TYYK00    c                    U R                   $ N)idr   s    r   _get_name_namer      s    77Nr   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     9L&XfLs   )targets)r   namesnames      r   _get_assign_namesr    #   s*    9DLL9E"+UTdDU+++s   
//c                D    [        U R                  5      nU(       a  U/$ / $ r   )r   r   r   r   s     r   _get_annassign_namesr#   (   s    DKK DD6!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&   3   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 )zExtract 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+   ?   s=     /8oZodQXAY!DJJsA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,   r/   )r   r.   r,   r/   )
__future__r   asttypingr   r   r   r   Name	Attributer   __annotations__r   r    r#   Assign	AnnAssignr$   r&   r+    r   r   <module>r9      s}    # 
  1
 HHnMM&40 	,,
" JJ!MM';7 	-	[r   