
    ^h                     h   S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
JrJr   " S S5      rS r\R                  " 5          \R                   " S\5        \ R$                   H?  r\R)                  S5      (       d  \" \\5      (       a  M)  \" \\\" \" \5      5      5        MA     SSS5        \R0                  S	:  a`  \" \" S
5      5      \l        \" \" S
5      5      \l        \" \" S
5      5      \l        \" \" S
5      5      \l        \" \" S
5      5      \l        gg! , (       d  f       N= f)    N)contextmanager)TYPE_CHECKINGCallable	GeneratorListOptionalc                      \ rS rSr% Sr\\R                     \S'   \	(       a$  \
S\S\R                  S\R                  4S j5       r\
\S\R                  S\S	   4S
 j5       5       r\S\S\R                  4   S\S\R                  4   4S j5       r\S\R                  4S j5       r\S\\R                     4S j5       r\S\S\R                  4S j5       r\SS\R.                  4S jj5       rSrg)FastAst   N_LOCATION_OF_NODEargvaluereturnc                     g N r   r   s     P/home/james-whalen/.local/lib/python3.13/site-packages/pyccolo/_fast/fast_ast.pykeywordFastAst.keyword   s    >A    node)NNNc              #      #    [         R                  nU [         l         Sv   U[         l        g! U[         l        f = f7f)zj
All nodes created like `fast.AST(...)` instead of
`ast.AST(...)` will inherit location info from `node`.
N)r
   r   )r   old_location_of_nodes     r   location_ofFastAst.location_of   s4       '88$(!	=(<G%(<G%s   ?/ ?<?func.c                 n   ^ ^ [         R                  " T5      S[        R                  4U U4S jj5       nU$ )Nr   c                  l   > TR                  U S   5         T" U 6 sS S S 5        $ ! , (       d  f       g = f)N)r   )argsclsr   s    r   wrapped_node_transform7FastAst.location_of_arg.<locals>.wrapped_node_transform#   s&    b*T{ +**s   %
3)	functoolswrapsastAST)r"   r   r#   s   `` r   location_of_argFastAst.location_of_arg!   s1    			#SWW 	# 
	# &%r   c                      U R                  XS9$ Nr   )r   )r"   r   r   s      r   kw
FastAst.kw*   s    {{s{00r   c           	      r    UR                  5        VVs/ s H  u  p#U R                  X#S9PM     snn$ s  snnf r,   )itemsr   )r"   kwargsr   r   s       r   r1   FastAst.kwargs.   s-    DJLLNSNjc1NSSSs   3codec                     [         R                  " [        R                  " U5      /UQ70 UD6nU R                  b   [         R
                  " X@R                  5        U$ r   )r'   parsetextwrapdedentr   copy_location)r"   r3   r!   r1   rets        r   r5   FastAst.parse2   sH    ii-???  ,c#8#89
r   c                     U=(       d    / nU=(       d    / n[         R                  " XU40 UD6nU R                  b   [         R                  " XPR                  5        U$ r   )r'   Callr   r8   )r"   r   r!   keywordsr1   r9   s         r   r<   FastAst.Call9   sN    zr>rhht86v6  ,c#8#89
r   r   )NN)__name__
__module____qualname____firstlineno__r   r   r'   r(   __annotations__r   staticmethodstrr   r   r   r   classmethodr   r)   r-   r   r1   r5   r<   __static_attributes__r   r   r   r
   r
      s7   +/x(/	AASWWAA 
A
=#'' 
=i0@&A 
=  
= &8CL#9 &hsCGG|>T & & 1s{{ 1 1 Tckk!2 T T  #''   sxx  r   r
   c                    ^  U 4S jnU$ )Nc                     > [        [        T5      " U 0 UD6n[        R                  b%  [        R                  " U[        R                  5        U$ r   )getattrr'   r
   r   r8   )r!   r1   r9   	func_names      r   ctor_make_func.<locals>.ctorD   s@    c9%t6v6$$0c7#<#<=
r   r   )rK   rL   s   ` r   
_make_funcrN   C   s     Kr   ignore_)      Constant)r'   r%   sysr6   warnings
contextlibr   typingr   r   r   r   r   r
   rN   catch_warningssimplefilterDeprecationWarning__dict__	ctor_name
startswithhasattrsetattrrD   version_infoStrNumBytesNameConstantEllipsisr   r   r   <module>rf      s
   
  
   % E E5 5p ($67\\	$$(C(CLI1F$GH "  vz*56GKz*56GK J!78GM'
:(>?G#Jz$:;G  s   A#D##
D1