some fixes for xml dumper / still buggy.
[libfirm] / ir / tr / entity_t.h
index fafbfeb..f57899f 100644 (file)
 
 # include "entity.h"
 
+/** A path in a compund graph. */
+struct compound_graph_path {
+  firm_kind kind;       /**< dynamic type tag for compound graph path. */
+  type *tp;
+  int len;
+  entity *nodes[1];
+};
+
 /** the type of an entity */
 struct entity {
   firm_kind kind;       /**< dynamic type tag for entity. */
@@ -68,7 +76,7 @@ struct entity {
   ir_node **values;     /**< constant values of compound entities. Only available if
                           variablility not uninitialized.  Must be set for variability constant
                            */
-  entity **val_ents;    /**< entities corresponding to constant values. Only available if
+  compound_graph_path **val_paths;    /**< paths corresponding to constant values. Only available if
                           variablility not uninitialized.  Must be set for variability constant */
 
   /* ------------- fields for entities owned by a class type ---------------*/
@@ -80,7 +88,12 @@ struct entity {
   ir_graph *irg;        /**< If (type == method_type) this is the corresponding irg.
                           The ir_graph constructor automatically sets this field.
                           Yes, it must be here. */
+#ifdef DEBUG_libfirm
+  int nr;             /**< a unique node number for each node to make output
+                             readable. */
+#endif
 };
 
+INLINE long get_entity_nr(entity *ent);
 
 # endif /* _ENTITY_T_H_ */