From e5a05a319922b261355261ad26d025620c67d18c Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Fri, 9 Apr 2021 00:56:58 +0200 Subject: [PATCH] remove parser_state::done() --- src/cs_parser.hh | 4 ---- src/cs_state.cc | 11 ++++++----- src/cs_val.cc | 9 +++++---- src/cs_vm.cc | 10 +++++----- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/cs_parser.hh b/src/cs_parser.hh index 76a6365..578afde 100644 --- a/src/cs_parser.hh +++ b/src/cs_parser.hh @@ -38,10 +38,6 @@ struct parser_state { } ~parser_state() { - done(); - } - - void done() { if (!parsing) { return; } diff --git a/src/cs_state.cc b/src/cs_state.cc index c92a583..1ddb6e2 100644 --- a/src/cs_state.cc +++ b/src/cs_state.cc @@ -656,11 +656,12 @@ static any_value do_run( ) { any_value ret{*ts.pstate}; gen_state gs{ts}; - parser_state ps{ts, gs}; - ps.src_name = file; - gs.code.reserve(64); - ps.gen_main(code, VAL_ANY); - ps.done(); + { + parser_state ps{ts, gs}; + ps.src_name = file; + gs.code.reserve(64); + ps.gen_main(code, VAL_ANY); + } std::uint32_t *cbuf = bcode_alloc(ts.istate, gs.code.size()); std::memcpy(cbuf, gs.code.data(), gs.code.size() * sizeof(std::uint32_t)); bcode_ref cref{reinterpret_cast(cbuf + 1)}; diff --git a/src/cs_val.cc b/src/cs_val.cc index 2633b4c..ff11e64 100644 --- a/src/cs_val.cc +++ b/src/cs_val.cc @@ -270,10 +270,11 @@ bcode_ref any_value::force_code(state &cs) { break; } gen_state gs{state_p{cs}.ts()}; - parser_state ps{state_p{cs}.ts(), gs}; - gs.code.reserve(64); - ps.gen_main(get_string()); - ps.done(); + { + parser_state ps{state_p{cs}.ts(), gs}; + gs.code.reserve(64); + ps.gen_main(get_string()); + } uint32_t *cbuf = bcode_alloc(state_p{cs}.ts().istate, gs.code.size()); std::memcpy(cbuf, gs.code.data(), gs.code.size() * sizeof(std::uint32_t)); auto *bc = reinterpret_cast(cbuf + 1); diff --git a/src/cs_vm.cc b/src/cs_vm.cc index bb8b45c..9dfa4e2 100644 --- a/src/cs_vm.cc +++ b/src/cs_vm.cc @@ -700,7 +700,6 @@ std::uint32_t *vm_exec( parser_state ps{ts, gs}; gs.code.reserve(64); ps.gen_main(arg.get_string()); - ps.done(); break; } default: @@ -725,10 +724,11 @@ std::uint32_t *vm_exec( std::string_view s = arg.get_string(); if (!s.empty()) { gen_state gs{ts}; - parser_state ps{ts, gs}; - gs.code.reserve(64); - ps.gen_main(s); - ps.done(); + { + parser_state ps{ts, gs}; + gs.code.reserve(64); + ps.gen_main(s); + } std::uint32_t *cbuf = bcode_alloc( ts.istate, gs.code.size() );