added debug support constructors
[libfirm] / ir / tr / entity_t.h
index 6c08cfd..17c43ef 100644 (file)
@@ -1,4 +1,4 @@
-/*
+/*10 2002/03/19 13:08:33
 **  Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
 **  All rights reserved.
 **
@@ -26,6 +26,8 @@
 **
 */
 
+/* $Id$ */
+
 # ifndef _ENTITY_T_H_
 # define _ENTITY_T_H_
 
@@ -45,15 +47,29 @@ 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. */
+  entity **overwrites;  /* A list of entities this entity overwrites.  */
+  entity **overwrittenby;  /* A list of entities that overwrite this entity.  */
+  ent_allocation allocation;  /* Distinguishes static and dynamically allocated
+                                entities. */
+  ent_visibility visibility;  /* Specifies visibility to external program
+                                fragments */
+  ent_variability variability;  /* Specifies variability of entities content */
+  ent_volatility volatility;    /* Specifies volatility of entities content */
+  ir_node *value;            /* value of atomic entity */
+  ir_node **values;     /* values of compound entities */
+  entity **val_ents;    /* entities corresponding to constant values */
+  int  offset;          /* Offset in byte for this entity.  Fixed when layout
+                          of owner is determined.  */
+  void *link;           /* To store some intermediate information */
+  unsigned long visit;  /* visited counter for walks of the type information */
   /* for methods */
+  enum peculiarity peculiarity;
   ir_graph *irg;        /* If (type == method_type) this is the corresponding irg.
                           The ir_graph constructor automatically sets this field.
-                          @@@ Does this go here, or should it be in type_method,
-                          or should Call have an attribute ent?? */
-  /* Do we need to remember the initializer of fields? */
-  unsigned long visit;  /* visited counter for walks of the type information */
+                          Yes, it must be here. */
+  struct dbg_info* dbi;    /* A pointer to information for debug support. */
 };