NL i!ddlmZddlmZmZddlmZmZmZGddZ Gdde Z Gdd e Z Gd d e Z Gd d e Z y)) annotations)RegisterValue) RInstanceRTypeobject_rprimitivec eZdZUdZeZded<y)AssignmentTargetz>Abstract base class for assignment targets during IR building.rtypeN)__name__ __module__ __qualname____doc__rr __annotations__[/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypyc/irbuild/targets.pyr r sH#D%#rr ceZdZdZddZy)AssignmentTargetRegisterzbRegister as an assignment target. This is used for local variables and some temporaries. c4||_|j|_yN)registerr )selfrs r__init__z!AssignmentTargetRegister.__init__s  MM rN)rrreturnNoner r rrrrrrrr s  "rrceZdZdZddZy)AssignmentTargetIndexz base[index] as assignment targetc6||_||_t|_yr)baseindexrr )rr!r"s rrzAssignmentTargetIndex.__init__s  & rN)r!rr"rrrrrrrrrs *&rrceZdZdZdddZy)AssignmentTargetAttrzobj.attr as assignment targetc<||_||_||_t|jt rW|jj j|r2|j|_|jj||_yt|_t|_yr) objattr can_borrow isinstancer rclass_irhas_attrobj_type attr_typer)rr&r'r(s rrzAssignmentTargetAttr.__init__&sm $ chh *sxx/@/@/I/I$/O#&88DM**40DI.DM)DIrN)F)r&rr'strr(boolrrrrrrr$r$#s ' *rr$ceZdZdZdddZy)AssignmentTargetTuplezx, ..., y as assignment targetNc ||_||_yr)itemsstar_idx)rr3r4s rrzAssignmentTargetTuple.__init__7s   rr)r3zlist[AssignmentTarget]r4z int | Nonerrrrrrr1r14s (!rr1N) __future__r mypyc.ir.opsrrmypyc.ir.rtypesrrrr rrr$r1rrrr8sO"(??$$ "/"&,&*+*"!,!r