
    daf                     &    d dl mZ  G d de      Zy)    )CodegenTestCasec                       e Zd Zd Zd Zd Zy)IsolatedCodeGenTestsc                 x    dd l }|j                  |dd      }| j                  |      }| j                  ||       y )Nr   z
my_file.pyexec)astparsegenerate_codeassertInstructionsMatch)selfsnippetexpected_instsr   ainstss         5/root/Python-3.12.4/Lib/test/test_compiler_codegen.pycodegen_testz!IsolatedCodeGenTests.codegen_test	   s7    IIg|V4""1%$$UN;    c                     d}| j                         }ddd| j                         x}dfdd| j                         x}f|d|d	d
dg}| j                  ||       y )Nz42 if True else 24RESUMEr   r   )
LOAD_CONSTr      POP_JUMP_IF_FALSEr   )r   r   r   JUMP)r      r   POP_TOPN)r      RETURN_VALUENLabelr   )r   r   	false_lblexit_lblexpecteds        r   test_if_expressionz'IsolatedCodeGenTests.test_if_expression   sn    &JJL	  tzz|";)Q? -X. "
 	'8,r   c                     d}| j                         }ddd| j                         x}d| j                         x}dfddd	d
ddd|f|dddg}| j                  ||       y )Nzfor x in l:
	print(x)r   )	LOAD_NAMEr   r   )GET_ITERNr   FOR_ITERr   )
STORE_NAMEr   r   )	PUSH_NULLNr   )r(   r   r   )r(   r   r   )CALLr   r   r   r   )END_FORN)r   r   r   r!   )r   r   r#   loop_lblr$   r%   s         r   test_for_loopz"IsolatedCodeGenTests.test_for_loop!   s}    +JJL	!

$HTZZ\115 "X"!
$ 	'8,r   N)__name__
__module____qualname__r   r&   r0    r   r   r   r      s    <-$-r   r   N)test.support.bytecode_helperr   r   r4   r   r   <module>r6      s    8
/-? /-r   