From 211cb2af7b68e3696caa31cc948de9f35250b0a3 Mon Sep 17 00:00:00 2001 From: yuyi Date: Wed, 12 Oct 2022 22:20:41 +0800 Subject: [PATCH] cgen: remove opt_ok2() part 1 (#16048) --- vlib/v/gen/c/cgen.v | 16 ++++++++++------ vlib/v/gen/c/json.v | 2 +- vlib/v/markused/markused.v | 1 - 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index 08ca99fc2a..552f4b7b32 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -1609,7 +1609,7 @@ fn (mut g Gen) stmts_with_tmp_var(stmts []ast.Stmt, tmp_var string) bool { g.expr(stmt.expr) g.writeln(';') } else { - g.write('opt_ok2(&($styp[]) { ') + g.write('_option_ok(&($styp[]) { ') g.expr(stmt.expr) g.writeln(' }, ($c.option_name*)(&$tmp_var), sizeof($styp));') } @@ -1639,7 +1639,7 @@ fn (mut g Gen) stmts_with_tmp_var(stmts []ast.Stmt, tmp_var string) bool { g.expr(stmt.expr) g.writeln(';') } else { - g.write('opt_ok2(&($styp[]) { ') + g.write('_result_ok(&($styp[]) { ') g.expr(stmt.expr) g.writeln(' }, ($c.result_name*)(&$tmp_var), sizeof($styp));') } @@ -4324,10 +4324,14 @@ fn (mut g Gen) return_stmt(node ast.Return) { typ_sym := g.table.sym(g.fn_decl.return_type) mr_info := typ_sym.info as ast.MultiReturn mut styp := '' - if fn_return_is_optional || fn_return_is_result { + if fn_return_is_optional { g.writeln('$ret_typ $tmpvar;') styp = g.base_type(g.fn_decl.return_type) - g.write('opt_ok2(&($styp/*X*/[]) { ') + g.write('_option_ok(&($styp[]) { ') + } else if fn_return_is_result { + g.writeln('$ret_typ $tmpvar;') + styp = g.base_type(g.fn_decl.return_type) + g.write('_result_ok(&($styp[]) { ') } else { if use_tmp_var { g.write('$ret_typ $tmpvar = ') @@ -4426,7 +4430,7 @@ fn (mut g Gen) return_stmt(node ast.Return) { if fn_return_is_optional && !expr_type_is_opt && return_sym.name != c.option_name { styp := g.base_type(g.fn_decl.return_type) g.writeln('$ret_typ $tmpvar;') - g.write('opt_ok2(&($styp[]) { ') + g.write('_option_ok(&($styp[]) { ') if !g.fn_decl.return_type.is_ptr() && node.types[0].is_ptr() { if !(node.exprs[0] is ast.Ident && !g.is_amp) { g.write('*') @@ -4455,7 +4459,7 @@ fn (mut g Gen) return_stmt(node ast.Return) { if fn_return_is_result && !expr_type_is_result && return_sym.name != c.result_name { styp := g.base_type(g.fn_decl.return_type) g.writeln('$ret_typ $tmpvar;') - g.write('${c.result_name}_ok(&($styp[]) { ') + g.write('_result_ok(&($styp[]) { ') if !g.fn_decl.return_type.is_ptr() && node.types[0].is_ptr() { if !(node.exprs[0] is ast.Ident && !g.is_amp) { g.write('*') diff --git a/vlib/v/gen/c/json.v b/vlib/v/gen/c/json.v index bb48e43b27..1e6a549ca2 100644 --- a/vlib/v/gen/c/json.v +++ b/vlib/v/gen/c/json.v @@ -154,7 +154,7 @@ $enc_fn_dec { } // cJSON_delete dec.writeln('\t${option_name}_$styp ret;') - dec.writeln('\topt_ok2(&res, ($option_name*)&ret, sizeof(res));') + dec.writeln('\t_option_ok(&res, ($option_name*)&ret, sizeof(res));') dec.writeln('\treturn ret;\n}') enc.writeln('\treturn o;\n}') g.gowrappers.writeln(dec.str()) diff --git a/vlib/v/markused/markused.v b/vlib/v/markused/markused.v index af57e6b7db..a52761cfbc 100644 --- a/vlib/v/markused/markused.v +++ b/vlib/v/markused/markused.v @@ -37,7 +37,6 @@ pub fn mark_used(mut table ast.Table, pref &pref.Preferences, ast_files []&ast.F 'tos2', 'tos3', 'isnil', - 'opt_ok2', '_option_ok', '_result_ok', 'error',