4 * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
6 * This file is part of libFirm.
8 * This file may be distributed and/or modified under the terms of the
9 * GNU General Public License version 2 as published by the Free Software
10 * Foundation and appearing in the file LICENSE.GPL included in the
11 * packaging of this file.
13 * Licensees holding valid libFirm Professional Edition licenses may use
14 * this file in accordance with the libFirm Commercial License.
15 * Agreement provided with the Software.
17 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * @brief Names for abstract objects
26 * @date Sat Nov 13 19:35:27 CET 2004
29 # ifndef FIRM_ANA2_PTO_NAME_H
30 # define FIRM_ANA2_PTO_NAME_H
32 # include "pto_comp.h" /* for pto_t */
37 /* ===================================================
39 =================================================== */
41 /* ===================================================
43 =================================================== */
44 typedef enum desc_kind_enum {
50 /* abstract super class for all descriptors */
51 typedef struct desc_str
59 ir_node *node; /* allocation node */
60 struct desc_str *prev; /* linked list */
63 /* object descriptor */
64 typedef struct obj_desc_str
72 ir_node *node; /* allocation node */
73 struct desc_str *prev; /* linked list */
80 /* array descriptor */
81 typedef struct arr_desc_str
89 ir_node *node; /* allocation node */
90 struct desc_str *prev; /* linked list */
95 /* ===================================================
97 =================================================== */
98 /* Dump all names to a file of the given name */
99 void pto_dump_names (const char*);
101 /* Find the given descriptor's entry for the given entity */
102 qset_t *get_entry (desc_t*, ir_entity*);
104 /* get a new descriptor for the given type at the given node */
105 desc_t *new_name (ir_type*, ir_node*, int);
107 /* get a new descriptor for the given (presumably static) entity */
108 desc_t *new_ent_name (ir_entity*);
110 /* Initialise the name module */
111 void pto_name_init (void);
113 /* Cleanup the name module */
114 void pto_name_cleanup (void);
116 /* ===================================================
118 =================================================== */
127 Revision 1.8 2006/12/13 19:46:47 beck
128 rename type entity into ir_entity
130 Revision 1.7 2006/01/13 22:00:15 beck
131 renamed all types 'type' to 'ir_type'
133 Revision 1.6 2004/12/15 13:30:41 liekweg
134 print yet nicer names
136 Revision 1.5 2004/12/06 12:52:09 liekweg
139 Revision 1.4 2004/11/30 15:49:27 liekweg
142 Revision 1.3 2004/11/30 14:47:54 liekweg
143 fix initialisation; do correct iteration
145 Revision 1.2 2004/11/24 14:53:56 liekweg
148 Revision 1.1 2004/11/18 16:37:34 liekweg