init nr field for debug dump output
[libfirm] / ir / tr / typewalk.h
index 26b951b..e00a36b 100644 (file)
@@ -1,13 +1,18 @@
 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-
 * All rights reserved.
+*/
+
+/**
+* @file typewalk.h
 *
-* Author: Goetz Lindenmaier
+* Traverse the type information.
 *
-* traverse the type information.  The walker walks the whole ir graph
+* @author Goetz Lindenmaier
+*
+* The walker walks the whole ir graph
 * to find the distinct type trees in the type graph forest.
-* - execute the pre function before recursion
-* - execute the post function after recursion
+* - execute the pre() function before recursion
+* - execute the post() function after recursion
 */
 
 /* $Id$ */
 
 # include "type_or_entity.h"
 
+/**
+ * the type walk function
+ *
+ * @param tore    points to the visited type or entity
+ * @param env     free environment pointer
+ */
+typedef void type_walk_func(type_or_ent *tore, void *env);
 
-typedef void (type_walk_func)(type_or_ent *, void *);
+/**
+ * the class walk function
+ *
+ * @param clss    points to the visited class
+ * @param env     free environment pointer
+ */
+typedef void class_walk_func(type *clss, void *env);
 
 /**
     Touches every type and entity in unspecified order.  If new
     types/entities are created during the traversal these will
-    be visited, too. **/
+    be visited, too. */
 void type_walk(type_walk_func *pre,
               type_walk_func *post,
               void *env);
 
-/** walks over all type information reachable from irg **/
+/** walks over all type information reachable from irg */
 void type_walk_irg(ir_graph *irg,
                   type_walk_func *pre,
                   type_walk_func *post,
@@ -42,9 +60,12 @@ void type_walk_irg(ir_graph *irg,
     - first the super class
     - second the class itself
     - third the sub classes.  If new classes are created
-    during the traversal these will be visited, too. **/
-/** @@@ should be named class-walk **/
-/*  @@@ will be removed? */
+    during the traversal these will be visited, too.
+
+    @todo should be named class-walk
+
+    @deprecated will be removed?
+*/
 void type_walk_super2sub(type_walk_func *pre,
                         type_walk_func *post,
                         void *env);
@@ -54,25 +75,38 @@ void type_walk_super2sub(type_walk_func *pre,
     - first the super class
     - second the class itself
     If new classes are created during the traversal these
-    will be visited, too. **/
+    will be visited, too. */
 void type_walk_super(type_walk_func *pre,
                     type_walk_func *post,
                     void *env);
 
-/* Same as type_walk_super2sub, but visits only class types.
+/** Same as type_walk_super2sub, but visits only class types.
    Executes pre for a class if all superclasses have been visited.
    Then iterates to subclasses.  Executes post after return from
    subclass.
    Does not visit global type, frame types.
+
+   @bug ?? something is wrong with this.
 */
-/* @@@ ?? something is wrong with this. */
-void class_walk_super2sub(type_walk_func *pre,
-                         type_walk_func *post,
+void class_walk_super2sub(class_walk_func *pre,
+                         class_walk_func *post,
                          void *env);
 
+/**
+ * the entity walk function
+ *
+ * @param ent     points to the visited entity
+ * @param env     free environment pointer
+ */
+typedef void entity_walk_func(entity *ent, void *env);
 
-/* Walks over all entities in the type */
-typedef void (entity_walk_func)(entity *, void *);
+/**
+ * Walks over all entities in the type.
+ *
+ * @param tp    the type
+ * @param doit  the entity walker function
+ * @param env   environment, wil be passed to the walker function
+ */
 void walk_types_entities(type *tp,
                         entity_walk_func *doit,
                         void *env);