/// <summary> /// extract the selector /// </summary> /// <param name="parameter"></param> /// <param name="context"></param> /// <param name="jsonNamingPolicy"></param> /// <typeparam name="T"></typeparam> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> private static ExpressionValue GetSelector <T>(ParameterExpression parameter, RSqlQueryParser.ComparisonContext context, JsonNamingPolicy jsonNamingPolicy) { var result = ExpressionValue.Parse <T>(parameter, context.selector().GetText(), jsonNamingPolicy); return(result ?? throw new ComparisonUnknownSelectorException(context)); }
public ComparisonInvalidComparatorSelectionException(RSqlQueryParser.ComparisonContext origin, Exception innerException = null) : base(origin, $"Invalid selector : {origin?.selector()?.GetText()}", innerException) { }
public ComparisonInvalidMatchTypeException(RSqlQueryParser.ComparisonContext origin, Exception innerException = null) : base(origin, $"Invalid comparison match type : {origin?.selector()?.GetText()} and {origin?.arguments()?.GetText()}", innerException) { }
public ComparisonNotEnoughArgumentException(RSqlQueryParser.ComparisonContext origin, Exception innerException = null) : base(origin, $"Not enough argument : {origin?.selector()?.GetText()}", innerException) { }
public ComparisonUnknownSelectorException(RSqlQueryParser.ComparisonContext origin, Exception innerException = null) : base(origin, $"Unknown selector : '{origin?.selector()?.GetText()}'", innerException) { }
public ComparisonTooManyArgumentException(RSqlQueryParser.ComparisonContext origin, Exception innerException = null) : base(origin, $"Too many arguments : {origin?.selector()?.GetText()}", innerException) { }