public override AstNode VisitQueryLetClause(QueryLetClause queryLetClause) { var param = CreateParameterForCurrentRangeVariable(); var body = AddMemberToCurrentTransparentType(param, queryLetClause.IdentifierToken, queryLetClause.Expression, true); var lambda = CreateLambda(new[] { param }, body); return(currentResult.Invoke("Select", lambda)); }
S IAstVisitor <T, S> .VisitQueryLetClause(QueryLetClause queryLetClause, T data) { var handler = QueryLetClauseVisited; if (handler != null) { handler(queryLetClause, data); } return(VisitChildren(queryLetClause, data)); }
void IAstVisitor.VisitQueryLetClause(QueryLetClause queryLetClause) { Visit(EnterQueryLetClause, LeaveQueryLetClause, queryLetClause); }
protected internal override bool DoMatch(AstNode other, PatternMatching.Match match) { QueryLetClause o = other as QueryLetClause; return(o != null && MatchString(this.Identifier, o.Identifier) && this.Expression.DoMatch(o.Expression, match)); }