/* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-** All rights reserved.
-**
-** Author: Goetz Lindenmaier
-**
-** traverse the type information. 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
+* All rights reserved.
+*
+* Author: Goetz Lindenmaier
+*
+* traverse the type information. 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
*/
/* $Id$ */
typedef void (type_walk_func)(type_or_ent *, void *);
+typedef void (class_walk_func)(type *, void *);
-/** Walks over all type information reachable from global roots.
+/**
Touches every type and entity in unspecified order. If new
types/entities are created during the traversal these will
be visited, too. **/
type_walk_func *post,
void *env);
-/** Walks over all type information reachable from global roots.
+/**
Touches every class in specified order:
- first the super class
- second the class itself
type_walk_func *post,
void *env);
-/** Walks over all type information reachable from global roots.
+/**
Touches every class in specified order:
- first the super class
- second the class itself
Does not visit global type, frame types.
*/
/* @@@ ?? 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);