public SearchExpressionEvaluator(string name, string description, string category, SearchExpressionEvaluatorHandler execute, SearchExpressionEvaluationHints hints, SearchExpressionParserFlags with, SearchExpressionParserFlags without)
 {
     this.name        = name;
     this.description = description;
     this.category    = category;
     this.execute     = execute;
     this.hints       = hints;
     this.with        = with;
     this.without     = without;
 }
Пример #2
0
 static void ApplyEvaluatorHints(SearchExpressionEvaluationHints hints, ref SearchExpressionParserFlags with, ref SearchExpressionParserFlags without)
 {
     if (hints.HasFlag(SearchExpressionEvaluationHints.ImplicitArgsLiterals))
     {
         with    |= SearchExpressionParserFlags.ImplicitLiterals;
         without &= ~SearchExpressionParserFlags.ImplicitLiterals;
     }
     if (hints.HasFlag(SearchExpressionEvaluationHints.DoNotValidateArgsSignature))
     {
         without |= SearchExpressionParserFlags.ValidateSignature;
     }
 }
 public bool HasOption(SearchExpressionParserFlags option)
 {
     return(options.HasFlag(option));
 }
 public SearchExpressionParserArgs Without(SearchExpressionParserFlags optionsToRemove)
 {
     return(new SearchExpressionParserArgs(text, context, options & ~optionsToRemove));
 }
 public SearchExpressionParserArgs With(SearchExpressionParserFlags optionsToAdd)
 {
     return(With(text, optionsToAdd));
 }
 internal SearchExpressionParserArgs With(StringView newText, SearchExpressionParserFlags optionsToAdd = SearchExpressionParserFlags.None)
 {
     return(new SearchExpressionParserArgs(newText, context, options | optionsToAdd));
 }
 public SearchExpressionParserArgs(SearchContext context, SearchExpressionParserFlags options = SearchExpressionParserFlags.Default)
     : this(new StringView(context.searchText), context, options)
 {
 }
 public SearchExpressionParserArgs(StringView text, SearchContext context = null, SearchExpressionParserFlags options = SearchExpressionParserFlags.Default)
 {
     this.text    = text.Trim();
     this.context = context;
     this.options = options;
 }
Пример #9
0
 internal static SearchExpression Parse(SearchContext context, SearchExpressionParserFlags options = SearchExpressionParserFlags.Default)
 {
     return(ParserManager.Parse(new SearchExpressionParserArgs(context.searchText.GetStringView(), context, options)));
 }
Пример #10
0
        internal static SearchExpression Parse(string text, SearchExpressionParserFlags options = SearchExpressionParserFlags.Default)
        {
            var searchContext = SearchService.CreateContext(text);

            return(Parse(searchContext, options));
        }