X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftype.c;h=5588894011c56731c86b5dd0635205ad721749bc;hb=aeccc4a872226c8e08e6241bcd56b846e400c52d;hp=ad016d4206df95c59ba714d01fdde1ece4fec936;hpb=24db547584425d6f986de548a23ee4305eaff347;p=libfirm diff --git a/ir/tr/type.c b/ir/tr/type.c index ad016d420..558889401 100644 --- a/ir/tr/type.c +++ b/ir/tr/type.c @@ -100,18 +100,22 @@ ident* get_type_tpop_nameid(type *tp) { assert(tp); return tp->type_op->name; } + const char* get_type_tpop_name(type *tp) { assert(tp); return id_to_str(tp->type_op->name); } + tp_opcode get_type_tpop_code(type *tp) { assert(tp); return tp->type_op->code; } + ir_mode* get_type_mode(type *tp) { assert(tp); return tp->mode; } + void set_type_mode(type *tp, ir_mode* m) { assert(tp); tp->mode = m; @@ -119,18 +123,22 @@ void set_type_mode(type *tp, ir_mode* m) { if ((tp->type_op == type_pointer) || (tp->type_op == type_primitive)) tp->size == get_mode_size(m); } -ident* get_type_nameid(type *tp) { + +ident* get_type_ident(type *tp) { assert(tp); return tp->name; } -void set_type_nameid(type *tp, ident* id) { + +void set_type_ident(type *tp, ident* id) { assert(tp); tp->name = id; } + const char* get_type_name(type *tp) { assert(tp); return id_to_str(tp->name); } + int get_type_size(type *tp) { assert(tp); return tp->size; @@ -237,8 +245,8 @@ void add_class_subtype (type *clss, type *subtype) { int i; assert(clss && (clss->type_op == type_class)); ARR_APP1 (type *, clss->attr.ca.subtypes, subtype); - for (i = 0; i < get_class_n_subtype(subtype); i++) - if (get_class_subtype(subtype, i) == clss) + for (i = 0; i < get_class_n_supertype(subtype); i++) + if (get_class_supertype(subtype, i) == clss) /* Class already registered */ return; ARR_APP1 (type *, subtype->attr.ca.supertypes, clss); @@ -272,8 +280,8 @@ void add_class_supertype (type *clss, type *supertype) { assert(clss && (clss->type_op == type_class)); assert(supertype && (supertype -> type_op == type_class)); ARR_APP1 (type *, clss->attr.ca.supertypes, supertype); - for (i = 0; i < get_class_n_supertype(supertype); i++) - if (get_class_supertype(supertype, i) == clss) + for (i = 0; i < get_class_n_subtype(supertype); i++) + if (get_class_subtype(supertype, i) == clss) /* Class already registered */ return; ARR_APP1 (type *, supertype->attr.ca.subtypes, clss);