- int_class = &enum_class->p;
- int_class->p.name = g_quark_from_string(name);
- int_class->p.alignment = alignment;
- int_class->p.copy = enum_copy;
- int_class->p.class_free = _enum_type_class_free;
- int_class->p.type_new = _enum_type_new;
- int_class->p.type_free = _enum_type_free;
- int_class->p.ref = 1;
- int_class->len = len;
- int_class->byte_order = byte_order;
- int_class->signedness = signedness;
- if (int_class->p.name) {
- ret = register_type(&int_class->p);
+ type_ref(integer_type);
+ enum_type->integer_type = integer_type;
+ 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.ref = 1;
+ if (enum_type->p.name) {
+ ret = register_type(&enum_type->p);