internal bool Overlaps(SearchQueryError other)
 {
     if (index + length <= other.index)
     {
         return(false);
     }
     if (other.index + other.length <= index)
     {
         return(false);
     }
     return(true);
 }
        internal static int Compare(SearchQueryError x, SearchQueryError y)
        {
            if (x.type == SearchQueryErrorType.Error && y.type == SearchQueryErrorType.Warning)
            {
                return(-1);
            }
            if (x.type == SearchQueryErrorType.Warning && y.type == SearchQueryErrorType.Error)
            {
                return(1);
            }

            return(x.length.CompareTo(y.length));
        }
Пример #3
0
 private bool EvaluateExpression(SearchContext context, SearchProvider expressionProvider, IEnumerator <SearchItem> it)
 {
     try
     {
         return(it.MoveNext());
     }
     catch (SearchExpressionEvaluatorException ex)
     {
         var queryError = new SearchQueryError(ex.errorView.startIndex, ex.errorView.Length, ex.Message,
                                               context, expressionProvider, fromSearchQuery: true, SearchQueryErrorType.Error);
         context.AddSearchQueryError(queryError);
         return(false);
     }
 }
Пример #4
0
 private SearchExpression ParseExpression(SearchContext context, SearchProvider expressionProvider)
 {
     try
     {
         return(SearchExpression.Parse(context));
     }
     catch (SearchExpressionParseException ex)
     {
         var queryError = new SearchQueryError(ex.index, ex.length, ex.Message,
                                               context, expressionProvider, fromSearchQuery: true, SearchQueryErrorType.Error);
         context.AddSearchQueryError(queryError);
         return(null);
     }
 }