public MultiPurposeASTWalker(SyntaxNode node, Func<SyntaxNode, bool> condition, Action<SyntaxNode> operation, bool traverseRootOnly = false)
: base(SyntaxWalkerDepth.Node)
{
if (node == null)
{
throw new ArgumentNullException(nameof(node));
}
if (condition == null)
{
throw new ArgumentNullException(nameof(condition));
}
if (operation == null)
{
throw new ArgumentNullException(nameof(operation));
}
this.root = node;
this.condition = condition;
this.operation = operation;
this.traverseRootOnly = traverseRootOnly;
}