Exemple #1
0
        public override Verb CreateVerb(string[] tokens)
        {
            Color(position, tokens[1].Length, KeyWords);
            Color(tokens[2].Length, Structures);
            var index = position + length;

            return(GetExpression(source, index, Stop.CloseParenthesis()).FlatMap(t =>
            {
                (var b, var i) = t;
                var block = WhereFilter(b);
                RejectNull(block, VerboseName, "Where filter malformed");
                overridePosition = i;
                result.Value = block;
                return new Where(block);
            }, () => null));
        }
Exemple #2
0
        public override Verb CreateVerb(string[] tokens)
        {
            Color(position, tokens[1].Length, KeyWords);
            Color(tokens[2].Length, Structures);
            var index = position + length;

            return(GetExpression(source, index, Stop.CloseParenthesis()).Map(t =>
            {
                var(b, i) = t;
                var block = WhereFilter(b);
                block.Must().Not.BeNull().OrThrow(VerboseName, () => "Where filter malformed");
                overridePosition = i;
                result.Value = block;

                return new Where(block);
            }).DefaultTo(() => null));
        }