Beispiel #1
0
        public IList <IExpressionValue> RunWithResult(SyneryParser.RequestExpressionListContext context, QueryMemory queryMemory)
        {
            List <IExpressionValue> listOfExpressions = new List <IExpressionValue>();

            foreach (var requestExpressionContext in context.requestExpression())
            {
                IExpressionValue expressionValue = Controller
                                                   .Interpret <SyneryParser.RequestExpressionContext, IExpressionValue, QueryMemory>(requestExpressionContext, queryMemory);

                // Convert all values to objects to avoid problems when initializing an array of objects.
                // Otherwise an exception may be thrown. For example:
                // "An expression of type 'System.Int32' cannot be used to initialize an array of type 'System.Object'"
                expressionValue.Expression = Expression.Convert(expressionValue.Expression, typeof(object));

                listOfExpressions.Add(expressionValue);
            }

            return(listOfExpressions);
        }
Beispiel #2
0
 public static IEnumerable <IExpressionValue> GetListOfParameterExpressionValues(IInterpretationController controller, QueryMemory queryMemory, SyneryParser.RequestExpressionListContext context)
 {
     if (context != null)
     {
         return(controller.Interpret <SyneryParser.RequestExpressionListContext, IList <IExpressionValue>, QueryMemory>(context, queryMemory));
     }
     else
     {
         return(new List <IExpressionValue>());
     }
 }