private static IEnumerable <IAggregateExpression> CompileExpressions(ReteBuilderContext context, AggregateElement element) { var declarations = context.Declarations.Concat(element.Source.Declaration).ToList(); var result = new List <IAggregateExpression>(element.Expressions.Count); foreach (var expression in element.Expressions) { var aggregateExpression = ExpressionCompiler.CompileAggregateExpression(expression, declarations); result.Add(aggregateExpression); } return(result); }
private static Dictionary <string, IAggregateExpression> CompileExpressions(ReteBuilderContext context, AggregateElement element) { var declarations = context.Declarations.Concat(element.Source.Declaration).ToList(); var result = new Dictionary <string, IAggregateExpression>(); foreach (var expression in element.ExpressionMap) { var aggregateExpression = ExpressionCompiler.CompileAggregateExpression(expression, declarations); result[expression.Name] = aggregateExpression; } return(result); }