Introduce macro to enforce matching enum to string for node types
[babeltrace.git] / formats / ctf / metadata / ctf-parser.y
index 58ea245b8d30f2b43b17cb26b7a8a72594bd0dc2..7e3fc40bc9e68f24e311ec238178d620737138ef 100644 (file)
@@ -77,32 +77,9 @@ struct gc_string {
 };
 
 static const char *node_type_to_str[] = {
-       [ NODE_UNKNOWN ] = "NODE_UNKNOWN",
-       [ NODE_ROOT ] = "NODE_ROOT",
-       [ NODE_EVENT ] = "NODE_EVENT",
-       [ NODE_ENV ] = "NODE_ENV",
-       [ NODE_STREAM ] = "NODE_STREAM",
-       [ NODE_TRACE ] = "NODE_TRACE",
-       [ NODE_CLOCK ] = "NODE_CLOCK",
-       [ NODE_CALLSITE ] = "NODE_CALLSITE",
-       [ NODE_CTF_EXPRESSION ] = "NODE_CTF_EXPRESSION",
-       [ NODE_UNARY_EXPRESSION ] = "NODE_UNARY_EXPRESSION",
-       [ NODE_TYPEDEF ] = "NODE_TYPEDEF",
-       [ NODE_TYPEALIAS_TARGET ] = "NODE_TYPEALIAS_TARGET",
-       [ NODE_TYPEALIAS_ALIAS ] = "NODE_TYPEALIAS_ALIAS",
-       [ NODE_TYPEALIAS ] = "NODE_TYPEALIAS",
-       [ NODE_TYPE_SPECIFIER ] = "NODE_TYPE_SPECIFIER",
-       [ NODE_TYPE_SPECIFIER_LIST ] = "NODE_TYPE_SPECIFIER_LIST",
-       [ NODE_POINTER ] = "NODE_POINTER",
-       [ NODE_TYPE_DECLARATOR ] = "NODE_TYPE_DECLARATOR",
-       [ NODE_FLOATING_POINT ] = "NODE_FLOATING_POINT",
-       [ NODE_INTEGER ] = "NODE_INTEGER",
-       [ NODE_STRING ] = "NODE_STRING",
-       [ NODE_ENUMERATOR ] = "NODE_ENUMERATOR",
-       [ NODE_ENUM ] = "NODE_ENUM",
-       [ NODE_STRUCT_OR_VARIANT_DECLARATION ] = "NODE_STRUCT_OR_VARIANT_DECLARATION",
-       [ NODE_VARIANT ] = "NODE_VARIANT",
-       [ NODE_STRUCT ] = "NODE_STRUCT",
+#define ENTRY(S)       [S] = #S,
+       FOREACH_CTF_NODES(ENTRY)
+#undef ENTRY
 };
 
 BT_HIDDEN
This page took 0.023049 seconds and 4 git commands to generate.