Пример #1
0
        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);
        }
Пример #2
0
        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);
        }