+
    :iO                     v   ^ RI t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIH	t	H
t
 ^ RIHt ^ RIHtHt ^ RIHtHtHt ^ RIHtHt ^ R	IHt  ! R
 R] P                  4      t ! R R] P                  4      t ! R R]4      t ! R R]4      tRt ! R R]4      t ! R R]4      t]R8X  d   ] P>                  ! 4        R# R# )    N)TestCase)objmode)ircompiler)errors)CompilerBaseReconstructSSA)FunctionPassPassManagerregister_pass)TranslateByteCodeIRProcessing)njitc                   &   a  ] tR t^t o R tRtV tR# )TestIRc                   R p\         P                  ! R\         P                  ! V^R7      R7      p\         P                  ! V\         P                  ! V^R7      R7      pVP                  R\         P                  ! V^R7      R7      pV P	                  VP                  R4      V4       V P                  \        VP                  4      ^4       VP                  R\         P                  ! V^R7      R7      pV P                  \        VP                  4      ^4       V P                  \        VP                  4      ^4       V P	                  VP                  R4      V4       V P	                  VP                  R4      V4       VP                  R\         P                  ! V^R7      R7      pV P	                  VP                  R4      V4       V P                  VP                  R4      V'       * 4       V P	                  VP                  R4      V4        VP                  R\         P                  ! V^R7      R7       V P                  R\         P                  ,          4       R#   \         P                   d     R# i ; i)z<?>N)filenamelineparentlocapple)r   orangezExpecting an %s)r   ScopeLocdefineassertIsgetassertEquallen	localvarsassertIsNotfailRedefinedError)selfr   toplocalr   r   more_oranges   &      Q/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_ir.pytest_IRScopeTestIR.test_IRScope   s   hhdq(IJ)JKW"&&(*KLeii(%0U__-q1H"&&(*KLU__-q1S]]+Q/cggh'0eii)62ll8=>2@l Acggh'08,&j9eii);7	=LLrvvxa'HLI II'"*;*;;<    		s   )I& &I?>I? N)__name__
__module____qualname____firstlineno__r*   __static_attributes____classdictcell____classdict__s   @r)   r   r      s     = =    r   c                     a  ] tR t^8t o ]P
                  ! RR]P                  4      t]P
                  ! RR]P                  4      t]P
                  ! RR]P                  4      t	]P
                  ! RR]P                  4      t
]P
                  ! RR]P                  4      t]P                  ! R^^ 4      t]P                  ! R^^ 4      t]P                  ! R^^ 4      tR
