/*
* Visitor context (private).
*/
-struct ctx {
+struct ctf_visitor_generate_ir {
struct meta_log_config log_cfg;
/* Trace IR trace class being filled (owned by this) */
* @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;
* @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)
{
GQuark qname = 0;
*/
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;
* 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)
{
* 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)
{
* 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)
{
* 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)
{
* @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)
{
* @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);
* @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);
* @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)
{
* @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)
{
* @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;
* @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);
- 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,
* @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;
}
static
-void ctx_pop_scope(struct ctx *ctx)
+void ctx_pop_scope(struct ctf_visitor_generate_ir *ctx)
{
struct ctx_decl_scope *parent_scope = NULL;
}
static
-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 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;
}
static
-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,
}
static
-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)
{
int ret = 0;
}
static
-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;
}
static
-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);
}
static
-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 ret = 0;
}
static
-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;
}
static
-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)
{
}
static
-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,
}
static
-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)
}
static
-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)
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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)
}
static
-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)
{
};
static
-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;
}
static
-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)
}
static
-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)
{
}
static
-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)
{
}
static
-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)
{
}
static
-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)
{
}
static
-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;
}
static
-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)
{
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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;
}
static
-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)
{
}
static
-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) {
}
static
-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;
}
static
-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;
}
static
-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)
{
int ret = 0;
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);
ctx = NULL;
end:
- return (void *) ctx;
+ return ctx;
}
BT_HIDDEN
void ctf_visitor_generate_ir_destroy(struct ctf_visitor_generate_ir *visitor)
{
- ctx_destroy((void *) visitor);
+ ctx_destroy(visitor);
}
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_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
-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 ctx *ctx = (void *) visitor;
BT_COMP_LOGI_STR("Visiting metadata's AST to generate CTF IR objects.");