+static struct side_type_visitor type_visitor = {
+ .event_func = tracer_print_event,
+ .static_fields_func = tracer_print_static_fields,
+ .variadic_fields_func = tracer_print_variadic_fields,
+
+ /* Stack-copy basic types. */
+ .field_func = tracer_print_field,
+ .elem_func = tracer_print_elem,
+ .null_type_func = tracer_print_null,
+ .bool_type_func = tracer_print_bool,
+ .integer_type_func = tracer_print_integer,
+ .byte_type_func = tracer_print_byte,
+ .pointer_type_func = tracer_print_pointer,
+ .float_type_func = tracer_print_float,
+ .string_type_func = tracer_print_string,
+
+ /* Stack-copy compound types. */
+ .struct_type_func = tracer_print_struct,
+ .array_type_func = tracer_print_array,
+ .vla_type_func = tracer_print_vla,
+ .vla_visitor_type_func = tracer_print_vla_visitor,
+
+ /* Stack-copy enumeration types. */
+ .enum_type_func = tracer_print_enum,
+ .enum_bitmap_type_func = tracer_print_enum_bitmap,
+
+ /* Gather basic types. */
+ .gather_bool_type_func = tracer_print_gather_bool,
+ .gather_byte_type_func = tracer_print_gather_byte,
+ .gather_integer_type_func = tracer_print_gather_integer,
+ .gather_pointer_type_func = tracer_print_gather_pointer,
+ .gather_float_type_func = tracer_print_gather_float,
+ .gather_string_type_func = tracer_print_gather_string,
+
+ /* Gather compound types. */
+ .gather_struct_type_func = tracer_print_gather_struct,
+ .gather_array_type_func = tracer_print_gather_array,
+ .gather_vla_type_func = tracer_print_gather_vla,
+
+ /* Gather enumeration types. */
+ .gather_enum_type_func = tracer_print_gather_enum,
+
+ /* Dynamic basic types. */
+ .dynamic_field_func = tracer_print_dynamic_field,
+ .dynamic_elem_func = tracer_print_dynamic_elem,
+
+ .dynamic_null_func = tracer_print_dynamic_null,
+ .dynamic_bool_func = tracer_print_dynamic_bool,
+ .dynamic_integer_func = tracer_print_dynamic_integer,
+ .dynamic_byte_func = tracer_print_dynamic_byte,
+ .dynamic_pointer_func = tracer_print_dynamic_pointer,
+ .dynamic_float_func = tracer_print_dynamic_float,
+ .dynamic_string_func = tracer_print_dynamic_string,
+
+ /* Dynamic compound types. */
+ .dynamic_struct_func = tracer_print_dynamic_struct,
+ .dynamic_struct_visitor_func = tracer_print_dynamic_struct_visitor,
+ .dynamic_vla_func = tracer_print_dynamic_vla,
+ .dynamic_vla_visitor_func = tracer_print_dynamic_vla_visitor,
+};
+