protected async Task EncapsulateNoValueAsync(LogicalExpression expression) { //value expressions are syncronous if (expression is ValueExpression) { expression.Accept(this); } else { Result.Append("("); await expression.AcceptAsync(this); // trim spaces before adding a closing paren while (Result[Result.Length - 1] == ' ') { Result.Remove(Result.Length - 1, 1); } Result.Append(") "); } }
private async Task <object> EvaluateAsync(LogicalExpression expression) { await expression.AcceptAsync(this); return(Result); }