bt2c::Logger logger;
struct ctf_scanner *scanner = nullptr;
GString *text = nullptr;
- struct ctf_visitor_generate_ir *visitor = nullptr;
+ ctf_visitor_generate_ir::UP visitor;
bt_uuid_t uuid {};
bool is_uuid_set = false;
int bo = 0;
}
BT_CPPLOGD_SPEC(mdec->logger, "Destroying CTF metadata decoder: addr={}", fmt::ptr(mdec));
- ctf_visitor_generate_ir_destroy(mdec->visitor);
+
delete mdec;
}
}
if (mdec->config.create_trace_class) {
- ret = ctf_visitor_generate_ir_visit_node(mdec->visitor, &mdec->scanner->ast->root);
+ ret = ctf_visitor_generate_ir_visit_node(mdec->visitor.get(), &mdec->scanner->ast->root);
switch (ret) {
case 0:
/* Success */
{
BT_ASSERT_DBG(mdec);
BT_ASSERT_DBG(mdec->config.create_trace_class);
- return ctf_visitor_generate_ir_get_ir_trace_class(mdec->visitor);
+ return ctf_visitor_generate_ir_get_ir_trace_class(mdec->visitor.get());
}
struct ctf_trace_class *
{
BT_ASSERT_DBG(mdec);
BT_ASSERT_DBG(mdec->config.create_trace_class);
- return ctf_visitor_generate_ir_borrow_ctf_trace_class(mdec->visitor);
+ return ctf_visitor_generate_ir_borrow_ctf_trace_class(mdec->visitor.get());
}
const char *ctf_metadata_decoder_get_text(struct ctf_metadata_decoder *mdec)