Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.


Utility to visit every variable in an expression.

Source foreachvar.d

void foreachVar(Expression e, void delegate(VarDeclaration) dgVar);
Visit each Expression in e, and call dgVar() on each variable declared in it.
Expression e expression tree to visit
void delegate(VarDeclaration) dgVar call when a variable is declared
void foreachExpAndVar(Statement s, void delegate(Expression) dgExp, void delegate(VarDeclaration) dgVar);
Transitively walk Statement s, pass Expressions to dgExp(), VarDeclarations to dgVar().
Statement s Statement to traverse
void delegate(Expression) dgExp delegate to pass found Expressions to
void delegate(VarDeclaration) dgVar delegate to pass found VarDeclarations to