8484 IntOp ,
8585 LoadStatic ,
8686 Op ,
87+ PrimitiveDescription ,
8788 RaiseStandardError ,
8889 Register ,
8990 SetAttr ,
134135from mypyc .primitives .generic_ops import iter_op , next_op , py_setattr_op
135136from mypyc .primitives .list_ops import list_get_item_unsafe_op , list_pop_last , to_list
136137from mypyc .primitives .misc_ops import check_unpack_count_op , get_module_dict_op , import_op
137- from mypyc .primitives .registry import CFunctionDescription , PrimitiveDescription , function_ops
138+ from mypyc .primitives .registry import CFunctionDescription , function_ops
138139
139140# These int binary operations can borrow their operands safely, since the
140141# primitives take this into consideration.
@@ -694,7 +695,7 @@ def assign(self, target: Register | AssignmentTarget, rvalue_reg: Value, line: i
694695 else :
695696 key = self .load_str (target .attr )
696697 boxed_reg = self .builder .box (rvalue_reg )
697- self .call_c (py_setattr_op , [target .obj , key , boxed_reg ], line )
698+ self .primitive_op (py_setattr_op , [target .obj , key , boxed_reg ], line )
698699 elif isinstance (target , AssignmentTargetIndex ):
699700 target_reg2 = self .gen_method_call (
700701 target .base , "__setitem__" , [target .index , rvalue_reg ], None , line
@@ -771,7 +772,7 @@ def process_iterator_tuple_assignment_helper(
771772 def process_iterator_tuple_assignment (
772773 self , target : AssignmentTargetTuple , rvalue_reg : Value , line : int
773774 ) -> None :
774- iterator = self .call_c (iter_op , [rvalue_reg ], line )
775+ iterator = self .primitive_op (iter_op , [rvalue_reg ], line )
775776
776777 # This may be the whole lvalue list if there is no starred value
777778 split_idx = target .star_idx if target .star_idx is not None else len (target .items )
@@ -797,7 +798,7 @@ def process_iterator_tuple_assignment(
797798 # Assign the starred value and all values after it
798799 if target .star_idx is not None :
799800 post_star_vals = target .items [split_idx + 1 :]
800- iter_list = self .call_c (to_list , [iterator ], line )
801+ iter_list = self .primitive_op (to_list , [iterator ], line )
801802 iter_list_len = self .builtin_len (iter_list , line )
802803 post_star_len = Integer (len (post_star_vals ))
803804 condition = self .binary_op (post_star_len , iter_list_len , "<=" , line )
0 commit comments