- struct type_class_array *array_class =
- container_of(type_class, struct type_class_array, p);
- array_type_free(array_class);
+ struct declaration_array *array_declaration;
+ struct declaration *declaration;
+
+ array_declaration = g_new(struct declaration_array, 1);
+ declaration = &array_declaration->p;
+ array_declaration->len = len;
+ declaration_ref(elem_declaration);
+ array_declaration->elem = elem_declaration;
+ array_declaration->scope = new_declaration_scope(parent_scope);
+ declaration->id = CTF_TYPE_ARRAY;
+ /* No need to align the array, the first element will align itself */
+ declaration->alignment = 1;
+ declaration->copy = array_copy;
+ declaration->declaration_free = _array_declaration_free;
+ declaration->definition_new = _array_definition_new;
+ declaration->definition_free = _array_definition_free;
+ declaration->ref = 1;
+ return array_declaration;