Ë
    pPêj7  ã                  ó®   — d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ  G d
„ dej.                  «      Zy)é    )ÚannotationsN)Údetect_undefined_bitmap)ÚEmitterÚEmitterContext)Úgenerate_getterÚgenerate_setterÚgetter_nameÚsetter_nameÚslot_key)ÚIS_FREE_THREADED)ÚClassIR)Úint32_rprimitiveÚobject_rprimitive)ÚNameGeneratorc                  ó`   — e Zd Zdd„Zdd„Zdd„Z ej                  ed«      dd„«       Z	dd„Z
y)	ÚTestEmitClassc                ó:   — g d¢}t        |d„ ¬«      }|g d¢k(  sJ ‚y )N)Ú__add__Ú__radd__Ú
__rshift__Ú__rrshift__Ú__setitem__Ú__delitem__c                ó   — t        | «      S )N)r   )Úxs    ú^/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_emitclass.pyú<lambda>z-TestEmitClass.test_slot_key.<locals>.<lambda>   s
   € ¬°«€ ó    )Úkey)r   r   r   r   r   r   )Úsorted)ÚselfÚattrsÚss      r   Útest_slot_keyzTestEmitClass.test_slot_key   s+   € ÚbˆÜ�5Ñ3Ô4ˆàò 
ò 
ð 	
ñ 
r   c                ó\   — t        dd¬«      }t        dgg«      }t        |d|«      dk(  sJ ‚y )NÚtestingÚ	SomeClass©Úmodule_nameÚnameÚmodÚupÚtesting___SomeClass_set_up)r   r   r
   ©r!   ÚclsÚ	generators      r   Útest_setter_namezTestEmitClass.test_setter_name"   s6   € Ü )°+Ô>ˆÜ! E 7 )Ó,ˆ	ô ˜3  iÓ0Ð4PÒPÐPÑPr   c                ó\   — t        dd¬«      }t        dgg«      }t        |d|«      dk(  sJ ‚y )Nr&   r'   r(   r+   ÚdownÚtesting___SomeClass_get_down)r   r   r	   r.   s      r   Útest_getter_namezTestEmitClass.test_getter_name)   s4   € Ü )°+Ô>ˆÜ! E 7 )Ó,ˆ	ä˜3 ¨	Ó2Ð6TÒTÐTÑTr   zrequires a free threaded buildc                óF  — t        dd«      }dt        i|_        dg|_        |gx|_        |_        t        t        t        dgg«      d«      «      }t        |dt        |«       t        |dt        |«       dj                  |j                  «      }d|v sJ ‚d|v sJ ‚d|v sJ ‚y )	NÚAr+   ÚoTÚ z8CPy_GetAttrRef((PyObject *)self, (PyObject **)&self->_o)z=CPy_SetAttrRef((PyObject *)self, (PyObject **)&self->_o, tmp)z>CPy_SetAttrRef((PyObject *)self, (PyObject **)&self->_o, NULL))r   r   Ú
attributesÚ	deletableÚmroÚbase_mror   r   r   r   r   ÚjoinÚ	fragments)r!   ÚclÚemitterÚ	generateds       r   Ú<test_free_threaded_ref_attribute_getter_and_setter_use_ownerzJTestEmitClass.test_free_threaded_ref_attribute_getter_and_setter_use_owner/   s®   € ô �S˜%Ó ˆØÔ/Ð0ˆŒØ�uˆŒØ "˜tÐ#ˆŒ�”Üœ.¬¸¸°yÓ)AÀ4ÓHÓIˆä˜˜CÔ!2°GÔ<Ü˜˜CÔ!2°GÔ<à—G‘G˜G×-Ñ-Ó.ˆ	ØIÈYÑVÐVÐVØNÐR[Ñ[Ð[Ð[ØOÐS\Ñ\Ð\Ñ\r   c                ót  — t        dd«      }dt        i|_        t        dd«      }dt        i|_        |gx|_        |_        ||gx|_        |_        |g|_        t        |t        «       ¬«       t        d«      D ]  }t        |t        «       ¬«       Œ |j                  dgk(  sJ ‚|j                  ddgk(  sJ ‚y )NÚBaser+   ÚiÚSubÚj)Úseené
   )
r   r   r:   r<   r=   Úchildrenr   ÚsetÚrangeÚbitmap_attrs)r!   ÚbaseÚsubÚ_s       r   Ú/test_bitmap_attrs_stable_across_repeat_analysisz=TestEmitClass.test_bitmap_attrs_stable_across_repeat_analysisA   sº   € ô
 �v˜uÓ%ˆØÔ 0Ð1ˆŒÜ�e˜UÓ#ˆØÔ/Ð0ˆŒØ$( 6Ð)ˆŒ�4”=Ø"% t Ð,ˆŒ�#”,Ø˜ˆŒä ¬#«%Õ0Ü�r“ò 	5ˆAÜ# C¬c«eÖ4ð	5à× Ñ  S EÒ)Ð)Ð)Ø×Ñ C¨ :Ò-Ð-Ñ-r   N)ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__r$   r1   r5   ÚunittestÚ
skipUnlessr   rC   rR   © r   r   r   r      s@   „ ó
óQóUð €X×ÑÐ)Ð+KÓLò]ó Mð]ô".r   r   )Ú
__future__r   rX   Úmypyc.analysis.attrdefinedr   Úmypyc.codegen.emitr   r   Úmypyc.codegen.emitclassr   r   r	   r
   r   Úmypyc.commonr   Úmypyc.ir.class_irr   Úmypyc.ir.rtypesr   r   Úmypyc.namegenr   ÚTestCaser   rZ   r   r   ú<module>rd      s;   ðÝ "ã å >ß 6÷õ õ *Ý %ß ?Ý 'ô>.�H×%Ñ%õ >.r   