This code uses a different name for an externally visible struct type
(struct ctf_visitor_generate_ir) that is never defined, and an internal
struct type (struct ctx). This requires some casts from the external
type to the internal type at the entry points. This seems pointless to
me. Change the internal type to have the same name as the externally
visible type. It is still opaque from the point of view of the users
outside this compilation unit.
Change-Id: I1503b50658bf43e5cb4a60dfb811384ac5a24359
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/7100
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
/*
* Visitor context (private).
*/
/*
* Visitor context (private).
*/
+struct ctf_visitor_generate_ir {
struct meta_log_config log_cfg;
/* Trace IR trace class being filled (owned by this) */
struct meta_log_config log_cfg;
/* Trace IR trace class being filled (owned by this) */
* @returns New declaration scope, or NULL on error
*/
static
* @returns New declaration scope, or NULL on error
*/
static
-struct ctx_decl_scope *ctx_decl_scope_create(struct ctx *ctx,
+struct ctx_decl_scope *ctx_decl_scope_create(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *par_scope)
{
struct ctx_decl_scope *scope;
struct ctx_decl_scope *par_scope)
{
struct ctx_decl_scope *scope;
* @returns Associated GQuark, or 0 on error
*/
static
* @returns Associated GQuark, or 0 on error
*/
static
-GQuark get_prefixed_named_quark(struct ctx *ctx, char prefix, const char *name)
+GQuark get_prefixed_named_quark(struct ctf_visitor_generate_ir *ctx, char prefix,
+ const char *name)
*/
static
struct ctf_field_class *ctx_decl_scope_lookup_prefix_alias(
*/
static
struct ctf_field_class *ctx_decl_scope_lookup_prefix_alias(
- struct ctx *ctx, struct ctx_decl_scope *scope, char prefix,
+ struct ctf_visitor_generate_ir *ctx, struct ctx_decl_scope *scope, char prefix,
const char *name, int levels, bool copy)
{
GQuark qname = 0;
const char *name, int levels, bool copy)
{
GQuark qname = 0;
* or NULL if not found
*/
static
* or NULL if not found
*/
static
-struct ctf_field_class *ctx_decl_scope_lookup_alias(struct ctx *ctx,
+struct ctf_field_class *ctx_decl_scope_lookup_alias(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
* or NULL if not found
*/
static
* or NULL if not found
*/
static
-struct ctf_field_class_enum *ctx_decl_scope_lookup_enum(struct ctx *ctx,
+struct ctf_field_class_enum *ctx_decl_scope_lookup_enum(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
* or NULL if not found
*/
static
* or NULL if not found
*/
static
-struct ctf_field_class_struct *ctx_decl_scope_lookup_struct(struct ctx *ctx,
+struct ctf_field_class_struct *ctx_decl_scope_lookup_struct(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
* or NULL if not found
*/
static
* or NULL if not found
*/
static
-struct ctf_field_class_variant *ctx_decl_scope_lookup_variant(struct ctx *ctx,
+struct ctf_field_class_variant *ctx_decl_scope_lookup_variant(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
struct ctx_decl_scope *scope, const char *name, int levels,
bool copy)
{
* @returns 0 if registration went okay, negative value otherwise
*/
static
* @returns 0 if registration went okay, negative value otherwise
*/
static
-int ctx_decl_scope_register_prefix_alias(struct ctx *ctx,
+int ctx_decl_scope_register_prefix_alias(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *scope, char prefix, const char *name,
struct ctf_field_class *decl)
{
struct ctx_decl_scope *scope, char prefix, const char *name,
struct ctf_field_class *decl)
{
* @returns 0 if registration went okay, negative value otherwise
*/
static
* @returns 0 if registration went okay, negative value otherwise
*/
static
-int ctx_decl_scope_register_alias(struct ctx *ctx, struct ctx_decl_scope *scope,
- const char *name, struct ctf_field_class *decl)
+int ctx_decl_scope_register_alias(struct ctf_visitor_generate_ir *ctx,
+ struct ctx_decl_scope *scope, const char *name, struct ctf_field_class *decl)
{
return ctx_decl_scope_register_prefix_alias(ctx, scope, _PREFIX_ALIAS,
name, (void *) decl);
{
return ctx_decl_scope_register_prefix_alias(ctx, scope, _PREFIX_ALIAS,
name, (void *) decl);
* @returns 0 if registration went okay, negative value otherwise
*/
static
* @returns 0 if registration went okay, negative value otherwise
*/
static
-int ctx_decl_scope_register_enum(struct ctx *ctx, struct ctx_decl_scope *scope,
- const char *name, struct ctf_field_class_enum *decl)
+int ctx_decl_scope_register_enum(struct ctf_visitor_generate_ir *ctx,
+ struct ctx_decl_scope *scope, const char *name,
+ struct ctf_field_class_enum *decl)
{
return ctx_decl_scope_register_prefix_alias(ctx, scope, _PREFIX_ENUM,
name, (void *) decl);
{
return ctx_decl_scope_register_prefix_alias(ctx, scope, _PREFIX_ENUM,
name, (void *) decl);
* @returns 0 if registration went okay, negative value otherwise
*/
static
* @returns 0 if registration went okay, negative value otherwise
*/
static
-int ctx_decl_scope_register_struct(struct ctx *ctx,
+int ctx_decl_scope_register_struct(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *scope, const char *name,
struct ctf_field_class_struct *decl)
{
struct ctx_decl_scope *scope, const char *name,
struct ctf_field_class_struct *decl)
{
* @returns 0 if registration went okay, negative value otherwise
*/
static
* @returns 0 if registration went okay, negative value otherwise
*/
static
-int ctx_decl_scope_register_variant(struct ctx *ctx,
+int ctx_decl_scope_register_variant(struct ctf_visitor_generate_ir *ctx,
struct ctx_decl_scope *scope, const char *name,
struct ctf_field_class_variant *decl)
{
struct ctx_decl_scope *scope, const char *name,
struct ctf_field_class_variant *decl)
{
* @param ctx Visitor context to destroy
*/
static
* @param ctx Visitor context to destroy
*/
static
-void ctx_destroy(struct ctx *ctx)
+void ctx_destroy(struct ctf_visitor_generate_ir *ctx)
{
struct ctx_decl_scope *scope;
{
struct ctx_decl_scope *scope;
* @returns New visitor context, or NULL on error
*/
static
* @returns New visitor context, or NULL on error
*/
static
-struct ctx *ctx_create(const struct ctf_metadata_decoder_config *decoder_config)
+struct ctf_visitor_generate_ir *ctx_create(
+ const struct ctf_metadata_decoder_config *decoder_config)
- struct ctx *ctx = NULL;
+ struct ctf_visitor_generate_ir *ctx = NULL;
BT_ASSERT(decoder_config);
BT_ASSERT(decoder_config);
- ctx = g_new0(struct ctx, 1);
+ ctx = g_new0(struct ctf_visitor_generate_ir, 1);
if (!ctx) {
BT_COMP_LOG_CUR_LVL(BT_LOG_ERROR, decoder_config->log_level,
decoder_config->self_comp,
if (!ctx) {
BT_COMP_LOG_CUR_LVL(BT_LOG_ERROR, decoder_config->log_level,
decoder_config->self_comp,
* @returns 0 on success, or a negative value on error
*/
static
* @returns 0 on success, or a negative value on error
*/
static
-int ctx_push_scope(struct ctx *ctx)
+int ctx_push_scope(struct ctf_visitor_generate_ir *ctx)
{
int ret = 0;
struct ctx_decl_scope *new_scope;
{
int ret = 0;
struct ctx_decl_scope *new_scope;
-void ctx_pop_scope(struct ctx *ctx)
+void ctx_pop_scope(struct ctf_visitor_generate_ir *ctx)
{
struct ctx_decl_scope *parent_scope = NULL;
{
struct ctx_decl_scope *parent_scope = NULL;
-int visit_field_class_specifier_list(struct ctx *ctx, struct ctf_node *ts_list,
- struct ctf_field_class **decl);
+int visit_field_class_specifier_list(struct ctf_visitor_generate_ir *ctx,
+ struct ctf_node *ts_list, struct ctf_field_class **decl);
static
int is_unary_string(struct bt_list_head *head)
static
int is_unary_string(struct bt_list_head *head)
-int get_unary_unsigned(struct ctx *ctx, struct bt_list_head *head,
+int get_unary_unsigned(struct ctf_visitor_generate_ir *ctx, struct bt_list_head *head,
uint64_t *value)
{
int i = 0;
uint64_t *value)
{
int i = 0;
-int get_unary_uuid(struct ctx *ctx, struct bt_list_head *head,
+int get_unary_uuid(struct ctf_visitor_generate_ir *ctx, struct bt_list_head *head,
bt_uuid_t uuid)
{
return ctf_ast_get_unary_uuid(head, uuid, ctx->log_cfg.log_level,
bt_uuid_t uuid)
{
return ctf_ast_get_unary_uuid(head, uuid, ctx->log_cfg.log_level,
-int get_boolean(struct ctx *ctx, struct ctf_node *unary_expr)
+int get_boolean(struct ctf_visitor_generate_ir *ctx, struct ctf_node *unary_expr)
-enum ctf_byte_order byte_order_from_unary_expr(struct ctx *ctx,
+enum ctf_byte_order byte_order_from_unary_expr(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *unary_expr)
{
const char *str;
struct ctf_node *unary_expr)
{
const char *str;
-enum ctf_byte_order get_real_byte_order(struct ctx *ctx,
+enum ctf_byte_order get_real_byte_order(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *uexpr)
{
enum ctf_byte_order bo = byte_order_from_unary_expr(ctx, uexpr);
struct ctf_node *uexpr)
{
enum ctf_byte_order bo = byte_order_from_unary_expr(ctx, uexpr);
-int get_class_specifier_name(struct ctx *ctx, struct ctf_node *cls_specifier,
- GString *str)
+int get_class_specifier_name(struct ctf_visitor_generate_ir *ctx,
+ struct ctf_node *cls_specifier, GString *str)
-int get_class_specifier_list_name(struct ctx *ctx,
+int get_class_specifier_list_name(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *cls_specifier_list, GString *str)
{
int ret = 0;
struct ctf_node *cls_specifier_list, GString *str)
{
int ret = 0;
-GQuark create_class_alias_identifier(struct ctx *ctx,
+GQuark create_class_alias_identifier(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *cls_specifier_list,
struct ctf_node *node_field_class_declarator)
{
struct ctf_node *cls_specifier_list,
struct ctf_node *node_field_class_declarator)
{
-int visit_field_class_declarator(struct ctx *ctx,
+int visit_field_class_declarator(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *cls_specifier_list,
GQuark *field_name, struct ctf_node *node_field_class_declarator,
struct ctf_field_class **field_decl,
struct ctf_node *cls_specifier_list,
GQuark *field_name, struct ctf_node *node_field_class_declarator,
struct ctf_field_class **field_decl,
-int visit_struct_decl_field(struct ctx *ctx,
+int visit_struct_decl_field(struct ctf_visitor_generate_ir *ctx,
struct ctf_field_class_struct *struct_decl,
struct ctf_node *cls_specifier_list,
struct bt_list_head *field_class_declarators)
struct ctf_field_class_struct *struct_decl,
struct ctf_node *cls_specifier_list,
struct bt_list_head *field_class_declarators)
-int visit_variant_decl_field(struct ctx *ctx,
+int visit_variant_decl_field(struct ctf_visitor_generate_ir *ctx,
struct ctf_field_class_variant *variant_decl,
struct ctf_node *cls_specifier_list,
struct bt_list_head *field_class_declarators)
struct ctf_field_class_variant *variant_decl,
struct ctf_node *cls_specifier_list,
struct bt_list_head *field_class_declarators)
-int visit_field_class_def(struct ctx *ctx, struct ctf_node *cls_specifier_list,
+int visit_field_class_def(struct ctf_visitor_generate_ir *ctx,
+ struct ctf_node *cls_specifier_list,
struct bt_list_head *field_class_declarators)
{
int ret = 0;
struct bt_list_head *field_class_declarators)
{
int ret = 0;
-int visit_field_class_alias(struct ctx *ctx, struct ctf_node *target,
+int visit_field_class_alias(struct ctf_visitor_generate_ir *ctx, struct ctf_node *target,
struct ctf_node *alias)
{
int ret = 0;
struct ctf_node *alias)
{
int ret = 0;
-int visit_struct_decl_entry(struct ctx *ctx, struct ctf_node *entry_node,
+int visit_struct_decl_entry(struct ctf_visitor_generate_ir *ctx, struct ctf_node *entry_node,
struct ctf_field_class_struct *struct_decl)
{
int ret = 0;
struct ctf_field_class_struct *struct_decl)
{
int ret = 0;
-int visit_variant_decl_entry(struct ctx *ctx, struct ctf_node *entry_node,
+int visit_variant_decl_entry(struct ctf_visitor_generate_ir *ctx, struct ctf_node *entry_node,
struct ctf_field_class_variant *variant_decl)
{
int ret = 0;
struct ctf_field_class_variant *variant_decl)
{
int ret = 0;
-int visit_struct_decl(struct ctx *ctx, const char *name,
+int visit_struct_decl(struct ctf_visitor_generate_ir *ctx, const char *name,
struct bt_list_head *decl_list, int has_body,
struct bt_list_head *min_align,
struct ctf_field_class_struct **struct_decl)
struct bt_list_head *decl_list, int has_body,
struct bt_list_head *min_align,
struct ctf_field_class_struct **struct_decl)
-int visit_variant_decl(struct ctx *ctx, const char *name,
+int visit_variant_decl(struct ctf_visitor_generate_ir *ctx, const char *name,
const char *tag, struct bt_list_head *decl_list,
int has_body, struct ctf_field_class_variant **variant_decl)
{
const char *tag, struct bt_list_head *decl_list,
int has_body, struct ctf_field_class_variant **variant_decl)
{
-int visit_enum_decl_entry(struct ctx *ctx, struct ctf_node *enumerator,
+int visit_enum_decl_entry(struct ctf_visitor_generate_ir *ctx, struct ctf_node *enumerator,
struct ctf_field_class_enum *enum_decl, struct uori *last)
{
int ret = 0;
struct ctf_field_class_enum *enum_decl, struct uori *last)
{
int ret = 0;
-int visit_enum_decl(struct ctx *ctx, const char *name,
+int visit_enum_decl(struct ctf_visitor_generate_ir *ctx, const char *name,
struct ctf_node *container_cls,
struct bt_list_head *enumerator_list,
int has_body, struct ctf_field_class_enum **enum_decl)
struct ctf_node *container_cls,
struct bt_list_head *enumerator_list,
int has_body, struct ctf_field_class_enum **enum_decl)
-int visit_field_class_specifier(struct ctx *ctx,
+int visit_field_class_specifier(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *cls_specifier_list,
struct ctf_field_class **decl)
{
struct ctf_node *cls_specifier_list,
struct ctf_field_class **decl)
{
-int visit_integer_decl(struct ctx *ctx,
+int visit_integer_decl(struct ctf_visitor_generate_ir *ctx,
struct bt_list_head *expressions,
struct ctf_field_class_int **integer_decl)
{
struct bt_list_head *expressions,
struct ctf_field_class_int **integer_decl)
{
-int visit_floating_point_number_decl(struct ctx *ctx,
+int visit_floating_point_number_decl(struct ctf_visitor_generate_ir *ctx,
struct bt_list_head *expressions,
struct ctf_field_class_float **float_decl)
{
struct bt_list_head *expressions,
struct ctf_field_class_float **float_decl)
{
-int visit_string_decl(struct ctx *ctx,
+int visit_string_decl(struct ctf_visitor_generate_ir *ctx,
struct bt_list_head *expressions,
struct ctf_field_class_string **string_decl)
{
struct bt_list_head *expressions,
struct ctf_field_class_string **string_decl)
{
-int visit_field_class_specifier_list(struct ctx *ctx,
+int visit_field_class_specifier_list(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *ts_list, struct ctf_field_class **decl)
{
int ret = 0;
struct ctf_node *ts_list, struct ctf_field_class **decl)
{
int ret = 0;
-int visit_event_decl_entry(struct ctx *ctx, struct ctf_node *node,
+int visit_event_decl_entry(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node,
struct ctf_event_class *event_class, uint64_t *stream_id,
int *set)
{
struct ctf_event_class *event_class, uint64_t *stream_id,
int *set)
{
-char *get_event_decl_name(struct ctx *ctx, struct ctf_node *node)
+char *get_event_decl_name(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node)
{
char *left = NULL;
char *name = NULL;
{
char *left = NULL;
char *name = NULL;
-int visit_event_decl(struct ctx *ctx, struct ctf_node *node)
+int visit_event_decl(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node)
{
int ret = 0;
int set = 0;
{
int ret = 0;
int set = 0;
-int auto_map_field_to_trace_clock_class(struct ctx *ctx,
+int auto_map_field_to_trace_clock_class(struct ctf_visitor_generate_ir *ctx,
struct ctf_field_class *fc)
{
struct ctf_clock_class *clock_class_to_map_to = NULL;
struct ctf_field_class *fc)
{
struct ctf_clock_class *clock_class_to_map_to = NULL;
-int auto_map_fields_to_trace_clock_class(struct ctx *ctx,
+int auto_map_fields_to_trace_clock_class(struct ctf_visitor_generate_ir *ctx,
struct ctf_field_class *root_fc, const char *field_name)
{
int ret = 0;
struct ctf_field_class *root_fc, const char *field_name)
{
int ret = 0;
-int visit_stream_decl_entry(struct ctx *ctx, struct ctf_node *node,
+int visit_stream_decl_entry(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node,
struct ctf_stream_class *stream_class, int *set)
{
int ret = 0;
struct ctf_stream_class *stream_class, int *set)
{
int ret = 0;
-int visit_stream_decl(struct ctx *ctx, struct ctf_node *node)
+int visit_stream_decl(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node)
{
int set = 0;
int ret = 0;
{
int set = 0;
int ret = 0;
-int visit_trace_decl_entry(struct ctx *ctx, struct ctf_node *node, int *set)
+int visit_trace_decl_entry(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node,
+ int *set)
{
int ret = 0;
char *left = NULL;
{
int ret = 0;
char *left = NULL;
-int visit_trace_decl(struct ctx *ctx, struct ctf_node *node)
+int visit_trace_decl(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node)
{
int ret = 0;
int set = 0;
{
int ret = 0;
int set = 0;
-int visit_env(struct ctx *ctx, struct ctf_node *node)
+int visit_env(struct ctf_visitor_generate_ir *ctx, struct ctf_node *node)
{
int ret = 0;
char *left = NULL;
{
int ret = 0;
char *left = NULL;
-int set_trace_byte_order(struct ctx *ctx, struct ctf_node *trace_node)
+int set_trace_byte_order(struct ctf_visitor_generate_ir *ctx, struct ctf_node *trace_node)
{
int ret = 0;
int set = 0;
{
int ret = 0;
int set = 0;
-int visit_clock_decl_entry(struct ctx *ctx, struct ctf_node *entry_node,
+int visit_clock_decl_entry(struct ctf_visitor_generate_ir *ctx, struct ctf_node *entry_node,
struct ctf_clock_class *clock, int *set, int64_t *offset_seconds,
uint64_t *offset_cycles)
{
struct ctf_clock_class *clock, int *set, int64_t *offset_seconds,
uint64_t *offset_cycles)
{
-void apply_clock_class_is_absolute(struct ctx *ctx,
+void apply_clock_class_is_absolute(struct ctf_visitor_generate_ir *ctx,
struct ctf_clock_class *clock)
{
if (ctx->decoder_config.force_clock_class_origin_unix_epoch) {
struct ctf_clock_class *clock)
{
if (ctx->decoder_config.force_clock_class_origin_unix_epoch) {
-void apply_clock_class_offset(struct ctx *ctx,
+void apply_clock_class_offset(struct ctf_visitor_generate_ir *ctx,
struct ctf_clock_class *clock)
{
uint64_t freq;
struct ctf_clock_class *clock)
{
uint64_t freq;
-int visit_clock_decl(struct ctx *ctx, struct ctf_node *clock_node)
+int visit_clock_decl(struct ctf_visitor_generate_ir *ctx, struct ctf_node *clock_node)
{
int ret = 0;
int set = 0;
{
int ret = 0;
int set = 0;
-int visit_root_decl(struct ctx *ctx, struct ctf_node *root_decl_node)
+int visit_root_decl(struct ctf_visitor_generate_ir *ctx, struct ctf_node *root_decl_node)
struct ctf_visitor_generate_ir *ctf_visitor_generate_ir_create(
const struct ctf_metadata_decoder_config *decoder_config)
{
struct ctf_visitor_generate_ir *ctf_visitor_generate_ir_create(
const struct ctf_metadata_decoder_config *decoder_config)
{
- struct ctx *ctx = NULL;
+ struct ctf_visitor_generate_ir *ctx = NULL;
/* Create visitor's context */
ctx = ctx_create(decoder_config);
/* Create visitor's context */
ctx = ctx_create(decoder_config);
}
BT_HIDDEN
void ctf_visitor_generate_ir_destroy(struct ctf_visitor_generate_ir *visitor)
{
}
BT_HIDDEN
void ctf_visitor_generate_ir_destroy(struct ctf_visitor_generate_ir *visitor)
{
- ctx_destroy((void *) visitor);
}
BT_HIDDEN
bt_trace_class *ctf_visitor_generate_ir_get_ir_trace_class(
}
BT_HIDDEN
bt_trace_class *ctf_visitor_generate_ir_get_ir_trace_class(
- struct ctf_visitor_generate_ir *visitor)
+ struct ctf_visitor_generate_ir *ctx)
- struct ctx *ctx = (void *) visitor;
-
BT_ASSERT_DBG(ctx);
if (ctx->trace_class) {
BT_ASSERT_DBG(ctx);
if (ctx->trace_class) {
BT_HIDDEN
struct ctf_trace_class *ctf_visitor_generate_ir_borrow_ctf_trace_class(
BT_HIDDEN
struct ctf_trace_class *ctf_visitor_generate_ir_borrow_ctf_trace_class(
- struct ctf_visitor_generate_ir *visitor)
+ struct ctf_visitor_generate_ir *ctx)
- struct ctx *ctx = (void *) visitor;
-
BT_ASSERT_DBG(ctx);
BT_ASSERT_DBG(ctx->ctf_tc);
return ctx->ctf_tc;
}
BT_HIDDEN
BT_ASSERT_DBG(ctx);
BT_ASSERT_DBG(ctx->ctf_tc);
return ctx->ctf_tc;
}
BT_HIDDEN
-int ctf_visitor_generate_ir_visit_node(struct ctf_visitor_generate_ir *visitor,
+int ctf_visitor_generate_ir_visit_node(struct ctf_visitor_generate_ir *ctx,
struct ctf_node *node)
{
int ret = 0;
struct ctf_node *node)
{
int ret = 0;
- struct ctx *ctx = (void *) visitor;
BT_COMP_LOGI_STR("Visiting metadata's AST to generate CTF IR objects.");
BT_COMP_LOGI_STR("Visiting metadata's AST to generate CTF IR objects.");