From: Simon Marchi Date: Wed, 6 Dec 2023 19:43:34 +0000 (+0000) Subject: ctf: convert ctx_destroy to ~ctf_visitor_generate_ir X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=994183de2b4d103483e61ee5dce5a28e2ece6e3b ctf: convert ctx_destroy to ~ctf_visitor_generate_ir Convert ctx_destroy into a destructor for ctf_visitor_generate_ir. Change-Id: I7963276587e44621381c3b47a734986c1696df64 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/8423 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12358 Tested-by: jenkins --- diff --git a/src/plugins/ctf/common/src/metadata/tsdl/ast.hpp b/src/plugins/ctf/common/src/metadata/tsdl/ast.hpp index 4ee58315..597cb3a4 100644 --- a/src/plugins/ctf/common/src/metadata/tsdl/ast.hpp +++ b/src/plugins/ctf/common/src/metadata/tsdl/ast.hpp @@ -478,14 +478,9 @@ struct ctf_ast const char *node_type(struct ctf_node *node); -struct ctf_visitor_generate_ir_deleter -{ - void operator()(struct ctf_visitor_generate_ir *visitor); -}; - struct ctf_visitor_generate_ir { - using UP = std::unique_ptr; + using UP = std::unique_ptr; explicit ctf_visitor_generate_ir(ctf_metadata_decoder_config decoderConfig, bt2c::Logger loggerParam) : @@ -494,6 +489,8 @@ struct ctf_visitor_generate_ir { } + ~ctf_visitor_generate_ir(); + /* Trace IR trace class being filled (owned by this) */ bt2::TraceClass::Shared trace_class; diff --git a/src/plugins/ctf/common/src/metadata/tsdl/visitor-generate-ir.cpp b/src/plugins/ctf/common/src/metadata/tsdl/visitor-generate-ir.cpp index ce20624c..c1370c9f 100644 --- a/src/plugins/ctf/common/src/metadata/tsdl/visitor-generate-ir.cpp +++ b/src/plugins/ctf/common/src/metadata/tsdl/visitor-generate-ir.cpp @@ -440,20 +440,9 @@ static int ctx_decl_scope_register_variant(struct ctx_decl_scope *scope, const c return ctx_decl_scope_register_prefix_alias(scope, _PREFIX_VARIANT, name, &decl->base); } -/** - * Destroys a visitor context. - * - * @param ctx Visitor context to destroy - */ -static void ctx_destroy(struct ctf_visitor_generate_ir *ctx) +ctf_visitor_generate_ir::~ctf_visitor_generate_ir() { - struct ctx_decl_scope *scope; - - if (!ctx) { - goto end; - } - - scope = ctx->current_scope; + struct ctx_decl_scope *scope = this->current_scope; /* * Destroy all scopes, from current one to the root scope. @@ -465,14 +454,9 @@ static void ctx_destroy(struct ctf_visitor_generate_ir *ctx) scope = parent_scope; } - if (ctx->ctf_tc) { - ctf_trace_class_destroy(ctx->ctf_tc); + if (this->ctf_tc) { + ctf_trace_class_destroy(this->ctf_tc); } - - delete ctx; - -end: - return; } /** @@ -4432,16 +4416,6 @@ end: return ctx; } -static void ctf_visitor_generate_ir_destroy(struct ctf_visitor_generate_ir *visitor) -{ - ctx_destroy(visitor); -} - -void ctf_visitor_generate_ir_deleter::operator()(ctf_visitor_generate_ir *visitor) -{ - ctf_visitor_generate_ir_destroy(visitor); -} - bt2::TraceClass::Shared ctf_visitor_generate_ir_get_ir_trace_class(struct ctf_visitor_generate_ir *ctx) {