Added support for prculiarity "inherited"
authorGötz Lindenmaier <goetz@ipd.info.uni-karlsruhe.de>
Fri, 28 Jun 2002 09:59:58 +0000 (09:59 +0000)
committerGötz Lindenmaier <goetz@ipd.info.uni-karlsruhe.de>
Fri, 28 Jun 2002 09:59:58 +0000 (09:59 +0000)
[r422]

ir/tr/entity.c
ir/tr/entity.h
ir/tr/type.h

index b2c482e..66d5016 100644 (file)
@@ -147,7 +147,7 @@ get_entity_ident    (entity *ent) {
 }
 
 /*
-void   set_entity_ld_name  (entity *, char *ld_name);
+void   set_entitye_ld_name  (entity *, char *ld_name);
 void   set_entity_ld_ident (entity *, ident *ld_ident);
 */
 
index f5931b2..7b01bc0 100644 (file)
@@ -85,6 +85,7 @@ typedef struct ir_graph ir_graph;
  *              external_visible,  external_allocated)
  *   variability A flag indicating the variability of this entity (values:
  *              uninitialized, initalized, part_constant, constant)
+ *   volatility @@@
  *   offset     The offset of the entity within the compound object.  Only set
  *              if the owner in the state "layout_fixed".
  *   overwrites A list of entities overwritten by this entity.  This list is only
@@ -177,7 +178,8 @@ typedef enum {
                         be static_allocated. */
   external_allocated  /* The entity is defined and allocated externally.  This compilation
                         must not allocate memory for this entity. The entity must
-                        be static_allocated. */
+                        be static_allocated.  This can also be an external defined
+                        method. */
 } ent_visibility;
 
 ent_visibility get_entity_visibility (entity *ent);
index 762fd0d..0f2afbc 100644 (file)
@@ -94,7 +94,7 @@ typedef struct ir_node ir_node;
  *               A fixed layout for enumeration types means that each enumeration
  *               is associated with an implementation value.
  *  visit        A counter for walks of the type information.
- *  link         A void* to associate some additional inforamtion with the type.
+ *  link         A void* to associate some additional information with the type.
  *
  *  These fields can only be accessed via access functions.
  *
@@ -209,7 +209,11 @@ int is_type            (void *thing);
  *  peculiarity The peculiarity of this class.  If the class is of peculiarity
  *             "description" it only is a description of requirememts to a class,
  *             as, e.g., a Java interface.  The class will never be allocated.
- *             Values: description, existent.  Default: existent.
+ *             Peculiatity inherited is only possible for entities.  An entity
+ *             is of peculiarity inherited if the compiler generated the entity
+ *             to explicitly resolve inheritance.  An inherited method entity has
+ *             no value for irg.
+ *             Values: description, existent, inherited.  Default: existent.
  *
  * SOURCE
  */
@@ -273,6 +277,11 @@ void    remove_class_supertype(type *clss, type *supertype);
 typedef enum peculiarity {
   description,     /* Represents only a description.  The entity/type is never
                      allocated, no code/data exists for this entity/type. */
+  inherited,       /* Describes explicitly that other entities are inherited
+                         to the owner of this entity.  Overwrites must refer to
+                         at least one other entity.  If this is a method entity
+                         there exists no irg for this entity, only for one of
+                         the overwritten ones. */
   existent         /* The entity/type (can) exist. */
 } peculiarity;