# dmd.foreachvar

Utility to visit every variable in an expression.

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: foreachvar.d

Documentation: https://dlang.org/phobos/dmd_foreachvar.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/foreachvar.d

- `foreachVar`

  #### Declaration

  `void `foreachVar`(Expression `e`, void delegate(VarDeclaration) `dgVar`);`

  Visit each Expression in `e`, and call `dgVar`() on each variable declared in it.

  #### Parameters

  `Expression `e`` | expression tree to visit
  `void delegate(VarDeclaration) `dgVar`` | call when a variable is declared

- `foreachExpAndVar`

  #### Declaration

  `void `foreachExpAndVar`(Statement `s`, void delegate(Expression) `dgExp`, void delegate(VarDeclaration) `dgVar`);`

  Transitively walk Statement `s`, pass Expressions to `dgExp`(), VarDeclarations to `dgVar`().

  #### Parameters

  `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