R ltR	tV tR# )CheckEqualityNabcdemockc                    Vf   . pVf   . pV F  pV P                  W8H  4       K  	  V F  pV P                  W8g  4       K  	  R # N)
assertTrue)r%   basesame	differentsr;   s   &&&&  r)   checkCheckEquality.checkC   sG    <DIAOODI& AOODI& r5   r,   )NN)r-   r.   r/   r0   r   Varunknown_locvar_avar_bvar_cvar_dvar_er   loc1loc2loc3rE   r1   r2   r3   s   @r)   r7   r7   8   s     FF4bnn-EFF4bnn-EFF4bnn-EFF4bnn-EFF4bnn-E66&!QD66&!QD66&!QD' 'r5   r7   c                   0   a  ] tR t^Nt o RtR tR tRtV tR# )
TestIRMetaz(
Tests IR node meta, like Loc and Scope
c                   \         P                  ! R ^^ 4      p\         P                  ! R ^^ 4      p\         P                  ! R^^ 4      p\         P                  ! R ^^ 4      p\         P                  ! R ^^4      pV P                  W.W4V.R7       \         P                  ! R ^^ RR7      p\         P                  ! R ^^ RR7      pV P                  WV.R7       R# )filepilerB   rC   F)maybe_decoratorTrB   N)r   r   rE   r%   r8   r9   r:   r;   r<   fgs   &       r)   test_locTestIRMeta.test_locR   s    FF61a FF61a FF61a FF61a FF61a 

14A!9
5FF61a7FF61a6

1q6
"r5   c                   \         P                  ! R V P                  4      p\         P                  ! R V P                  4      p\         P                  ! R V P                  4      pV P	                  WV.R7       \         P                  ! WP                  4      p\         P                  ! WP                  4      p\         P                  ! WP                  4      p\         P                  ! W0P                  4      pV P	                  WEWg.R7       \         P                  ! W P                  4      pV P	                  WH.R7       R # )NrX   )r   r   rN   rO   rE   )	r%   parent1parent2parent3r8   r9   r:   r;   r<   s	   &        r)   
test_scopeTestIRMeta.test_scope^   s    ((4+((4+((4+

77!4
5HHWii(HHWii(HHWii(HHWii(

1q9
% HHWii(

14
 r5   r,   N)	r-   r.   r/   r0   __doc__r\   rb   r1   r2   r3   s   @r)   rR   rR   N   s     
#! !r5   rR   c                      a  ] tR t^pt 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R tR tR tR tR tR tR tRtV tR# )TestIRNodesz
Tests IR nodes
c                    \         P                  ! 4       p\         P                  ! 4       pV P                  W.R 7       R# rX   N)r   
TerminatorrE   )r%   t1t2s   &  r)   test_terminatorTestIRNodes.test_terminatort   s(    ]]_]]_

2D
!r5   c                :   \         P                  ! ^V P                  4      p\         P                  ! ^V P                  4      p\         P                  ! ^V P                  4      p\         P                  ! ^V P                  4      pV P	                  WV.V.R7       R#    rV   N)r   JumprN   rO   rE   r%   r8   r9   r:   r;   s   &    r)   	test_jumpTestIRNodes.test_jumpz   sh    GGAtyy!GGAtyy!GGAtyy!GGAtyy!

1q6aS
1r5   c                   \         P                  ! V P                  V P                  4      p\         P                  ! V P                  V P                  4      p\         P                  ! V P                  V P                  4      p\         P                  ! V P
                  V P                  4      pV P                  WV.V.R 7       R# rV   N)r   ReturnrI   rN   rO   rJ   rE   rr   s   &    r)   test_returnTestIRNodes.test_return   sx    IIdjj$)),IIdjj$)),IIdjj$)),IIdjj$)),

1q6aS
1r5   c                   \         P                  ! V P                  V P                  4      p\         P                  ! V P                  V P                  4      p\         P                  ! V P                  V P                  4      p\         P                  ! V P
                  V P                  4      pV P                  WV.V.R 7       R# rv   )r   RaiserI   rN   rO   rJ   rE   rr   s   &    r)   
test_raiseTestIRNodes.test_raise   sx    HHTZZ+HHTZZ+HHTZZ+HHTZZ+

1q6aS
1r5   c                   \         P                  ! \        R V P                  4      p\         P                  ! \        R V P                  4      p\         P                  ! \        R V P                  4      p\         P                  ! \        RV P                  4      p\         P                  ! \
        R V P                  4      pV P                  WV.WT.R7       R # )NrV   )str)r   StaticRaiseAssertionErrorrN   rO   RuntimeErrorrE   )r%   r8   r9   r:   r<   r;   s   &     r)   test_staticraiseTestIRNodes.test_staticraise   s    NN>4;NN>4;NN>4;NN>8TYY?NN<tyy9

1q6aV
4r5   c                P   \         P                  ! V P                  ^^V P                  4      p\         P                  ! V P                  ^^V P                  4      p\         P                  ! V P                  ^^V P                  4      p\         P                  ! V P
                  ^^V P                  4      p\         P                  ! V P                  ^^V P                  4      p\         P                  ! V P                  ^^V P                  4      pV P                  WV.WEV.R7       R# ro   )r   BranchrI   rN   rO   rJ   rE   r%   r8   r9   r:   r;   r<   rZ   s   &      r)   test_branchTestIRNodes.test_branch   s    IIdjj!Q		2IIdjj!Q		2IIdjj!Q		2IIdjj!Q		2IIdjj!Q		2IIdjj!Q		2

1q6aAY
7r5   c                :   \         P                  ! R V P                  4      p\         P                  ! R V P                  4      p\         P                  ! R V P                  4      p\         P                  ! RV P                  4      pV P	                  WV.V.R7       R# )some_opsome_other_oprV   N)r   ExprrN   rO   rE   rr   s   &    r)   	test_exprTestIRNodes.test_expr   sh    GGItyy)GGItyy)GGItyy)GGOTYY/

1q6aS
1r5   c                @   \         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      pV P                  WV.WEV.R 7       R# rv   )	r   SetItemrI   rJ   rK   rN   rO   rL   rE   r   s   &      r)   test_setitemTestIRNodes.test_setitem   s    JJtzz4::tzz499EJJtzz4::tzz499EJJtzz4::tzz499EJJtzz4::tzz499EJJtzz4::tzz499EJJtzz4::tzz499E

1q6aAY
7r5   c                   \         P                  ! V P                  ^V P                  V P                  V P
                  4      p\         P                  ! V P                  ^V P                  V P                  V P
                  4      p\         P                  ! V P                  ^V P                  V P                  V P                  4      p\         P                  ! V P                  ^V P                  V P                  V P
                  4      p\         P                  ! V P                  ^V P                  V P                  V P
                  4      p\         P                  ! V P                  ^V P                  V P                  V P
                  4      p\         P                  ! V P                  ^V P                  V P                  V P
                  4      pV P                  WV.WEWg.R7       R# ro   )	r   StaticSetItemrI   rJ   rK   rN   rO   rL   rE   rY   s   &       r)   test_staticsetitemTestIRNodes.test_staticsetitem   s2   TZZDJJ

DIINTZZDJJ

DIINTZZDJJ

DIINTZZDJJ

DIINTZZDJJ

DIINTZZDJJ

DIINTZZDJJ

DIIN

1q6aA\
:r5   c                N   \         P                  ! V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P                  4      pV P                  WV.WE.R 7       R# rv   )r   DelItemrI   rJ   rN   rO   rK   rE   r%   r8   r9   r:   r;   r<   s   &     r)   test_delitemTestIRNodes.test_delitem   s    JJtzz4::tyy9JJtzz4::tyy9JJtzz4::tyy9JJtzz4::tyy9JJtzz4::tyy9

1q6aV
4r5   c                   \         P                  ! V P                  P                  V P                  4      p\         P                  ! V P                  P                  V P                  4      p\         P                  ! V P                  P                  V P
                  4      p\         P                  ! V P                  P                  V P                  4      pV P                  WV.V.R 7       R# rv   )r   DelrI   namerN   rO   rJ   rE   rr   s   &    r)   test_delTestIRNodes.test_del   s    FF4::??DII.FF4::??DII.FF4::??DII.FF4::??DII.

1q6aS
1r5   c                   \         P                  ! V P                  R V P                  V P                  4      p\         P                  ! V P                  R V P                  V P                  4      p\         P                  ! V P                  R V P                  V P
                  4      p\         P                  ! V P                  R V P                  V P                  4      p\         P                  ! V P                  RV P                  V P                  4      p\         P                  ! V P                  R V P                  V P                  4      pV P                  WV.WEV.R7       R# foobarrV   N)r   SetAttrrI   rJ   rN   rO   rK   rE   r   s   &      r)   test_setattrTestIRNodes.test_setattr   s    JJtzz5$**dii@JJtzz5$**dii@JJtzz5$**dii@JJtzz5$**dii@JJtzz5$**dii@JJtzz5$**dii@

1q6aAY
7r5   c                   \         P                  ! V P                  R V P                  4      p\         P                  ! V P                  R V P                  4      p\         P                  ! V P                  R V P                  4      p\         P                  ! V P
                  R V P                  4      p\         P                  ! V P                  RV P                  4      pV P                  WV.WE.R7       R# r   )r   DelAttrrI   rN   rO   rK   rE   r   s   &     r)   test_delattrTestIRNodes.test_delattr   s    JJtzz5$))4JJtzz5$))4JJtzz5$))4JJtzz5$))4JJtzz5$))4

1q6aV
4r5   c                N   \         P                  ! V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P                  4      pV P                  WV.WE.R 7       R# rv   )r   AssignrI   rJ   rN   rO   rK   rE   r   s   &     r)   test_assignTestIRNodes.test_assign   s    IIdjj$**dii8IIdjj$**dii8IIdjj$**dii8IIdjj$**dii8IIdjj$**dii8

1q6aV
4r5   c                X   \         P                  ! V P                  3V P                  V P                  4      p\         P                  ! V P                  3V P                  V P                  4      p\         P                  ! V P                  3V P                  V P
                  4      p\         P                  ! V P                  3V P                  V P                  4      p\         P                  ! V P                  3V P                  V P                  4      pV P                  WV.WE.R 7       R# rv   )r   PrintrI   rJ   rN   rO   rK   rE   r   s   &     r)   
test_printTestIRNodes.test_print   s    HHdjj]DJJ		:HHdjj]DJJ		:HHdjj]DJJ		:HHdjj]DJJ		:HHdjj]DJJ		:

