Added support for lowering to entites, types.
[libfirm] / ir / tr / entity_t.h
index 570c4b7..a605f6d 100644 (file)
@@ -29,8 +29,7 @@
 # ifndef _ENTITY_T_H_
 # define _ENTITY_T_H_
 
-# include "ident.h"
-# include "type.h"
+# include "entity.h"
 
 #ifndef _IR_GRAPH_TYPEDEF_
 #define _IR_GRAPH_TYPEDEF_
@@ -46,8 +45,14 @@ struct entity {
                            is the ident for `A_a'. */
   type *type;           /* The type of this entity, e.g., a method type, a
                            basic type of the language or a class itself */
-  type *owner;          /* The class this entity belongs to.  In case of local variables
-                          the method they are defined in. */
+  type *owner;          /* The class this entity belongs to.  In case of local
+                          variables the method they are defined in. */
+  ent_allocation allocation;  /* Distinguishes static and dynamically allocated
+                                entities. */
+  ent_visibility visibility;  /* Specifies visibility to external program
+                                fragments */
+  int  offset;          /* Offset in byte for this entity.  Fixed when layout
+                          of owner is determined.  */
   /* for methods */
   ir_graph *irg;        /* If (type == method_type) this is the corresponding irg.
                           The ir_graph constructor automatically sets this field.