1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 ** All rights reserved.
4 ** Authors: Martin Trapp, Christian Schaefer
13 /*******************************************************************/
15 /*******************************************************************/
22 /*******************************************************************/
24 /*******************************************************************/
27 new_entity (type *owner, ident *name, type *type)
31 res = (entity *) malloc (sizeof (entity));
33 assert_legal_owner_of_ent(owner);
41 /* add entity to the list of entities of the owner. */
42 // res->owner->member[res->owner->n_members] = res;
43 // res->owner->n_members ++;
50 get_entity_name (entity *ent) {
52 return id_to_str(get_entity_ident(ent));
54 entity.c:52: warning: return discards `const' from pointer target type
61 get_entity_ident (entity *ent) {
67 void set_entity_ld_name (entity *, char *ld_name);
68 void set_entity_ld_ident (entity *, ident *ld_ident);
72 get_entity_owner (entity *ent) {
77 set_entity_owner (entity *ent, type *owner) {
78 assert_legal_owner_of_ent(owner);
82 inline void /* should this go into type.c? */
83 assert_legal_owner_of_ent(type *owner) {
84 assert (owner->clss.kind == k_type_class ||
85 owner->uni.kind == k_type_union ||
86 owner->array.kind == k_type_array ||
87 owner->method.kind == k_type_method );
91 get_entity_ld_name (entity *ent)
93 if (ent->ld_name != NULL) return ent->ld_name;
94 return mangle_entity (ent);
98 char *get_entity_ld_name (entity *);
99 void set_entity_ld_name (entity *, char *ld_name);
100 void set_entity_ld_ident (entity *, ident *ld_ident);
104 get_entity_type (entity *ent) {
109 set_entity_type (entity *ent, type *type) {
114 get_entity_irg(entity *ent) {
116 assert (get_kind(ent->type) == k_type_method);
121 set_entity_irg(entity *ent, ir_graph *irg) {
122 assert (ent && ent->type);
124 assert (get_kind(ent->type) == k_type_method);