Utility to visit every variable in an expression.


Walter Bright

Source: foreachvar.d

  • Declaration

    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

  • Declaration

    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