1q6aV
4r5   c                @   \         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      p\         P                  ! V P                  V P                  V P                  V P
                  4      pV P                  WV.WEV.R 7       R# rv   )	r   StoreMaprI   rJ   rK   rN   rO   rL   rE   r   s   &      r)   test_storemapTestIRNodes.test_storemap   s    KK

DJJ

DIIFKK

DJJ

DIIFKK

DJJ

DIIFKK

DJJ

DIIFKK

DJJ

DIIFKK

DJJ

DIIF

1q6aAY
7r5   c                   \         P                  ! V P                  V P                  ^ 4      p\         P                  ! V P                  V P                  ^ 4      p\         P                  ! V P                  V P                  ^ 4      p\         P                  ! V P
                  V P                  ^ 4      p\         P                  ! V P                  V P                  ^4      pV P                  WV.WE.R7       R# r   rV   N)r   YieldrI   rN   rO   rJ   rE   r   s   &     r)   
test_yieldTestIRNodes.test_yield   s    HHTZZA.HHTZZA.HHTZZA.HHTZZA.HHTZZA.

1q6aV
4r5   c                P   \         P                  ! V P                  ^ ^V P                  4      p\         P                  ! V P                  ^ ^V P                  4      p\         P                  ! V P                  ^ ^V P                  4      p\         P                  ! V P
                  ^ ^V P                  4      p\         P                  ! V P                  ^^V P                  4      p\         P                  ! V P                  ^ ^V P                  4      pV P                  WV.WEV.R7       R# r   )r   	EnterWithrI   rN   rO   rJ   rE   r   s   &      r)   test_enterwithTestIRNodes.test_enterwith   s    LLQ4995LLQ4995LLQ4995LLQ4995LLQ4995LLQ4995

