public FilterExpressionKeyword(string text, FilterExpressionToken token) { if (text == null) { throw new ArgumentNullException(nameof(text)); } Text = text; Token = token; }
private static TokenListParser <FilterExpressionToken, Expression> StringFunction(Expression obj, FilterExpressionToken func) => from methodName in Token.EqualTo(func).Value(s_stringFunctions[func]) from lparen in Token.EqualTo(FilterExpressionToken.LParen) from prop in Property(obj) from constant in Token.EqualTo(FilterExpressionToken.Comma).IgnoreThen(Constant(prop.IsNullOrNullable())) from rparen in Token.EqualTo(FilterExpressionToken.RParen) select(Expression) Expression.Call(prop, typeof(string).GetMethod(methodName, new[] { typeof(string) }) !, constant);
internal UnexpectedTokenException(FilterExpressionToken token, string message) : this($"Unexpected {token}. {message}") { }
internal UnexpectedTokenException(FilterExpressionToken token) : this(token, "") { }