
    6 f                        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mZmZmZ d dlmZ  G d dej                  ZdS )	    )annotationsN)EmitterEmitterContext)
BasicBlockRegisterValue)RTuplebool_rprimitiveint_rprimitivestr_rprimitive)NameGeneratorc                  F    e Zd ZddZddZddZddZddZddZdd	Z	d
S )TestEmitterreturnNonec                    t          t          d          | _        t          t	          dgg                    | _        d S )Nnmod)r   r   r   r   r   context)selfs    J/var/www/equiseq/venv/lib/python3.11/site-packages/mypyc/test/test_emit.pysetUpzTestEmitter.setUp   s2    .#..%meWI&>&>??    c                    t          | j        i           }|                    t          d                    dk    sJ d S )N   CPyL4)r   r   labelr   r   emitters     r   
test_labelzTestEmitter.test_label   s<    $,++}}Z]]++w666666r   c                    | j         di}t          | j        |          }|                    | j                   dk    sJ d S )Nr   cpy_r_n)r   r   r   reg)r   namesr   s      r   test_regzTestEmitter.test_reg   sC    #'63-$,..{{46""i//////r   c                    t          | j        i           }|                    dd          dk    sJ |                    t          t	          d                    d          dk    sJ d S )Nhello, worldline;z /* 'hello, world' */   z~ /* [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
         23, 24, 25, 26, 27, 28, 29] */)r   r   object_annotationlistranger   s     r   test_object_annotationz"TestEmitter.test_object_annotation   sw    $,++((AAE\\\\\%%d599oow??++ + + + + +r   c                   t          | j        i           }|                    d           |                    d           |                    d           |                    d           |j        g dk    sJ t          | j        i           }|                    dd           |                    d	t	          t          d
                               |j        d         dk    sJ |j        d         dk    sJ d S )Nr(   za {zf();})zline;
za {
z	    f();
z}
zCPyStatics[0];r'   )annzCPyStatics[1];r)   r   z$CPyStatics[0]; /* 'hello, world' */
   zCPyStatics[1]; /* [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
                  21, 22, 23, 24, 25, 26, 27, 28, 29] */
)r   r   	emit_line	fragmentsr+   r,   r   s     r   test_emit_linezTestEmitter.test_emit_line#   s   $,++'"""%   &!!!# $M$M$MMMMM$,++*???*U2YY@@@ #'NNNNNa >> > > > > >r   c                    t          | j        i           }|                    t                    dk    sJ |                    t                    dk    sJ |                    t
                    dk    sJ d S )NCPY_INT_TAGNULL2)r   r   c_undefined_valuer   r   r
   r   s     r   )test_emit_undefined_value_for_simple_typez5TestEmitter.test_emit_undefined_value_for_simple_type5   sv    $,++((88MIIII((88FBBBB((99S@@@@@@r   c                   t          | j        i           }|                    t          t          t
          t          g                    dk    sJ |                    t          t          g                    dk    sJ |                    t          t          t          g          t          g                    dk    sJ d S )Nz&(tuple_T3OIC) { NULL, CPY_INT_TAG, 2 }z(tuple_T1O) { NULL }z(tuple_T2T1OC) { { NULL }, 2 })r   r   r9   r	   r   r   r
   r   s     r   #test_emit_undefined_value_for_tuplez/TestEmitter.test_emit_undefined_value_for_tuple;   s    $,++%%fnno-^&_&_``78 8 8 8 ((0@)A)ABBF\\\\\%%ffn5E.F.F-X&Y&YZZ/0 0 0 0 0 0r   N)r   r   )
__name__
__module____qualname__r   r    r%   r-   r4   r:   r<    r   r   r   r      s        @ @ @ @7 7 7 70 0 0 0

 
 
 

 
 
 
$A A A A

 

 

 

 

 

r   r   )
__future__r   unittestmypyc.codegen.emitr   r   mypyc.ir.opsr   r   r   mypyc.ir.rtypesr	   r
   r   r   mypyc.namegenr   TestCaser   r@   r   r   <module>rH      s    " " " " " "  6 6 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 4 S S S S S S S S S S S S ' ' ' ' ' ':
 :
 :
 :
 :
(# :
 :
 :
 :
 :
r   