1q6aAY
7r5   c                   \         P                  ! R ^ V P                  4      p\         P                  ! R ^ V P                  4      p\         P                  ! R ^ V P                  4      p\         P                  ! R^ V P                  4      p\         P                  ! R ^V P                  4      pV P	                  WV.WE.R7       R# r   )r   ArgrN   rO   rE   r   s   &     r)   test_argTestIRNodes.test_arg  s    FF5!TYY'FF5!TYY'FF5!TYY'FF5!TYY'FF5!TYY'

1q6aV
4r5   c                :   \         P                  ! ^V P                  4      p\         P                  ! ^V P                  4      p\         P                  ! ^V P                  4      p\         P                  ! ^V P                  4      pV P	                  WV.V.R7       R# ro   )r   ConstrN   rO   rE   rr   s   &    r)   
test_constTestIRNodes.test_const  sh    HHQ		"HHQ		"HHQ		"HHQ		"

1q6aS
1r5   c                   \         P                  ! R ^ V P                  4      p\         P                  ! R ^ V P                  4      p\         P                  ! R ^ V P                  4      p\         P                  ! R^ V P                  4      p\         P                  ! R ^V P                  4      pV P	                  WV.WE.R7       R# r   )r   GlobalrN   rO   rE   r   s   &     r)   test_globalTestIRNodes.test_global  s    IIeQ		*IIeQ		*IIeQ		*IIeQ		*IIeQ		*

1q6aV
4r5   c                   \         P                  ! R RV P                  4      p\         P                  ! R RV P                  4      p\         P                  ! R RV P                  4      p\         P                  ! \         P                  ! R \         P
                  4      RV P                  4      p\         P                  ! R RV P                  4      pV P                  WW4.V.R7       R # )Nr   r   rV   )r   rG   rN   rO   r   rH   rE   r   s   &     r)   test_varTestIRNodes.test_var  s    FF4		*FF4		*FF4		*FF288D"..15$))DFF4		*

1q9
4r5   c                    \         P                  ! 4       p\         P                  ! 4       pV P                  W.R 7       R# rh   )r   UndefinedTyperE   )r%   r8   r9   s   &  r)   test_undefinedtypeTestIRNodes.test_undefinedtype#  s.    

