Ë
    „¶AeT  ã                   ó>   — d dl mZ ddlmZ ddlmZ  G d„ de«      Zy)é    )Úabsolute_importé   )ÚVisitorTransform)ÚStatListNodec                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚExtractPxdCodeaý  
    Finds nodes in a pxd file that should generate code, and
    returns them in a StatListNode.

    The result is a tuple (StatListNode, ModuleScope), i.e.
    everything that is needed from the pxd after it is processed.

    A purer approach would be to separately compile the pxd code,
    but the result would have to be slightly more sophisticated
    than pure strings (functions + wanted interned strings +
    wanted utility code + wanted cached objects) so for now this
    approach is taken.
    c                 óŒ   — g | _         | j                  |«       t        |j                  | j                   ¬«      |j                  fS )N)Ústats)ÚfuncsÚvisitchildrenr   ÚposÚscope)ÚselfÚroots     ú>lib/python3.12/site-packages/Cython/Compiler/CodeGeneration.pyÚ__call__zExtractPxdCode.__call__   s5   € ØˆŒ
Ø×Ñ˜4Ô Ü˜TŸX™X¨T¯Z©ZÔ8¸$¿*¹*ÐEÐEó    c                 ó<   — | j                   j                  |«       |S ©N)r   Úappend©r   Únodes     r   Úvisit_FuncDefNodez ExtractPxdCode.visit_FuncDefNode   s   € Ø
‰
×Ñ˜$Ôð ˆr   c                 ó(   — | j                  |«       |S r   )r   r   s     r   Ú
visit_NodezExtractPxdCode.visit_Node!   s   € Ø×Ñ˜4Ô Øˆr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   © r   r   r   r      s   „ ñòFò
ór   r   N)Ú
__future__r   ÚVisitorr   ÚNodesr   r   r    r   r   ú<module>r$      s   ðÝ &å %Ý ôÐ%õ r   