X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Fcommon%2Fsrc%2Fmetadata%2Ftsdl%2Fvisitor-parent-links.cpp;h=90faaee0a6bdbd3e5f4f0345a84c5dbf78663db0;hb=0f5c5d5ce30884c93b4e4d0662e2914029c3e90f;hp=84c504f91b2120bd5ac96dc1e18d1dc203b2e2bb;hpb=644c6ca70640ef866d636a634ceb1488fed09b53;p=babeltrace.git diff --git a/src/plugins/ctf/common/src/metadata/tsdl/visitor-parent-links.cpp b/src/plugins/ctf/common/src/metadata/tsdl/visitor-parent-links.cpp index 84c504f9..90faaee0 100644 --- a/src/plugins/ctf/common/src/metadata/tsdl/visitor-parent-links.cpp +++ b/src/plugins/ctf/common/src/metadata/tsdl/visitor-parent-links.cpp @@ -7,10 +7,8 @@ */ #include +#include -#define BT_COMP_LOG_SELF_COMP (log_cfg->self_comp) -#define BT_LOG_OUTPUT_LEVEL (log_cfg->log_level) -#define BT_LOG_TAG "PLUGIN/CTF/META/PARENT-LINKS-VISITOR" #include "logging.hpp" #include "common/list.h" @@ -18,7 +16,7 @@ #include "ast.hpp" static int ctf_visitor_unary_expression(int depth, struct ctf_node *node, - struct meta_log_config *log_cfg) + const bt2c::Logger& logger) { int ret = 0; @@ -29,8 +27,9 @@ static int ctf_visitor_unary_expression(int depth, struct ctf_node *node, case UNARY_DOTDOTDOT: break; default: - _BT_COMP_LOGE_APPEND_CAUSE_LINENO(node->lineno, "Unknown expression link type: type=%d\n", - node->u.unary_expression.link); + _BT_CPPLOGE_APPEND_CAUSE_LINENO(logger, node->lineno, + "Unknown expression link type: type={}\n", + (int) node->u.unary_expression.link); return -EINVAL; } @@ -41,23 +40,22 @@ static int ctf_visitor_unary_expression(int depth, struct ctf_node *node, break; case UNARY_SBRAC: node->u.unary_expression.u.sbrac_exp->parent = node; - ret = - ctf_visitor_unary_expression(depth + 1, node->u.unary_expression.u.sbrac_exp, log_cfg); + ret = ctf_visitor_unary_expression(depth + 1, node->u.unary_expression.u.sbrac_exp, logger); if (ret) return ret; break; case UNARY_UNKNOWN: default: - _BT_COMP_LOGE_APPEND_CAUSE_LINENO(node->lineno, "Unknown expression link type: type=%d\n", - node->u.unary_expression.link); + _BT_CPPLOGE_APPEND_CAUSE_LINENO(logger, node->lineno, + "Unknown expression link type: type={}\n", + (int) node->u.unary_expression.link); return -EINVAL; } return 0; } -static int ctf_visitor_type_specifier(int depth, struct ctf_node *node, - struct meta_log_config *log_cfg) +static int ctf_visitor_type_specifier(int depth, struct ctf_node *node, const bt2c::Logger& logger) { int ret; @@ -84,22 +82,22 @@ static int ctf_visitor_type_specifier(int depth, struct ctf_node *node, case TYPESPEC_VARIANT: case TYPESPEC_ENUM: node->u.field_class_specifier.node->parent = node; - ret = ctf_visitor_parent_links(depth + 1, node->u.field_class_specifier.node, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, node->u.field_class_specifier.node, logger); if (ret) return ret; break; case TYPESPEC_UNKNOWN: default: - _BT_COMP_LOGE_APPEND_CAUSE_LINENO(node->lineno, "Unknown type specifier: type=%d\n", - node->u.field_class_specifier.type); + _BT_CPPLOGE_APPEND_CAUSE_LINENO(logger, node->lineno, "Unknown type specifier: type={}\n", + (int) node->u.field_class_specifier.type); return -EINVAL; } return 0; } static int ctf_visitor_field_class_declarator(int depth, struct ctf_node *node, - struct meta_log_config *log_cfg) + const bt2c::Logger& logger) { int ret = 0; struct ctf_node *iter; @@ -108,7 +106,7 @@ static int ctf_visitor_field_class_declarator(int depth, struct ctf_node *node, bt_list_for_each_entry (iter, &node->u.field_class_declarator.pointers, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -120,7 +118,7 @@ static int ctf_visitor_field_class_declarator(int depth, struct ctf_node *node, if (node->u.field_class_declarator.u.nested.field_class_declarator) { node->u.field_class_declarator.u.nested.field_class_declarator->parent = node; ret = ctf_visitor_parent_links( - depth + 1, node->u.field_class_declarator.u.nested.field_class_declarator, log_cfg); + depth + 1, node->u.field_class_declarator.u.nested.field_class_declarator, logger); if (ret) return ret; } @@ -128,7 +126,7 @@ static int ctf_visitor_field_class_declarator(int depth, struct ctf_node *node, bt_list_for_each_entry (iter, &node->u.field_class_declarator.u.nested.length, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -136,22 +134,22 @@ static int ctf_visitor_field_class_declarator(int depth, struct ctf_node *node, if (node->u.field_class_declarator.bitfield_len) { node->u.field_class_declarator.bitfield_len = node; ret = ctf_visitor_parent_links(depth + 1, node->u.field_class_declarator.bitfield_len, - log_cfg); + logger); if (ret) return ret; } break; case TYPEDEC_UNKNOWN: default: - _BT_COMP_LOGE_APPEND_CAUSE_LINENO(node->lineno, "Unknown type declarator: type=%d\n", - node->u.field_class_declarator.type); + _BT_CPPLOGE_APPEND_CAUSE_LINENO(logger, node->lineno, "Unknown type declarator: type={}\n", + (int) node->u.field_class_declarator.type); return -EINVAL; } depth--; return 0; } -int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_config *log_cfg) +int ctf_visitor_parent_links(int depth, struct ctf_node *node, const bt2c::Logger& parentLogger) { int ret = 0; struct ctf_node *iter; @@ -159,41 +157,43 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c if (node->visited) return 0; + bt2c::Logger logger {parentLogger, "PLUGIN/CTF/META/PARENT-LINKS-VISITOR"}; + switch (node->type) { case NODE_ROOT: bt_list_for_each_entry (iter, &node->u.root.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u.root.trace, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u.root.stream, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u.root.event, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u.root.clock, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u.root.callsite, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -202,7 +202,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_EVENT: bt_list_for_each_entry (iter, &node->u.event.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -210,7 +210,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_STREAM: bt_list_for_each_entry (iter, &node->u.stream.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -218,7 +218,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_ENV: bt_list_for_each_entry (iter, &node->u.env.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -226,7 +226,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_TRACE: bt_list_for_each_entry (iter, &node->u.trace.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -234,7 +234,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_CLOCK: bt_list_for_each_entry (iter, &node->u.clock.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -242,7 +242,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_CALLSITE: bt_list_for_each_entry (iter, &node->u.callsite.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -252,31 +252,31 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c depth++; bt_list_for_each_entry (iter, &node->u.ctf_expression.left, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u.ctf_expression.right, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } depth--; break; case NODE_UNARY_EXPRESSION: - return ctf_visitor_unary_expression(depth, node, log_cfg); + return ctf_visitor_unary_expression(depth, node, logger); case NODE_TYPEDEF: depth++; node->u.field_class_def.field_class_specifier_list->parent = node; ret = ctf_visitor_parent_links(depth + 1, - node->u.field_class_def.field_class_specifier_list, log_cfg); + node->u.field_class_def.field_class_specifier_list, logger); if (ret) return ret; bt_list_for_each_entry (iter, &node->u.field_class_def.field_class_declarators, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -286,13 +286,13 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c depth++; node->u.field_class_alias_target.field_class_specifier_list->parent = node; ret = ctf_visitor_parent_links( - depth + 1, node->u.field_class_alias_target.field_class_specifier_list, log_cfg); + depth + 1, node->u.field_class_alias_target.field_class_specifier_list, logger); if (ret) return ret; bt_list_for_each_entry (iter, &node->u.field_class_alias_target.field_class_declarators, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -302,13 +302,13 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c depth++; node->u.field_class_alias_name.field_class_specifier_list->parent = node; ret = ctf_visitor_parent_links( - depth + 1, node->u.field_class_alias_name.field_class_specifier_list, log_cfg); + depth + 1, node->u.field_class_alias_name.field_class_specifier_list, logger); if (ret) return ret; bt_list_for_each_entry (iter, &node->u.field_class_alias_name.field_class_declarators, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -316,11 +316,11 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c break; case NODE_TYPEALIAS: node->u.field_class_alias.target->parent = node; - ret = ctf_visitor_parent_links(depth + 1, node->u.field_class_alias.target, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, node->u.field_class_alias.target, logger); if (ret) return ret; node->u.field_class_alias.alias->parent = node; - ret = ctf_visitor_parent_links(depth + 1, node->u.field_class_alias.alias, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, node->u.field_class_alias.alias, logger); if (ret) return ret; break; @@ -328,21 +328,21 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_TYPE_SPECIFIER_LIST: bt_list_for_each_entry (iter, &node->u.field_class_specifier_list.head, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } break; case NODE_TYPE_SPECIFIER: - ret = ctf_visitor_type_specifier(depth, node, log_cfg); + ret = ctf_visitor_type_specifier(depth, node, logger); if (ret) return ret; break; case NODE_POINTER: break; case NODE_TYPE_DECLARATOR: - ret = ctf_visitor_field_class_declarator(depth, node, log_cfg); + ret = ctf_visitor_field_class_declarator(depth, node, logger); if (ret) return ret; break; @@ -350,7 +350,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_FLOATING_POINT: bt_list_for_each_entry (iter, &node->u.floating_point.expressions, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -358,7 +358,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_INTEGER: bt_list_for_each_entry (iter, &node->u.integer.expressions, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -366,7 +366,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_STRING: bt_list_for_each_entry (iter, &node->u.string.expressions, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -374,7 +374,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_ENUMERATOR: bt_list_for_each_entry (iter, &node->u.enumerator.values, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -382,14 +382,14 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_ENUM: depth++; if (node->u._enum.container_field_class) { - ret = ctf_visitor_parent_links(depth + 1, node->u._enum.container_field_class, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, node->u._enum.container_field_class, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u._enum.enumerator_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -398,13 +398,13 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_STRUCT_OR_VARIANT_DECLARATION: node->u.struct_or_variant_declaration.field_class_specifier_list->parent = node; ret = ctf_visitor_parent_links( - depth + 1, node->u.struct_or_variant_declaration.field_class_specifier_list, log_cfg); + depth + 1, node->u.struct_or_variant_declaration.field_class_specifier_list, logger); if (ret) return ret; bt_list_for_each_entry ( iter, &node->u.struct_or_variant_declaration.field_class_declarators, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -412,7 +412,7 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_VARIANT: bt_list_for_each_entry (iter, &node->u.variant.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -420,13 +420,13 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_STRUCT: bt_list_for_each_entry (iter, &node->u._struct.declaration_list, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } bt_list_for_each_entry (iter, &node->u._struct.min_align, siblings) { iter->parent = node; - ret = ctf_visitor_parent_links(depth + 1, iter, log_cfg); + ret = ctf_visitor_parent_links(depth + 1, iter, logger); if (ret) return ret; } @@ -434,7 +434,8 @@ int ctf_visitor_parent_links(int depth, struct ctf_node *node, struct meta_log_c case NODE_UNKNOWN: default: - _BT_COMP_LOGE_APPEND_CAUSE_LINENO(node->lineno, "Unknown node type: type=%d\n", node->type); + _BT_CPPLOGE_APPEND_CAUSE_LINENO(logger, node->lineno, "Unknown node type: type={}\n", + (int) node->type); return -EINVAL; } return ret;