lib: have dedicated "dynamic array FC with/without length field" types
[babeltrace.git] / src / plugins / text / details / write.c
index 8b18bf027d611d92957169030b6bc8c631d51195..7431be658bf90da71bf6beeadc8141d5040a0216 100644 (file)
@@ -840,22 +840,22 @@ void write_variant_field_class_option(struct details_write_ctx *ctx,
        write_compound_member_name(ctx,
                bt_field_class_variant_option_get_name(option));
 
-       if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR) {
-               const bt_field_class_variant_with_selector_unsigned_option *spec_opt =
-                       bt_field_class_variant_with_selector_unsigned_borrow_option_by_index_const(
+       if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR) {
+               const bt_field_class_variant_with_selector_integer_unsigned_option *spec_opt =
+                       bt_field_class_variant_with_selector_integer_unsigned_borrow_option_by_index_const(
                                fc, index);
 
                orig_ranges =
-                       bt_field_class_variant_with_selector_unsigned_option_borrow_ranges_const(
+                       bt_field_class_variant_with_selector_integer_unsigned_option_borrow_ranges_const(
                                spec_opt);
                is_signed = false;
-       } else if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR) {
-               const bt_field_class_variant_with_selector_signed_option *spec_opt =
-                       bt_field_class_variant_with_selector_signed_borrow_option_by_index_const(
+       } else if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR) {
+               const bt_field_class_variant_with_selector_integer_signed_option *spec_opt =
+                       bt_field_class_variant_with_selector_integer_signed_borrow_option_by_index_const(
                                fc, index);
 
                orig_ranges =
-                       bt_field_class_variant_with_selector_signed_option_borrow_ranges_const(
+                       bt_field_class_variant_with_selector_integer_signed_option_borrow_ranges_const(
                                spec_opt);
                is_signed = true;
        }
@@ -946,8 +946,11 @@ void write_field_class(struct details_write_ctx *ctx, const bt_field_class *fc)
        case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
                type = "Static array";
                break;
-       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
-               type = "Dynamic array";
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD:
+               type = "Dynamic array (no length field)";
+               break;
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD:
+               type = "Dynamic array (with length field)";
                break;
        case BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR:
                type = "Option (no selector)";
@@ -964,11 +967,11 @@ void write_field_class(struct details_write_ctx *ctx, const bt_field_class *fc)
        case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
                type = "Variant (no selector)";
                break;
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
-               type = "Variant (unsigned selector)";
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR:
+               type = "Variant (unsigned integer selector)";
                break;
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
-               type = "Variant (signed selector)";
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR:
+               type = "Variant (signed integer selector)";
                break;
        default:
                abort();
@@ -1010,22 +1013,21 @@ void write_field_class(struct details_write_ctx *ctx, const bt_field_class *fc)
                break;
        }
        case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
-       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD:
                if (fc_type == BT_FIELD_CLASS_TYPE_STATIC_ARRAY) {
                        g_string_append(ctx->str, " (Length ");
                        write_uint_prop_value(ctx,
                                bt_field_class_array_static_get_length(fc));
                        g_string_append_c(ctx->str, ')');
-               } else {
+               } else if (fc_type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD) {
                        const bt_field_path *length_field_path =
-                               bt_field_class_array_dynamic_borrow_length_field_path_const(
+                               bt_field_class_array_dynamic_with_length_field_borrow_length_field_path_const(
                                        fc);
 
-                       if (length_field_path) {
-                               g_string_append(ctx->str, " (Length field path ");
-                               write_field_path(ctx, length_field_path);
-                               g_string_append_c(ctx->str, ')');
-                       }
+                       g_string_append(ctx->str, " (Length field path ");
+                       write_field_path(ctx, length_field_path);
+                       g_string_append_c(ctx->str, ')');
                }
 
                break;
@@ -1043,15 +1045,15 @@ void write_field_class(struct details_write_ctx *ctx, const bt_field_class *fc)
                break;
        }
        case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR:
        {
                uint64_t option_count =
                        bt_field_class_variant_get_option_count(fc);
                const bt_field_path *sel_field_path = NULL;
 
-               if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR ||
-                               fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR) {
+               if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR ||
+                               fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR) {
                        sel_field_path =
                                bt_field_class_variant_with_selector_borrow_selector_field_path_const(
                                        fc);
@@ -1172,7 +1174,8 @@ void write_field_class(struct details_write_ctx *ctx, const bt_field_class *fc)
                break;
        }
        case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
-       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD:
                if (wrote_user_attrs) {
                        write_nl(ctx);
                } else {
@@ -1235,8 +1238,8 @@ void write_field_class(struct details_write_ctx *ctx, const bt_field_class *fc)
                break;
        }
        case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR:
        {
                uint64_t option_count =
                        bt_field_class_variant_get_option_count(fc);
@@ -1940,7 +1943,8 @@ void write_field(struct details_write_ctx *ctx, const bt_field *field,
                break;
        }
        case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
-       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD:
        {
                uint64_t length = bt_field_array_get_length(field);
 
@@ -1986,8 +1990,8 @@ void write_field(struct details_write_ctx *ctx, const bt_field *field,
                break;
        }
        case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR:
                write_field(ctx,
                        bt_field_variant_borrow_selected_option_field_const(
                                field), NULL);
This page took 0.027469 seconds and 4 git commands to generate.