Added C++ Krempel :-)
[libfirm] / ir / tr / entity.h
index 39bb819..60f1738 100644 (file)
@@ -202,7 +202,7 @@ type       *get_entity_owner (entity *ent);
 void        set_entity_owner (entity *ent, type *owner);
 
 /** Asserts if the type owner is neither a compound type or an array */
-INLINE void assert_legal_owner_of_ent(type *owner);
+void assert_legal_owner_of_ent(type *owner);
 
 /** Returns the type of an entity. */
 type     *get_entity_type (entity *ent);
@@ -221,7 +221,7 @@ typedef enum {
   allocation_dynamic,   /**< The entity is allocated during runtime, explicitly
                             by an Alloc node. */
   allocation_static     /**< The entity is allocated statically.  We can use a
-                             SymConst(?) as address of the entity. */
+                             Const as address of the entity. */
 } ent_allocation;
 
 /** Returns the allocation type of an entity. */
@@ -230,7 +230,7 @@ ent_allocation get_entity_allocation (entity *ent);
 /** Sets the allocation type of an entity. */
 void           set_entity_allocation (entity *ent, ent_allocation al);
 
-/** Return the name of the visibility */
+/** Return the name of the allocation type. */
 const char *get_allocation_name(ent_allocation vis);
 
 /**
@@ -434,7 +434,7 @@ bool equal_entity(entity *ent1, entity *ent2);
 
 /** Outputs a unique number for this entity if libfirm is compiled for
    debugging, (configure with --enable-debug) else returns 0. */
-INLINE long get_entity_nr(entity *ent);
+long get_entity_nr(entity *ent);
 
 /** Returns the entitys visited count. */
 unsigned long get_entity_visited(entity *ent);
@@ -451,4 +451,21 @@ bool        entity_visited(entity *ent);
 /** Returns true if this entity was not visited. */
 bool        entity_not_visited(entity *ent);
 
+/** Returns the dynamically referenced entity if the static entity and the
+ *  dynamic type are given. */
+entity *resolve_ent_polymorphy(type *dynamic_class, entity* static_ent);
+
+
+/*-----------------------------------------------------------------*/
+/*  Debug aides                                                    */
+/*-----------------------------------------------------------------*/
+
+
+/** Write the entity and all its attributes to stdout.
+ *
+ *  Writes the entity and all its attributes to stdout if DEBUG_libfirm
+ *  is set.  Else does nothing. */
+void    dump_entity (entity *ent);
+
+
 # endif /* _ENTITY_H_ */