예제 #1
0
            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));
            }
예제 #2
0
        S IAstVisitor <T, S> .VisitQueryLetClause(QueryLetClause queryLetClause, T data)
        {
            var handler = QueryLetClauseVisited;

            if (handler != null)
            {
                handler(queryLetClause, data);
            }
            return(VisitChildren(queryLetClause, data));
        }
예제 #3
0
 void IAstVisitor.VisitQueryLetClause(QueryLetClause queryLetClause)
 {
     Visit(EnterQueryLetClause, LeaveQueryLetClause, queryLetClause);
 }
예제 #4
0
        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));
        }