+
    :i                         ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	  ! R R]4      t
]R8X  d   ] P                  ! 4        R# R# )    Nnjit)TestCase)get_func_body_first_linenoc                      a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tRtV tR# )TestFirstLineFinderzv
The following methods contains tests that are sensitive to the source
locations w.r.t. the beginning of each method.
c                    \         P                  ! 4       p\         P                  ! V4      pV^,          P                  P                  # )   )inspectcurrentframegetouterframesframef_code)selfr   caller_frames   &  ^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_firstlinefinder.py_get_grandparent_caller_code0TestFirstLineFinder._get_grandparent_caller_code   s6    $$&--e4A$$+++    c                n    V P                  4       pVP                  pV P                  WV,           4       R # N)r   co_firstlinenoassertEqual)r   expectedoffset_from_callergrandparent_colnos   &&&  r   assert_line_location(TestFirstLineFinder.assert_line_location   s/    ::<++);#;<r   c                X    \         R  4       p\        V4      pV P                  V^4       R# )c                      ^#     r$   r   r   fooBTestFirstLineFinder.test_decorated_odd_comment_indent.<locals>.foo   s     r   Nr   r   r   r   r%   first_def_lines   &  r   !test_decorated_odd_comment_indent5TestFirstLineFinder.test_decorated_odd_comment_indent   s0    		 
	 4C8!!.!4r   c                X    R  p\        \        V4      4      pV P                  V^4       R# )c                      ^# r"   r$   r$   r   r   r%   DTestFirstLineFinder.test_undecorated_odd_comment_indent.<locals>.foo%   s    r   N)r   r   r   r(   s   &  r   #test_undecorated_odd_comment_indent7TestFirstLineFinder.test_undecorated_odd_comment_indent$   s'    	 4DI>!!.!4r   c                V    R  p\        \        V4      4      pV P                  V4       R# )c                      ^# r"   r$   r$   r   r   <lambda>9TestFirstLineFinder.test_unnamed_lambda.<locals>.<lambda>-   s    ar   N)r   r   assertIsNoner(   s   &  r   test_unnamed_lambda'TestFirstLineFinder.test_unnamed_lambda,   s#    3DI>.)r   c                T    R  pV! 4       p\        V4      pV P                  V^4       R# )c                      \         R  4       p V # )c                      ^# r"   r$   r$   r   r   r%   BTestFirstLineFinder.test_nested_function.<locals>.foo.<locals>.foo4   s     r   r   )r%   s    r   r%   5TestFirstLineFinder.test_nested_function.<locals>.foo3   s      Jr   N)r   r   )r   r%   innerr)   s   &   r   test_nested_function(TestFirstLineFinder.test_nested_function2   s*    	 3E:!!.!4r   c                X    \         R  4       p\        V4      pV P                  V^4       R# )c                      R # r   r$   r$   r   r   r%   4TestFirstLineFinder.test_pass_statement.<locals>.foo@   s    r   Nr'   r(   s   &  r   test_pass_statement'TestFirstLineFinder.test_pass_statement?   s0    		 
	 4C8!!.!4r   c                n    R p/ p\        W4       VR,          p\        V4      pV P                  V4       R# )$def foo():
            pass
        r%   N)execr   r5   )r   sourceglobalnsr%   r)   s   &    r   test_string_eval$TestFirstLineFinder.test_string_evalG   s9     Vuo3C8.)r   c                    R p\        V4      WRP                  R4      V3pV\        P                  V&   \	        W!R4      p/ p\        Wx4       W,          p	\        V	4      p
V P                  W4       R # )NTrG   )len
splitlines	linecachecachecompilerG   r   r   )r   filenamerH   function_nameexpected_first_line	timestampentrycoderI   functionr)   s   &&&&&      r   _test_with_patched_linecache0TestFirstLineFinder._test_with_patched_linecacheT   so    
 	Vi):):4)@(K$)	! v0T* 4H==r   c                <    R pRpRp^pV P                  W!VV4       R# )rF   z<foo-basic>r%   NrY   r   rH   rR   rS   rT   s   &    r    test_string_eval_linecache_basic4TestFirstLineFinder.test_string_eval_linecache_basicj   s0     !))(M*=	?r   c                <    R pRpRp^pV P                  W!VV4       R# )zif True:
        # indent designed to test against potential indent error in ast.parse

        def foo():
            pass
        z<foo-indent>r%   Nr\   r]   s   &    r   !test_string_eval_linecache_indent5TestFirstLineFinder.test_string_eval_linecache_indentu   s0     "))(M*=	?r   c                d    \         P                  ! R 4      pRpRp^pV P                  W!VV4       R# )z
        def foo_gen():
            def foo():
                pass
            return foo

        generated_foo = foo_gen()
        z	<foo-gen>generated_fooNtextwrapdedentrY   r]   s   &    r   "test_string_eval_linecache_closure6TestFirstLineFinder.test_string_eval_linecache_closure   s<     "  '))(M*=	?r   c                d    \         P                  ! R 4      pRpRp^	pV P                  W!VV4       R# )z
        def decorator(function):
            return function

        @decorator
        @decorator
        @decorator
        def decorated():
            pass
        z<foo-stacked-decorator>	decoratedNre   r]   s   &    r   -test_string_eval_linecache_stacked_decoratorsATestFirstLineFinder.test_string_eval_linecache_stacked_decorators   s<     	" 	 -#))(M*=	?r   c                <    R pRpRp^
pV P                  W!VV4       R# )a  if 1:
        def decorator(function):
            return function

        def gen_decorated_foo():
            @decorator
            @decorator
            @decorator
            def _foo():
                pass

            return _foo

        foo_all = gen_decorated_foo()
        z	<foo-all>foo_allNr\   r]   s   &    r   test_string_eval_linecache_all2TestFirstLineFinder.test_string_eval_linecache_all   s0      ! ))(M*=	?r   c                X    \         R  4       p\        V4      pV P                  V^4       R# )c                      R # r   r$   r$   r   r   r%   :TestFirstLineFinder.test_single_line_function.<locals>.foo   s    r   Nr'   r(   s   &  r   test_single_line_function-TestFirstLineFinder.test_single_line_function   s*    	 
3C8!!.!4r   c                X    \         R  4       p\        V4      pV P                  V^4       R# )c                     R# zDocstring
            Nr$   r$   r   r   r%   /TestFirstLineFinder.test_docstring.<locals>.foo   s     r   Nr'   r(   s   &  r   test_docstring"TestFirstLineFinder.test_docstring   s0    		 
	
 4C8!!.!4r   c                X    \         R  4       p\        V4      pV P                  V^4       R# )c                      R# ry   r$   r$   r   r   r%   1TestFirstLineFinder.test_docstring_2.<locals>.foo   s
    r   Nr'   r(   s   &  r   test_docstring_2$TestFirstLineFinder.test_docstring_2   s0    		 
	 4C8!!.!4r   r$   N)__name__
__module____qualname____firstlineno____doc__r   r   r*   r/   r6   r>   rC   rJ   rY   r^   ra   rh   rl   rp   ru   r{   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sd     
,
=
55*55*>,	??? ?$?0555 5r   r   __main__)unittestrO   r   rf   numbar   numba.tests.supportr   numba.misc.firstlinefinderr   r   r   mainr$   r   r   <module>r      sA         ( AN5( N5b zMMO r   