Rename "declaration" to "definition"
[babeltrace.git] / types / enum.c
index a6d56ac9dae131ef07be01b6fc185e0a643f19ef..932eedf5ed3e554d07a324f7b115efaa85776793 100644 (file)
 #include <glib.h>
 
 static
-struct declaration *_enum_declaration_new(struct type *type,
-                                struct declaration_scope *parent_scope);
+struct definition *_enum_definition_new(struct type *type,
+                                struct definition_scope *parent_scope);
 static
-void _enum_declaration_free(struct declaration *declaration);
+void _enum_definition_free(struct definition *definition);
 
 static
 void enum_range_set_free(void *ptr)
@@ -349,10 +349,10 @@ size_t enum_get_nr_enumerators(struct type_enum *enum_type)
 
 void enum_copy(struct stream_pos *dest, const struct format *fdest, 
               struct stream_pos *src, const struct format *fsrc,
-              struct declaration *declaration)
+              struct definition *definition)
 {
-       struct declaration_enum *_enum =
-               container_of(declaration, struct declaration_enum, p);
+       struct definition_enum *_enum =
+               container_of(definition, struct definition_enum, p);
        struct type_enum *enum_type= _enum->type;
        GArray *array;
        GQuark v;
@@ -361,7 +361,7 @@ void enum_copy(struct stream_pos *dest, const struct format *fdest,
        assert(array);
        /* unref previous array */
        if (_enum->value)
-               g_array_unref(_enum->value, TRUE);
+               g_array_unref(_enum->value);
        _enum->value = array;
        /*
         * Arbitrarily choose the first one.
@@ -376,7 +376,7 @@ static
 void _enum_type_free(struct type *type)
 {
        struct type_enum *enum_type =
-               container_of(type, struct enum_type, p);
+               container_of(type, struct type_enum, p);
        struct enum_range_to_quark *iter, *tmp;
 
        g_hash_table_destroy(enum_type->table.value_to_quark_set);
@@ -385,7 +385,7 @@ void _enum_type_free(struct type *type)
                g_free(iter);
        }
        g_hash_table_destroy(enum_type->table.quark_to_range_set);
-       type_unref(enum_type->integer_type);
+       type_unref(&enum_type->integer_type->p);
        g_free(enum_type);
 }
 
@@ -393,7 +393,6 @@ struct type_enum *
        _enum_type_new(const char *name, struct type_integer *integer_type)
 {
        struct type_enum *enum_type;
-       int ret;
 
        enum_type = g_new(struct type_enum, 1);
 
@@ -405,62 +404,52 @@ struct type_enum *
        enum_type->table.quark_to_range_set = g_hash_table_new_full(g_int_hash,
                                                        g_int_equal,
                                                        NULL, enum_range_set_free);
-       type_ref(integer_type);
+       type_ref(&integer_type->p);
        enum_type->integer_type = integer_type;
+       enum_type->p.id = CTF_TYPE_ENUM;
        enum_type->p.name = g_quark_from_string(name);
        enum_type->p.alignment = 1;
        enum_type->p.copy = enum_copy;
        enum_type->p.type_free = _enum_type_free;
-       enum_type->p.declaration_new = _enum_declaration_new;
-       enum_type->p.declaration_free = _enum_declaration_free;
+       enum_type->p.definition_new = _enum_definition_new;
+       enum_type->p.definition_free = _enum_definition_free;
        enum_type->p.ref = 1;
-       if (enum_type->p.name) {
-               ret = register_type(&enum_type->p);
-               if (ret)
-                       goto register_error;
-       }
        return enum_type;
-
-register_error:
-       g_hash_table_destroy(enum_type->table.value_to_quark_set);
-       g_hash_table_destroy(enum_type->table.quark_to_range_set);
-       type_unref(enum_type->integer_type);
-       g_free(enum_type);
-       return NULL;
 }
 
 static
-struct declaration *
-       _enum_declaration_new(struct type *type,
-                             struct declaration_scope *parent_scope)
+struct definition *
+       _enum_definition_new(struct type *type,
+                            struct definition_scope *parent_scope)
 {
        struct type_enum *enum_type =
                container_of(type, struct type_enum, p);
-       struct declaration_enum *_enum;
-       struct declaration_integer_parent *declaration_integer_parent;
+       struct definition_enum *_enum;
+       struct definition *definition_integer_parent;
 
-       _enum = g_new(struct declaration_enum, 1);
+       _enum = g_new(struct definition_enum, 1);
        type_ref(&enum_type->p);
-       _enum->p.type = enum_type;
+       _enum->p.type = type;
+       _enum->type = enum_type;
        _enum->p.ref = 1;
        _enum->value = NULL;
-       declaration_integer_parent =
-               enum_type->integer_type->p.declaration_new(&enum_type->integer_type->p,
+       definition_integer_parent =
+               enum_type->integer_type->p.definition_new(&enum_type->integer_type->p,
                                                           parent_scope);
-       _enum->integer = container_of(declaration_integer_parent,
-                                     struct declaration_integer, p);
+       _enum->integer = container_of(definition_integer_parent,
+                                     struct definition_integer, p);
        return &_enum->p;
 }
 
 static
-void _enum_declaration_free(struct declaration *declaration)
+void _enum_definition_free(struct definition *definition)
 {
-       struct declaration_enum *_enum =
-               container_of(declaration, struct declaration_enum, p);
+       struct definition_enum *_enum =
+               container_of(definition, struct definition_enum, p);
 
-       declaration_unref(_enum->integer);
+       definition_unref(&_enum->integer->p);
        type_unref(_enum->p.type);
        if (_enum->value)
-               g_array_unref(_enum->value, TRUE);
+               g_array_unref(_enum->value);
        g_free(_enum);
 }
This page took 0.025543 seconds and 4 git commands to generate.