13
r5   c                    \         P                  ! ^^4      p\         P                  ! ^^4      p\         P                  ! ^^4      p\         P                  ! ^^4      pV P                  W.W4.R7       R# ro   )r   LooprE   rr   s   &    r)   	test_loopTestIRNodes.test_loop(  R    GGAqMGGAqMGGAqMGGAqM

131&
1r5   c                    \         P                  ! ^^4      p\         P                  ! ^^4      p\         P                  ! ^^4      p\         P                  ! ^^4      pV P                  W.W4.R7       R# ro   )r   WithrE   rr   s   &    r)   	test_withTestIRNodes.test_with/  r   r5   r,   N) r-   r.   r/   r0   rd   rl   rs   rx   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   r2   r3   s   @r)   rf   rf   p   s     "2225828;5285558585255 
22 2r5   rf   i  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )TestIRCompoundsi;  z#
Tests IR concepts that have state
c                   \         P                  ! 4       pVP                  V P                  R 4       VP                  V P                  R4       \         P                  ! 4       pVP                  V P                  R 4       VP                  V P                  R4       \         P                  ! 4       pVP                  V P                  R 4       VP                  V P
                  R4       V P                  W.V.R7       R# r   )r   VarMapr   rI   rJ   rK   rE   )r%   r8   r9   r:   s   &   r)   test_varmapTestIRCompounds.test_varmap?  s    IIK	U#	U#IIK	U#	U#IIK	U#	U#

131#
.r5   c                   a  V 3R  lpV! 4       pV! 4       pV! 4       P                  \        P                  ! S P                  S P                  S P
                  4      4      pS P                  W#.V.R7       R# )c                  6  < \         P                  ! R SP                  4      p \         P                  ! V SP                  4      p\         P
                  ! SP                  SP                  SP                  4      p\         P
                  ! SP                  SP                  SP                  4      p\         P
                  ! SP                  SP                  SP                  4      pVP                  V4       VP                  V4       VP                  V4       V# r?   )r   r   rN   BlockrO   r   rI   rJ   rP   rK   append)r   tmpassign1assign2assign3r%   s        r)   	gen_block-TestIRCompounds.test_block.<locals>.gen_blockO  s    XXdDII.F((6499-Cii

DJJ		BGii

DJJ		BGii

DJJ		BGJJwJJwJJwJr5   rV   N)r   r   r   rI   rJ   rP   rE   )r%   r   r8   r9   r:   s   f    r)   
test_blockTestIRCompounds.test_blockN  sW    		 KKKryyTZZKL

131#
.r5   c                    R  pR pV! 4       pV! 4       pV! V4      pV! V4      pV P                  VP                  V4      4       RR lpV P                  RVP                  V4      4       \	        \        VP                  P                  4       4      4       F  pVP                  V,          p	\        V	P                  R,          \        P                  4      '       g   KI  V	P                  R,          p
V
P                  V
P                  uV
n        V
n         M	  V! VP                  V4      R.4       V! 4       pV P                  VP                  V4      4       V! V4      p\        4       p\	        \        VP                  P                  4       4      4       EF$  pVP                  V,          p	V	P                  RR p
Rp\!        \#        V
4      ^,
          4       F\  p\        W,          \        P$                  4      '       g   K+  \        W^,           ,          \        P$                  4      '       g   KZ  Tp M	  Vf   K  V	P                  pVP'                  \)        VV^,           ,          4      4       VP'                  \)        VV,          4      4       VV^,           ,          VV,          uVV&   VV^,           &    M	  V P                  V4       V P                  VP                  V4      4       V P+                  \#        V4      ^4       V F#  pV P                  VP-                  R4      4       K%  	  V! VP                  V4      V4       R pR pR	 pV! V4      pV! V4      pV P                  VP                  V4      4       V P                  RVP                  V4      4       V! V4      pV P                  VP                  V4      4       VP                  V4      pV P                  R
