o
    ÕtBh  ã                   @  sf   d dl mZ d dlZd dlmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZ G dd„ dejƒZdS )	é    )ÚannotationsN)ÚEmitterÚEmitterContext)Ú
BasicBlockÚRegisterÚValue)Úint_rprimitive)ÚNameGeneratorc                   @  s4   e Zd Zddd„Zddd„Zddd„Zdd	d
„ZdS )ÚTestEmitterÚreturnÚNonec                 C  s"   t tdƒ| _ttdggƒƒ| _d S )NÚnÚmod)r   r   r   r   r	   Úcontext)Úself© r   úk/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypyc/test/test_emit.pyÚsetUp   s   zTestEmitter.setUpc                 C  s&   t | ji ƒ}| tdƒ¡dksJ ‚d S )Né   ÚCPyL4)r   r   Úlabelr   ©r   Úemitterr   r   r   Ú
test_label   s   zTestEmitter.test_labelc                 C  s.   | j di}t| j|ƒ}| | j ¡dksJ ‚d S )Nr   Úcpy_r_n)r   r   r   Úreg)r   Únamesr   r   r   r   Útest_reg   s   
zTestEmitter.test_regc                 C  sJ   t | ji ƒ}| d¡ | d¡ | d¡ | d¡ |jg d¢ks#J ‚d S )Nzline;za {zf();Ú})zline;
za {
z	    f();
z}
)r   r   Ú	emit_lineÚ	fragmentsr   r   r   r   Útest_emit_line   s   



zTestEmitter.test_emit_lineN)r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r!   r   r   r   r   r
      s
    


r
   )Ú
__future__r   ÚunittestÚmypyc.codegen.emitr   r   Úmypyc.ir.opsr   r   r   Úmypyc.ir.rtypesr   Úmypyc.namegenr	   ÚTestCaser
   r   r   r   r   Ú<module>   s    