ctf: convert ctx_destroy to ~ctf_visitor_generate_ir
authorSimon Marchi <simon.marchi@efficios.com>
Wed, 6 Dec 2023 19:43:34 +0000 (19:43 +0000)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 17 Apr 2024 17:57:53 +0000 (13:57 -0400)
Convert ctx_destroy into a destructor for ctf_visitor_generate_ir.

Change-Id: I7963276587e44621381c3b47a734986c1696df64
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/8423
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12358
Tested-by: jenkins <jenkins@lttng.org>
src/plugins/ctf/common/src/metadata/tsdl/ast.hpp
src/plugins/ctf/common/src/metadata/tsdl/visitor-generate-ir.cpp

index 4ee583156891e480bf1f6721c1dc6bf8c4388fbb..597cb3a4e470a32cc16e9811ba72d5dc26e774a2 100644 (file)
@@ -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<ctf_visitor_generate_ir, ctf_visitor_generate_ir_deleter>;
+    using UP = std::unique_ptr<ctf_visitor_generate_ir>;
 
     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;
 
index ce20624c8f3a067008e75c0728ec86d99cdad4a8..c1370c9f1f3d2f0e4088a8ac0f382c3d211aeb16 100644 (file)
@@ -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)
 {
This page took 0.026535 seconds and 4 git commands to generate.