V4       V! VRR.4       R# )c                 2    \         P                  ! V R R7      # )T)	emit_dels)r   run_frontend)xs   &r)   r   5TestIRCompounds.test_functionir.<locals>.run_frontendb  s    ((d;;r5   c                     a R oRV3R llp V # )i  c                 :  < W,           pV S,          p \         P                  ! V\         P                  R 7      pWV,           pRV,          p\         P                  ! V4      ^ 8  Ede   Wx,          p	\         P                  ! ^V^,           4      p
\        4       ;_uu_ 4        \        WI4       RRR4       \         P                  ! W,
          4      p\         P                  ! V^ ,          4      ^8  dJ   ^ p\        V 4       F)  pV^ ,          p\         P                  ! V4      ^8  g   K)   M	  W^,          ,          pWj,          p. p\        \        V4      4       Fo  pVP                  VV,          4       V^8  d3   \        RRR7      ;_uu_ 4        ^{p^pRRR4       X^z8  d
   XV,          pXV^ ,          \        ,           ,          pKq  	  VX,           X,           X,           V,           V ,           X,           #   + '       g   i     ELU; i  + '       g   i     L; i))dtype              ?Nintp
complex128)rD   t)npzeros	complex64absaranger   printsqrtranger    r   _GLOBAL)r8   r9   r:   r;   r<   rZ   r[   hiklmnopqrrD   r   _FREEVARs   &&&&&              r)   r   9TestIRCompounds.test_functionir.<locals>.gen.<locals>.foom  s~   EXHHQbll3EF66!9q=A		!QU+A a #Avvad|a'!&qAFA!vvay1} % "* qT	AA"3q6]1u9!(6\!B!B$'$% "C  !3w !QQqTG^+ + 1uqy1}q(1,q00- # "C!Bs   G6H
6H	
H)   r   Nr,   )r   r  s    @r)   gen,TestIRCompounds.test_functionir.<locals>.genj  s    H1B Jr5   Nc                     Vf   . pV P                  4       pV F>  pV F%  pVP                  R4      '       g   K  W49   g   K$   K,  	  \        RV,          4      h	  R # )Nz->zCould not find %s )
splitlines
startswithr   )stringpointing_atlinesitemr	  s   &&   r)   check_diffstr6TestIRCompounds.test_functionir.<locals>.check_diffstr  sY    " %%'E#A||D))9! 
 ))=)DEE $r5   zIR is considered equivalentbranchzdel c                 T    V ^,          pW!,           p\         P                  ! V4      pV#    r   r  r8   r9   r:   r;   r<   s   &&   r)   r   ,TestIRCompounds.test_functionir.<locals>.foo  $    AAA
