7#ifdef DEF_TRAVERSE_TYPE
15 for (
auto &[_, Elem] : T->attrs)
17 for (
auto &DAD : T->dynamicAttrs) {
24 for (
auto &Arg : T->args)
30 for (
auto &[_, E] : *T->es)
46 for (
auto &F : T->formals->formals)
57 for (
auto &E : T->elems)
62 DEF_TRAVERSE_TYPE(BIN_OP, { \
63 TRY_TO_TRAVERSE(T->e1); \
64 TRY_TO_TRAVERSE(T->e2); \
75#undef DEF_TRAVERSE_BINARY_EXPR
79 for (
auto &E : T->attrPath)
91 for (
auto &E : T->attrPath) {
#define DEF_TRAVERSE_TYPE(TYPE, CODE)
#define TRY_TO_TRAVERSE(EXPR)
#define DEF_TRAVERSE_BINARY_EXPR(BIN_OP)