removed warnings
[libfirm] / ir / tr / entity_t.h
index e30ca99..906b1fb 100644 (file)
@@ -1,29 +1,29 @@
-/*
-**  Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-**  All rights reserved.
-**
-**  Authors: Martin Trapp, Christian Schaefer,
-**           Goetz Lindenmaier
-**
-**  entity.h:  entities represent all program known objects.
-**
-**  An entity is the representation of program known objects in Firm.
-**  The primary concept of entities is to represent members of complex
-**  types, i.e., fields and methods of classes.  As not all programming
-**  language model all variables and methods as members of some class,
-**  the concept of entities is extended to cover also local and global
-**  variables, and arbitrary procedures.
-**
-**  An entity always specifies the type of the object it represents and
-**  the type of the object it is a part of, the owner of the entity.
-**  Originally this is the type of the class of which the entity is a
-**  member.
-**  The owner of local variables is the procedure they are defined in.
-**  The owner of global variables and procedures visible in the whole
-**  program is a universally defined class type "GlobalType".  The owner
-**  of procedures defined in the scope of an other procedure is the
-**  enclosing procedure.
-**
+/*10 2002/03/19 13:08:33
+*  Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
+*  All rights reserved.
+*
+*  Authors: Martin Trapp, Christian Schaefer,
+*           Goetz Lindenmaier
+*
+*  entity.h:  entities represent all program known objects.
+*
+*  An entity is the representation of program known objects in Firm.
+*  The primary concept of entities is to represent members of complex
+*  types, i.e., fields and methods of classes.  As not all programming
+*  language model all variables and methods as members of some class,
+*  the concept of entities is extended to cover also local and global
+*  variables, and arbitrary procedures.
+*
+*  An entity always specifies the type of the object it represents and
+*  the type of the object it is a part of, the owner of the entity.
+*  Originally this is the type of the class of which the entity is a
+*  member.
+*  The owner of local variables is the procedure they are defined in.
+*  The owner of global variables and procedures visible in the whole
+*  program is a universally defined class type "GlobalType".  The owner
+*  of procedures defined in the scope of an other procedure is the
+*  enclosing procedure.
+*
 */
 
 /* $Id$ */
 
 # include "entity.h"
 
-#ifndef _IR_GRAPH_TYPEDEF_
-#define _IR_GRAPH_TYPEDEF_
-/* to resolve recursion between entity.h and irgraph.h */
-typedef struct ir_graph ir_graph;
-#endif
-
 struct entity {
   firm_kind kind;
   ident *name;          /* name of this entity */
@@ -50,6 +44,7 @@ struct entity {
   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
@@ -64,12 +59,11 @@ struct entity {
   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??
                           Yes, it must be here. */
-  peculiarity peculiarity;
+  struct dbg_info* dbi;    /* A pointer to information for debug support. */
 };