1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 ** All rights reserved.
4 ** Authors: Martin Trapp, Christian Schaefer
12 /*******************************************************************/
14 /*******************************************************************/
21 /*******************************************************************/
23 /*******************************************************************/
26 // new_entity (type_class *owner, ident *name, type *type)
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 ++;
49 char *get_entity_name (entity *); */
52 get_entity_ident (entity *ent) {
57 void set_entity_ld_name (entity *, char *ld_name);
58 void set_entity_ld_ident (entity *, ident *ld_ident);
63 get_entity_owner (entity *entity) {
68 // set_entity_owner (entity *entity, type_class *owner) {
69 set_entity_owner (entity *entity, type *owner) {
70 assert_legal_owner_of_ent(owner);
71 entity->owner = owner;
74 inline void /* should this go into type.c? */
75 assert_legal_owner_of_ent(type *type) {
76 assert (type->clss.kind == k_type_class ||
77 type->uni.kind == k_type_union ||
78 type->array.kind == k_type_array ||
79 type->method.kind == k_type_method );
83 get_entity_ld_name (entity *ent)
85 if (ent->ld_name != NULL) return ent->ld_name;
86 return mangle_entity (ent);
90 char *get_entity_ld_name (entity *);
91 void set_entity_ld_name (entity *, char *ld_name);
92 void set_entity_ld_ident (entity *, ident *ld_ident);
96 get_entity_type (entity *entity) {
101 set_entity_type (entity *entity, type *type) {