@@ -415,19 +415,20 @@ public override AstNode VisitMapExpression(AstMapExpression node)
415415
416416 public override AstNode VisitMedianExpression ( AstMedianExpression node )
417417 {
418- // { $median : { input: { $getField : { input : "$$ROOT", field : "_elements" } }, method: "approximate" } } => { __agg0 : { $median : { input: element, method: "approximate" } } } + "$__agg0"
418+ // { $median : { input: { $getField : { input : "$$ROOT", field : "_elements" } }, method: "approximate" } }
419+ // => { __agg0 : { $median : { input: element, method: "approximate" } } } + "$__agg0"
419420 if ( IsElementsField ( node . Input ) )
420421 {
421- var accumulator = AstExpression . MedianAccumulator ( _element ) ;
422- return CreateGetAccumulatorFieldExpression ( accumulator ) ;
422+ var accumulatorExpression = AstExpression . MedianAccumulator ( _element ) ;
423+ return CreateGetAccumulatorFieldExpression ( accumulatorExpression ) ;
423424 }
424425
425426 // { $median : { input: { $map : { input : { $getField : { input : "$$ROOT", field : "_elements" } }, as : "x", in : f(x) } }, method: "approximate" } }
426427 // => { __agg0 : { $median : { input: f(x => element), method: "approximate" } } } + "$__agg0"
427428 if ( IsMappedElementsField ( node . Input , out var rewrittenArg ) )
428429 {
429- var accumulator = AstExpression . MedianAccumulator ( rewrittenArg ) ;
430- return CreateGetAccumulatorFieldExpression ( accumulator ) ;
430+ var accumulatorExpression = AstExpression . MedianAccumulator ( rewrittenArg ) ;
431+ return CreateGetAccumulatorFieldExpression ( accumulatorExpression ) ;
431432 }
432433
433434 return base . VisitMedianExpression ( node ) ;
@@ -439,16 +440,16 @@ public override AstNode VisitPercentileExpression(AstPercentileExpression node)
439440 // => { __agg0 : { $percentile : { input: element, p: [...], method: "approximate" } } } + "$__agg0"
440441 if ( IsElementsField ( node . Input ) )
441442 {
442- var accumulator = AstExpression . PercentileAccumulator ( _element , node . Percentiles ) ;
443- return CreateGetAccumulatorFieldExpression ( accumulator ) ;
443+ var accumulatorExpression = AstExpression . PercentileAccumulator ( _element , node . Percentiles ) ;
444+ return CreateGetAccumulatorFieldExpression ( accumulatorExpression ) ;
444445 }
445446
446447 // { $percentile : { input: { $map : { input : { $getField : { input : "$$ROOT", field : "_elements" } }, as : "x", in : f(x) } }, p: [...], method: "approximate" } }
447448 // => { __agg0 : { $percentile : { input: f(x => element), p: [...], method: "approximate" } } } + "$__agg0"
448449 if ( IsMappedElementsField ( node . Input , out var rewrittenArg ) )
449450 {
450- var accumulator = AstExpression . PercentileAccumulator ( rewrittenArg , node . Percentiles ) ;
451- return CreateGetAccumulatorFieldExpression ( accumulator ) ;
451+ var accumulatorExpression = AstExpression . PercentileAccumulator ( rewrittenArg , node . Percentiles ) ;
452+ return CreateGetAccumulatorFieldExpression ( accumulatorExpression ) ;
452453 }
453454
454455 return base . VisitPercentileExpression ( node ) ;
@@ -489,7 +490,8 @@ public override AstNode VisitUnaryExpression(AstUnaryExpression node)
489490 return CreateGetAccumulatorFieldExpression ( accumulatorExpression ) ;
490491 }
491492
492- // { $accumulator : { $map : { input : { $getField : { input : "$$ROOT", field : "_elements" } }, as : "x", in : f(x) } } } => { __agg0 : { $accumulator : f(x => element) } } + "$__agg0"
493+ // { $accumulator : { $map : { input : { $getField : { input : "$$ROOT", field : "_elements" } }, as : "x", in : f(x) } } }
494+ // => { __agg0 : { $accumulator : f(x => element) } } + "$__agg0"
493495 if ( node . Operator . IsAccumulator ( out accumulatorOperator ) &&
494496 IsMappedElementsField ( node . Arg , out var rewrittenArg ) )
495497 {
@@ -510,19 +512,19 @@ expression is AstGetFieldExpression getFieldExpression &&
510512
511513 private bool IsMappedElementsField ( AstExpression expression , out AstExpression rewrittenArg )
512514 {
513- if ( expression is AstMapExpression map && IsElementsField ( map . Input ) )
515+ if ( expression is AstMapExpression mapExpression && IsElementsField ( mapExpression . Input ) )
514516 {
515- rewrittenArg = ( AstExpression ) AstNodeReplacer . Replace ( map . In , ( map . As , _element ) ) ;
517+ rewrittenArg = ( AstExpression ) AstNodeReplacer . Replace ( mapExpression . In , ( mapExpression . As , _element ) ) ;
516518 return true ;
517519 }
518520
519521 rewrittenArg = null ;
520522 return false ;
521523 }
522524
523- private AstExpression CreateGetAccumulatorFieldExpression ( AstAccumulatorExpression accumulator )
525+ private AstExpression CreateGetAccumulatorFieldExpression ( AstAccumulatorExpression accumulatorExpression )
524526 {
525- var fieldName = _accumulators . AddAccumulatorExpression ( accumulator ) ;
527+ var fieldName = _accumulators . AddAccumulatorExpression ( accumulatorExpression ) ;
526528 return AstExpression . GetField ( AstExpression . RootVar , fieldName ) ;
527529 }
528530 }
0 commit comments