AHr5   c                 T    V ^,          pW!,           p\         P                  ! V4      pV# r   r"  r#  s   &&   r)   r   ,TestIRCompounds.test_functionir.<locals>.bar  r%  r5   c                 b    V ^,          pW,           p\         P                  ! V^,           4      pV# r   r"  r#  s   &&   r)   baz,TestIRCompounds.test_functionir.<locals>.baz  s(    AAAAAHr5   z$Other block contains more statementszc + bzb + cr?   )r@   equal_irassertIndiff_strreversedlistblockskeys
isinstancebodyr   r   falsebrtruebrassertFalsesetr  r    r   addr   r   r  )r%   r   r  r   yx_iry_irr  labelblkrefzz_ir
change_setidxr  r9   r  r   r   r)  foo_irbar_irbaz_irr   s   &                        r)   test_functionirTestIRCompounds.test_functionir`  s   	<$	L EEAAd+,
	F 	3T]]45HI d4;;#3#3#567E++e$C#((2,		22hhrl*-++szz'
CK 8 	dmmD)H:6Et,-AU
d4;;#3#3#567E++e$C((3B-CC3s8a<(svrvv.."31u:rvv66C ) HHs1S1W:/s1S6{+%&sQwZ3"##'
 8$ 	
#t,-Z!,DOODOOF34 dmmD):6			 c"c"/03V__V5LMc"01oof%<cBcGW-.r5   r,   N)
r-   r.   r/   r0   rd   r   r   rG  r1   r2   r3   s   @r)   r   r   ;  s      //$J/ J/r5   r   c                   &   a  ] tR tRt o R tRtV tR# )TestIRPedanticChecksi  c           	     n  aa \        R R R7       ! R R\        4      4       o\        R R R7       ! R R\        4      4       o ! VV3R lR\        4      p\        VR7      R	 4       p\        P
                  ! 4       ;_uu_ 4        \        P                  ! R
\        P                  4       V P                  \        P                  4      ;_uu_ 4       pV! ^4       RRR4       V P                  \        XP                  4      R4       RRR4       R#   + '       g   i     L?; i  + '       g   i     R# ; i)F)mutates_CFGanalysis_onlyc                   0   a  ] tR tRt o RtR tR tRtV tR# )KTestIRPedanticChecks.test_var_in_scope_assumption.<locals>.RemoveVarInScopei  _remove_var_in_scopec                2    \         P                  ! V 4       R # r?   r
   __init__)r%   s   &r)   rS  TTestIRPedanticChecks.test_var_in_scope_assumption.<locals>.RemoveVarInScope.__init__      %%d+r5   c                    VP                   pVP                  P                  4        F@  pVP                  p\        P
                  ! VP                  VP                  R 7      Vn        KB  	  R# )r   T)func_irr1  valuesscoper   r   r   r   )r%   staterW  r>  oldscopes   &&   r)   run_passTTestIRPedanticChecks.test_var_in_scope_assumption.<locals>.RemoveVarInScope.run_pass  sM    --">>002C"yyH "-5\\!;CI 3
 r5   r,   N	r-   r.   r/   r0   _namerS  r\  r1   r2   r3   s   @r)   RemoveVarInScoperO    s     *E,
 r5   r`  c                   0   a  ] tR tRt o RtR tR tRtV tR# )CTestIRPedanticChecks.test_var_in_scope_assumption.<locals>.FailPassi  _failc                2    \         P                  ! V 4       R # r?   rR  )r%   argskwargss   &*,r)   rS  LTestIRPedanticChecks.test_var_in_scope_assumption.<locals>.FailPass.__init__  rU  r5   c                    \        R 4      h)unreachable)r   )r%   rZ  s   &&r)   r\  LTestIRPedanticChecks.test_var_in_scope_assumption.<locals>.FailPass.run_pass  s     %]33r5   r,   Nr^  r3   s   @r)   FailPassrb    s     E,4 4r5   rk  c                   0   <a  ] tR tRt o VV3R ltRtV tR# )ETestIRPedanticChecks.test_var_in_scope_assumption.<locals>.MyCompileri  c                  < \        R 4      pVP                  \        R4       VP                  \        R4       VP                  SR4       VP                  \        R4       VP                  SR4       VP                  4        V.# )z
testing pmzanalyzing bytecodezprocessing IRrP  ssarc  )r   add_passr   r   r	   finalize)r%   pmrk  r`  s   & r)   define_pipelinesVTestIRPedanticChecks.test_var_in_scope_assumption.<locals>.MyCompiler.define_pipelines  sg     .-/CDL/:,.DENE2Hg.tr5   r,   N)r-   r.   r/   r0   rs  r1   r2   )r4   rk  r`  s   @r)   
MyCompilerrm    s      r5   ru  )pipeline_classc                 *    ^p^pW8  d   ^pW3# ^pW3# )rp   r,   )r   r8   r9   s   &  r)   dummy@TestIRPedanticChecks.test_var_in_scope_assumption.<locals>.dummy  s/     AAu 4K 4Kr5   errorNz variable '[a-z]' is not in scope)r   r
   r   r   warningscatch_warningssimplefilterr   NumbaPedanticWarningassertRaisesNumbaIRAssumptionWarningassertRegexr   	exception)r%   ru  rx  raisesrk  r`  s   &   @@r)   test_var_in_scope_assumption1TestIRPedanticChecks.test_var_in_scope_assumption  s    	5	>	| 	 
?	& 
5	>
	4| 
	4 
?
	4		 		 		 
Z	(		 
)		 $$&&!!'6+F+FG""6#B#BCCva D F$$%3 '& DC	 '&&s%   AD#	D	-D#D D##D4	r,   N)r-   r.   r/   r0   r  r1   r2   r3   s   @r)   rJ  rJ    s     D Dr5   rJ  __main__) unittestunittest.caser   r{  numpyr   numbar   
numba.corer   r   r   numba.core.compilerr   r	   numba.core.compiler_machineryr
   r   r   numba.core.untyped_passesr   r   r   r   r7   rR   rf   r  r   rJ  r-   mainr,   r5   r)   <module>r     s     "    #  
 =X =>'H%% ',! !DD2- D2P o/m o/dE8 EP zMMO r5   