X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftypewalk.h;h=a85517e9c3a7c7b24c2d898f059688ff3f39d576;hb=217c4f3a0ffc115825dbebb2270ab1d20c246e97;hp=cbdef138149888a67d4804bb4a7627518b353862;hpb=97e544bba9e3a0dacb3a7542952ea9f1b903667e;p=libfirm diff --git a/ir/tr/typewalk.h b/ir/tr/typewalk.h index cbdef1381..a85517e9c 100644 --- a/ir/tr/typewalk.h +++ b/ir/tr/typewalk.h @@ -57,9 +57,9 @@ void type_walk(type_walk_func *pre, type_walk_func *post, void *env); * type walk at the irgs entity, the irgs frame type and all types and * entities that are attributes to firm nodes. */ void type_walk_irg(ir_graph *irg, - type_walk_func *pre, - type_walk_func *post, - void *env); + type_walk_func *pre, + type_walk_func *post, + void *env); /** Touches every class in specified order: @@ -73,18 +73,24 @@ void type_walk_irg(ir_graph *irg, @deprecated will be removed? */ void type_walk_super2sub(type_walk_func *pre, - type_walk_func *post, - void *env); + type_walk_func *post, + void *env); -/** - Touches every class in specified order: - - first the super class - - second the class itself - If new classes are created during the traversal these - will be visited, too. */ +/** Walker for class types in inheritance order. + * + * Touches every class in specified order: + * - first the super class + * - second the class itself + * If new classes are created during the traversal these + * will be visited, too. + * Starts the walk at arbitrary classes. + * Executes pre when first visiting a class. Executes post after + * visiting all superclasses. + * + * The arguments pre, post, env may be NULL. */ void type_walk_super(type_walk_func *pre, - type_walk_func *post, - void *env); + type_walk_func *post, + void *env); /** Same as type_walk_super2sub, but visits only class types. Executes pre for a class if all superclasses have been visited. @@ -95,8 +101,8 @@ void type_walk_super(type_walk_func *pre, @bug ?? something is wrong with this. */ void class_walk_super2sub(class_walk_func *pre, - class_walk_func *post, - void *env); + class_walk_func *post, + void *env); /** * the entity walk function. A function type for entity walkers. @@ -114,7 +120,7 @@ typedef void entity_walk_func(entity *ent, void *env); * @param env environment, will be passed to the walker function */ void walk_types_entities(type *tp, - entity_walk_func *doit, - void *env); + entity_walk_func *doit, + void *env); #endif /* _TYPEWALK_H_ */