@@ -252,21 +252,21 @@ private QueryExpression ParseComparisonRightTerm(QueryExpression leftTerm)
252252
253253 var leftAttribute = ( AttrAttribute ) leftLastField ;
254254
255- Func < string , int , object > constantValueConverter = GetConstantValueConverterForAttribute ( leftAttribute ) ;
255+ ConstantValueConverter constantValueConverter = GetConstantValueConverterForAttribute ( leftAttribute ) ;
256256 return ParseTypedComparisonRightTerm ( leftAttribute . Property . PropertyType , constantValueConverter ) ;
257257 }
258258
259259 if ( leftTerm is FunctionExpression leftFunction )
260260 {
261- Func < string , int , object > constantValueConverter = GetConstantValueConverterForType ( leftFunction . ReturnType ) ;
261+ ConstantValueConverter constantValueConverter = GetConstantValueConverterForType ( leftFunction . ReturnType ) ;
262262 return ParseTypedComparisonRightTerm ( leftFunction . ReturnType , constantValueConverter ) ;
263263 }
264264
265265 throw new InvalidOperationException (
266266 $ "Internal error: Expected left term to be a function or field chain, instead of '{ leftTerm . GetType ( ) . Name } ': '{ leftTerm } '.") ;
267267 }
268268
269- private QueryExpression ParseTypedComparisonRightTerm ( Type leftType , Func < string , int , object > constantValueConverter )
269+ private QueryExpression ParseTypedComparisonRightTerm ( Type leftType , ConstantValueConverter constantValueConverter )
270270 {
271271 bool allowNull = RuntimeTypeConverter . CanContainNull ( leftType ) ;
272272
@@ -329,7 +329,7 @@ protected virtual MatchTextExpression ParseTextMatch(string operatorName)
329329
330330 EatSingleCharacterToken ( TokenKind . Comma ) ;
331331
332- Func < string , int , object > constantValueConverter = GetConstantValueConverterForAttribute ( targetAttribute ) ;
332+ ConstantValueConverter constantValueConverter = GetConstantValueConverterForAttribute ( targetAttribute ) ;
333333 LiteralConstantExpression constant = ParseConstant ( constantValueConverter ) ;
334334
335335 EatSingleCharacterToken ( TokenKind . CloseParen ) ;
@@ -352,7 +352,7 @@ protected virtual AnyExpression ParseAny()
352352
353353 ImmutableHashSet < LiteralConstantExpression > . Builder constantsBuilder = ImmutableHashSet . CreateBuilder < LiteralConstantExpression > ( ) ;
354354
355- Func < string , int , object > constantValueConverter = GetConstantValueConverterForAttribute ( targetAttribute ) ;
355+ ConstantValueConverter constantValueConverter = GetConstantValueConverterForAttribute ( targetAttribute ) ;
356356 LiteralConstantExpression constant = ParseConstant ( constantValueConverter ) ;
357357 constantsBuilder . Add ( constant ) ;
358358
@@ -489,7 +489,7 @@ private static ResourceType ResolveDerivedType(ResourceType baseType, string der
489489 return filter ;
490490 }
491491
492- private LiteralConstantExpression ParseConstant ( Func < string , int , object > constantValueConverter )
492+ private LiteralConstantExpression ParseConstant ( ConstantValueConverter constantValueConverter )
493493 {
494494 int position = GetNextTokenPositionOrEnd ( ) ;
495495
@@ -514,7 +514,7 @@ private NullConstantExpression ParseNull()
514514 throw new QueryParseException ( "null expected." , position ) ;
515515 }
516516
517- private static Func < string , int , object > GetConstantValueConverterForType ( Type destinationType )
517+ protected virtual ConstantValueConverter GetConstantValueConverterForType ( Type destinationType )
518518 {
519519 return ( stringValue , position ) =>
520520 {
@@ -529,7 +529,7 @@ private static Func<string, int, object> GetConstantValueConverterForType(Type d
529529 } ;
530530 }
531531
532- private Func < string , int , object > GetConstantValueConverterForAttribute ( AttrAttribute attribute )
532+ private ConstantValueConverter GetConstantValueConverterForAttribute ( AttrAttribute attribute )
533533 {
534534 if ( attribute is { Property . Name : nameof ( Identifiable < object > . Id ) } )
535535 {
0 commit comments