X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftype.c;h=d0820ac58f375993f9d6597187c2f664d8c1a0cc;hb=b9d11a19d0b84d6824633806283af13546ce495d;hp=3b8b21180ccdd0f958c5758f5a5a93257f8f26a3;hpb=feaa0dfbcff2612559f774caf49c91d67294ea70;p=libfirm diff --git a/ir/tr/type.c b/ir/tr/type.c index 3b8b21180..d0820ac58 100644 --- a/ir/tr/type.c +++ b/ir/tr/type.c @@ -771,7 +771,7 @@ ir_type *new_d_type_class (ident *name, dbg_info *db) { res->attr.ca.peculiarity = peculiarity_existent; res->attr.ca.type_info = NULL; res->attr.ca.vtable_size = 0; - res->attr.ca.final = 0; + res->attr.ca.clss_flags = cf_none; res->attr.ca.dfn = 0; hook_new_type(res); return res; @@ -993,8 +993,28 @@ int (is_class_final)(const ir_type *clss) { } /* Sets if a class is final. */ -void (set_class_final)(ir_type *clss, int final) { - _set_class_final(clss, final); +void (set_class_final)(ir_type *clss, int flag) { + _set_class_final(clss, flag); +} + +/* Returns non-zero if a class is an interface. */ +int (is_class_interface)(const ir_type *clss) { + return _is_class_interface(clss); +} + +/* Sets the class interface flag. */ +void (set_class_interface)(ir_type *clss, int flag) { + _set_class_interface(clss, flag); +} + +/* Returns non-zero if a class is abstract. */ +int (is_class_abstract)(const ir_type *clss) { + return _is_class_abstract(clss); +} + +/* Sets the class abstract flag. */ +void (set_class_abstract)(ir_type *clss, int final) { + _set_class_abstract(clss, final); } void set_class_dfn (ir_type *clss, int dfn) {