Commit 92f36789 authored by Götz Lindenmaier's avatar Götz Lindenmaier
Browse files

Added support for prculiarity "inherited"

parent b774ac26
......@@ -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);
......@@ -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);
......@@ -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.
......@@ -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;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment