@@ -37,9 +37,9 @@ fn (mut g Gen) array_init(node ast.ArrayInit, var_name string) {
3737 elem_styp := g.styp (elem_type.typ)
3838 noscan := g.check_noscan (elem_type.typ)
3939 if elem_type.unaliased_sym.kind == .function {
40- g.write ('new_array_from_c_array (${len }, ${len }, sizeof(voidptr), _MOV((voidptr[${len }]){' )
40+ g.write ('builtin__new_array_from_c_array (${len }, ${len }, sizeof(voidptr), _MOV((voidptr[${len }]){' )
4141 } else {
42- g.write ('new_array_from_c_array ${noscan }(${len }, ${len }, sizeof(${elem_styp }), _MOV((${elem_styp }[${len }]){' )
42+ g.write ('builtin__new_array_from_c_array ${noscan }(${len }, ${len }, sizeof(${elem_styp }), _MOV((${elem_styp }[${len }]){' )
4343 }
4444 if len > 8 {
4545 g.writeln ('' )
@@ -53,7 +53,7 @@ fn (mut g Gen) array_init(node ast.ArrayInit, var_name string) {
5353 if is_iface_or_sumtype {
5454 g.expr_with_cast (expr, expr_type, node.elem_type)
5555 } else {
56- g.write ('string_clone (' )
56+ g.write ('builtin__string_clone (' )
5757 g.expr (expr)
5858 g.write (')' )
5959 }
@@ -305,11 +305,11 @@ fn (mut g Gen) array_init_with_fields(node ast.ArrayInit, elem_type Type, is_amp
305305 g.write ('${ret_typ } ${past .tmp_var } =' )
306306 }
307307 if is_default_array {
308- g.write ('__new_array_with_array_default ${noscan }(' )
308+ g.write ('builtin____new_array_with_array_default ${noscan }(' )
309309 } else if is_default_map {
310- g.write ('__new_array_with_map_default ${noscan }(' )
310+ g.write ('builtin____new_array_with_map_default ${noscan }(' )
311311 } else {
312- g.write ('__new_array_with_default ${noscan }(' )
312+ g.write ('builtin____new_array_with_default ${noscan }(' )
313313 }
314314 if node.has_len {
315315 g.expr (node.len_expr)
@@ -375,13 +375,13 @@ fn (mut g Gen) array_init_with_fields(node ast.ArrayInit, elem_type Type, is_amp
375375 return
376376 }
377377 if is_default_array {
378- g.write ('__new_array_with_array_default ${noscan }(' )
378+ g.write ('builtin____new_array_with_array_default ${noscan }(' )
379379 } else if is_default_map {
380- g.write ('__new_array_with_map_default ${noscan }(' )
380+ g.write ('builtin____new_array_with_map_default ${noscan }(' )
381381 } else if needs_more_defaults {
382- g.write ('__new_array_with_multi_default ${noscan }(' )
382+ g.write ('builtin____new_array_with_multi_default ${noscan }(' )
383383 } else {
384- g.write ('__new_array_with_default ${noscan }(' )
384+ g.write ('builtin____new_array_with_default ${noscan }(' )
385385 }
386386 if node.has_len {
387387 g.expr (node.len_expr)
@@ -419,7 +419,7 @@ fn (mut g Gen) array_init_with_fields(node ast.ArrayInit, elem_type Type, is_amp
419419 line := g.go_before_last_stmt ().trim_space ()
420420 g.empty_line = true
421421
422- g.write ('${elem_styp }* ${tmp } = (${elem_styp }*) _v_malloc ((' )
422+ g.write ('${elem_styp }* ${tmp } = (${elem_styp }*) builtin___v_malloc ((' )
423423 g.expr (node.len_expr)
424424 g.writeln (') * sizeof(${elem_styp }));' )
425425 ind := g.new_tmp_var ()
@@ -553,7 +553,7 @@ fn (mut g Gen) gen_array_map(node ast.CallExpr) {
553553 has_infix_left_var_name := g.write_prepared_tmp_value (past.tmp_var, node, ret_styp,
554554 '{0}' )
555555 if left_is_array {
556- g.writeln ('${past .tmp_var } = __new_array ${noscan }(0, ${past .tmp_var }_len, sizeof(${ret_elem_styp }));\n ' )
556+ g.writeln ('${past .tmp_var } = builtin____new_array ${noscan }(0, ${past .tmp_var }_len, sizeof(${ret_elem_styp }));\n ' )
557557 }
558558
559559 mut closure_var := ''
@@ -667,7 +667,7 @@ fn (mut g Gen) gen_array_map(node ast.CallExpr) {
667667 }
668668 }
669669 if left_is_array {
670- g.writeln2 (';' , 'array_push ${noscan }((array*)&${past .tmp_var }, &${tmp_map_expr_result_name });' )
670+ g.writeln2 (';' , 'builtin__array_push ${noscan }((array*)&${past .tmp_var }, &${tmp_map_expr_result_name });' )
671671 } else {
672672 g.writeln2 (';' , '${past .tmp_var }[${i }] = ${tmp_map_expr_result_name };' )
673673 }
@@ -706,11 +706,11 @@ fn (mut g Gen) gen_array_sorted(node ast.CallExpr) {
706706 false
707707 }
708708 if ! deref_field {
709- g.write ('${atype } ${past .tmp_var } = array_clone_to_depth (ADDR(${atype },' )
709+ g.write ('${atype } ${past .tmp_var } = builtin__array_clone_to_depth (ADDR(${atype },' )
710710 g.expr (node.left)
711711 g.writeln ('), ${depth });' )
712712 } else {
713- g.write ('${atype } ${past .tmp_var } = array_clone_to_depth (' )
713+ g.write ('${atype } ${past .tmp_var } = builtin__array_clone_to_depth (' )
714714 g.expr (node.left)
715715 g.writeln (', ${depth });' )
716716 }
@@ -827,9 +827,19 @@ fn (mut g Gen) gen_array_sort(node ast.CallExpr) {
827827 stype_arg := g.styp (elem_type)
828828 g.sort_fn_definitions.writeln ('VV_LOC ${g .static_modifier } int ${compare_fn }(${stype_arg }* a, ${stype_arg }* b) {' )
829829 c_condition := if comparison_type.sym.has_method ('<' ) {
830- '${g .styp (comparison_type .typ )}__lt(${left_expr }, ${right_expr })'
830+ method_name := if comparison_type.sym.is_builtin () {
831+ 'builtin__${g .styp (comparison_type .typ )}__lt'
832+ } else {
833+ '${g .styp (comparison_type .typ )}__lt'
834+ }
835+ '${method_name }(${left_expr }, ${right_expr })'
831836 } else if comparison_type.unaliased_sym.has_method ('<' ) {
832- '${g .styp (comparison_type .unaliased )}__lt(${left_expr }, ${right_expr })'
837+ method_name := if comparison_type.unaliased_sym.is_builtin () {
838+ 'builtin__${g .styp (comparison_type .unaliased )}__lt'
839+ } else {
840+ '${g .styp (comparison_type .unaliased )}__lt'
841+ }
842+ '${method_name }(${left_expr }, ${right_expr })'
833843 } else if use_lambda {
834844 '${lambda_fn_name }(a, b)'
835845 } else {
@@ -971,7 +981,7 @@ fn (mut g Gen) gen_array_filter(node ast.CallExpr) {
971981 elem_type_str := g.styp (info.elem_type)
972982 noscan := g.check_noscan (info.elem_type)
973983 has_infix_left_var_name := g.write_prepared_tmp_value (past.tmp_var, node, styp, '{0}' )
974- g.writeln ('${past .tmp_var } = __new_array ${noscan }(0, ${past .tmp_var }_len, sizeof(${elem_type_str }));\n ' )
984+ g.writeln ('${past .tmp_var } = builtin____new_array ${noscan }(0, ${past .tmp_var }_len, sizeof(${elem_type_str }));\n ' )
975985
976986 mut expr := node.args[0 ].expr
977987 var_name := g.get_array_expr_param_name (mut expr)
@@ -1034,7 +1044,7 @@ fn (mut g Gen) gen_array_filter(node ast.CallExpr) {
10341044 g.expr (expr)
10351045 }
10361046 }
1037- g.writeln2 (') {' , '\t array_push ${noscan }((array*)&${past .tmp_var }, &${var_name });' )
1047+ g.writeln2 (') {' , '\t builtin__array_push ${noscan }((array*)&${past .tmp_var }, &${var_name });' )
10381048 g.writeln ('}' )
10391049 g.indent--
10401050 g.writeln ('}' )
@@ -1058,9 +1068,9 @@ fn (mut g Gen) gen_array_insert(node ast.CallExpr) {
10581068 noscan := g.check_noscan (left_info.elem_type)
10591069 addr := if node.left_type.is_ptr () { '' } else { '&' }
10601070 if is_arg2_ array {
1061- g.write ('array_insert_many ${noscan }(${addr }' )
1071+ g.write ('builtin__array_insert_many ${noscan }(${addr }' )
10621072 } else {
1063- g.write ('array_insert ${noscan }(${addr }' )
1073+ g.write ('builtin__array_insert ${noscan }(${addr }' )
10641074 }
10651075 g.expr (node.left)
10661076 g.write (', ' )
@@ -1076,7 +1086,7 @@ fn (mut g Gen) gen_array_insert(node ast.CallExpr) {
10761086 && node.args[1 ].expr ! in [ast.IndexExpr, ast.CallExpr, ast.StringLiteral, ast.StringInterLiteral, ast.InfixExpr]
10771087 g.write (', &(${elem_type_str }[]){' )
10781088 if needs_clone {
1079- g.write ('string_clone (' )
1089+ g.write ('builtin__string_clone (' )
10801090 }
10811091 g.expr_with_cast (node.args[1 ].expr, node.args[1 ].typ, left_info.elem_type)
10821092 if needs_clone {
@@ -1097,9 +1107,9 @@ fn (mut g Gen) gen_array_prepend(node ast.CallExpr) {
10971107 noscan := g.check_noscan (left_info.elem_type)
10981108 addr := if node.left_type.is_ptr () { '' } else { '&' }
10991109 if is_arg_array {
1100- g.write ('array_prepend_many ${noscan }(${addr }' )
1110+ g.write ('builtin__array_prepend_many ${noscan }(${addr }' )
11011111 } else {
1102- g.write ('array_prepend ${noscan }(${addr }' )
1112+ g.write ('builtin__array_prepend ${noscan }(${addr }' )
11031113 }
11041114 g.expr (node.left)
11051115 if is_arg_array {
@@ -1164,7 +1174,7 @@ fn (mut g Gen) gen_array_contains_methods() {
11641174 fn_builder.writeln ('${g .static_non_parallel }bool ${fn_name }(${left_type_str } a, ${elem_type_str } v) {' )
11651175 fn_builder.writeln ('\t for (int i = 0; i < a.len; ++i) {' )
11661176 if elem_kind == .string {
1167- fn_builder.writeln ('\t\t if (fast_string_eq (((string*)a.data)[i], v)) {' )
1177+ fn_builder.writeln ('\t\t if (builtin__fast_string_eq (((string*)a.data)[i], v)) {' )
11681178 } else if elem_kind in [.array, .array_fixed] && elem_is_not_ptr {
11691179 ptr_typ := g.equality_fn (elem_type)
11701180 fn_builder.writeln ('\t\t if (${ptr_typ }_arr_eq(((${elem_type_str }*)a.data)[i], v)) {' )
@@ -1206,7 +1216,7 @@ fn (mut g Gen) gen_array_contains_methods() {
12061216 fn_builder.writeln ('${g .static_non_parallel }bool ${fn_name }(${left_type_str } a, ${elem_type_str } v) {' )
12071217 fn_builder.writeln ('\t for (int i = 0; i < ${size }; ++i) {' )
12081218 if elem_kind == .string {
1209- fn_builder.writeln ('\t\t if (fast_string_eq (a[i], v)) {' )
1219+ fn_builder.writeln ('\t\t if (builtin__fast_string_eq (a[i], v)) {' )
12101220 } else if elem_kind in [.array, .array_fixed] && elem_is_not_ptr {
12111221 ptr_typ := g.equality_fn (left_info.elem_type)
12121222 fn_builder.writeln ('\t\t if (${ptr_typ }_arr_eq(a[i], v)) {' )
@@ -1313,7 +1323,7 @@ fn (mut g Gen) gen_array_index_methods() {
13131323 fn_builder.writeln ('\t ${elem_type_str }* pelem = a.data;' )
13141324 fn_builder.writeln ('\t for (int i = 0; i < a.len; ++i, ++pelem) {' )
13151325 if elem_sym.kind == .string {
1316- fn_builder.writeln ('\t\t if (fast_string_eq (*pelem, v)) {' )
1326+ fn_builder.writeln ('\t\t if (builtin__fast_string_eq (*pelem, v)) {' )
13171327 } else if elem_sym.kind in [.array, .array_fixed] && ! info.elem_type.is_ptr () {
13181328 ptr_typ := g.equality_fn (info.elem_type)
13191329 fn_builder.writeln ('\t\t if (${ptr_typ }_arr_eq(*pelem, v)) {' )
@@ -1356,7 +1366,7 @@ fn (mut g Gen) gen_array_index_methods() {
13561366 fn_builder.writeln ('${g .static_non_parallel }int ${fn_name }(${left_type_str } a, ${elem_type_str } v) {' )
13571367 fn_builder.writeln ('\t for (int i = 0; i < ${info .size }; ++i) {' )
13581368 if elem_sym.kind == .string {
1359- fn_builder.writeln ('\t\t if (fast_string_eq (a[i], v)) {' )
1369+ fn_builder.writeln ('\t\t if (builtin__fast_string_eq (a[i], v)) {' )
13601370 } else if elem_sym.kind in [.array, .array_fixed] && ! info.elem_type.is_ptr () {
13611371 ptr_typ := g.equality_fn (info.elem_type)
13621372 fn_builder.writeln ('\t\t if (${ptr_typ }_arr_eq(a[i], v)) {' )
0 commit comments