+
    :i                     X    R t ^ RIt^ RIt^ RIt ! R R]P                  4      tR tR tR# )zR
This module provides helper functions to find the first line of a function
body.
Nc                   N   a a ] tR t^t oRtR tV 3R ltV3R lR ltRtVt	V ;t
# )FindDefFirstLinez
Attributes
----------
first_stmt_line : int or None
    This stores the first statement line number if the definition is found.
    Or, ``None`` if the definition is not found.
c                ,    Wn         W n        RV n        R# )z>
Parameters
----------
code :
    The function's code object.
N)_co_name_co_firstlinenofirst_stmt_line)selfnamefirstlinenos   &&&X/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/misc/firstlinefinder.py__init__FindDefFirstLine.__init__   s     *#    c                `   < \         P                  ! V4       F  p\        SV `  V4       K  	  R # )N)astiter_child_nodessupervisit)r   nodechild	__class__s   && r   _visit_children FindDefFirstLine._visit_children   s$    ))$/EGM%  0r   c                4   < V ^8  d   QhRS[ P                  /# )   r   )r   FunctionDef)format__classdict__s   "r   __annotate__FindDefFirstLine.__annotate__#   s     # #coo #r   c                   VP                   V P                  8X  d   \        VP                  .4      pVP                  '       d/   VP                  ^ ,          pVP                  VP                  4       V P                  V9   d^   VP                  '       dK   VP                  ^ ,          p\        V4      '       d   VP                  ^,          pVP                  V n	        R#  V P                  V4       R# )    N)r	   r   setlinenodecorator_listaddr   body_is_docstringr   r   )r   r   possible_start_linesfirst_decor
first_stmts   &&   r   visit_FunctionDef"FindDefFirstLine.visit_FunctionDef#   s    99% $'}#5 """ #11!4$((););<##';; 999!%1J$Z00%)YYq\
+5+<+<D(
 T"r   )r   r   r   )__name__
__module____qualname____firstlineno____doc__r   r   r+   __static_attributes____classdictcell____classcell__)r   r   s   @@r   r   r      s#     	$!# # #r   r   c                     \        V \        P                  4      '       dW   \        V P                  \        P                  4      '       d-   \        V P                  P                  \
        4      '       d   R # R# )TF)
isinstancer   ExprvalueConstantstr)r   s   &r   r'   r'   A   sE    $!!tzz3<<00tzz//55r   c                   V P                   p \        VP                  4      ;_uu_ 4       pVP                  4       p^ pRRR4       \        P                  ! \        P                  ! X4      4      p\        TP                  TP                   X,
          4      pTP#                  T4       TP$                  '       d   TP$                  T,           # R#   + '       g   i     L; i  \        \
        3 dP     \        P                  ! T 4      w  rTRP                  T4      pT^,
          p L  \
        \        3 d      R# i ; ii ; i)z
Look up the first line of function body using the file in
``pyfunc.__code__.co_filename``.

Returns
-------
lineno : int; or None
    The first line number of the function body; or ``None`` if the first
    line cannot be determined.
N )__code__openco_filenamereadFileNotFoundErrorOSErrorinspectgetsourcelinesjoin	TypeErrorr   parsetextwrapdedentr   co_nameco_firstlinenor   r   )pyfunccofinsourceoffsetlinestreefinders   &       r   get_func_body_first_linenorT   I   s     
B
"..!!SXXZFF " 99X__V,-Dbjj"*;*;f*DEF
LL%%.. % "! w' 	#226:MEWWU^FaZF# 		sE   C" CC" C	C" C" "E42D((D>9E=D>>E)r1   r   rC   rH   NodeVisitorr   r'   rT    r   r   <module>rW      s0   
   3#s 3#lr   