NL idZddlmZddlmZddlmZddlmZddl m Z m Z ddl m Z Gdd ZGd d ZGd d eZy)zGHelpers that store information about functions and the related classes.) annotations)FuncItem)ClassIR)INVALID_FUNC_DEF) BasicBlockValue)AssignmentTargetc @eZdZdZeddddddddf ddZddZeddZeddZ edd Z e jdd Z edd Z e jdd Z edd Z e jddZ eddZddZy)FuncInfoz;Contains information about functions as they are generated.NFc ||_||_||_||_d|_d|_d|_d|_||_||_ ||_ ||_ | |_ yN) fitemname class_namens_callable_class _env_class_generator_class _curr_env_reg is_nestedcontains_nested is_decorated in_non_extadd_nested_funcs_to_env) selfrrr namespacerrrrrs [/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypyc/irbuild/context.py__init__zFuncInfo.__init__so  $6:+/8<,0#.($'>$ctdjd|j|j|jfDS)N_c3&K|] }|s| ywr).0xs r z+FuncInfo.namespaced_name..8sNaANs)joinrrrrs rnamespaced_namezFuncInfo.namespaced_name7s*xxNDIIt#HNNNr c^|jjxs|jjSr)r is_generator is_coroutiner)s rr,zFuncInfo.is_generator:s!zz&&A$***A*AAr c.|jjSr)rr-r)s rr-zFuncInfo.is_coroutine>szz&&&r c6|jJ|jSrrr)s rcallable_classzFuncInfo.callable_classB ##///###r c||_yrr0rclss rr1zFuncInfo.callable_classG "r c6|jJ|jSrrr)s r env_classzFuncInfo.env_classKs***r c||_yrr8rirs rr9zFuncInfo.env_classPs r c6|jJ|jSrrr)s rgenerator_classzFuncInfo.generator_classTs $$000$$$r c||_yrr>r4s rr?zFuncInfo.generator_classYs #r c6|jJ|jSrrr)s r curr_env_regzFuncInfo.curr_env_reg] !!---!!!r cV|jxr|j xr |j Sr)r,rrr)s r#can_merge_generator_and_env_classesz,FuncInfo.can_merge_generator_and_env_classesbs*  T%7T@T@Trs@M"%-*2YUYUx.!.!b+)]+)r