internal ExpressionInfo ParseExpression(string expression, ExpressionParser.ExpressionContext context, out bool userCollectionReferenced)
        {
            ExpressionInfo expressionInfo = m_langParser.ParseExpression(expression, context, out userCollectionReferenced);

            ProcessExpression(expressionInfo, context);
            return(expressionInfo);
        }
 private void ProcessAggregateParam(ExpressionInfo expression, ExpressionParser.ExpressionContext context)
 {
     if (expression != null && expression.Type == ExpressionInfo.Types.Expression)
     {
         RegisterExpression(new ExprCompileTimeInfo(expression, context));
     }
 }
        internal ExpressionInfo ParseExpression(string expression, ExpressionParser.ExpressionContext context, ExpressionParser.DetectionFlags flag, out bool reportParameterReferenced, out string reportParameterName, out bool userCollectionReferenced)
        {
            ExpressionInfo expressionInfo = m_langParser.ParseExpression(expression, context, flag, out reportParameterReferenced, out reportParameterName, out userCollectionReferenced);

            ProcessExpression(expressionInfo, context);
            return(expressionInfo);
        }
        internal ExpressionInfo ParseExpression(string expression, ExpressionParser.ExpressionContext context)
        {
            ExpressionInfo expressionInfo = m_langParser.ParseExpression(expression, context);

            ProcessExpression(expressionInfo, context);
            return(expressionInfo);
        }
 internal ExprCompileTimeInfo(ExpressionInfo expression, ExpressionParser.ExpressionContext context)
 {
     ExpressionInfo    = expression;
     OwnerObjectType   = context.ObjectType;
     OwnerObjectName   = context.ObjectName;
     OwnerPropertyName = context.PropertyName;
     NumErrors         = 0;
     NumWarnings       = 0;
 }
 private void ProcessAggregateParam(DataAggregateInfo aggregate, ExpressionParser.ExpressionContext context)
 {
     if (aggregate != null && aggregate.Expressions != null)
     {
         for (int i = 0; i < aggregate.Expressions.Length; i++)
         {
             ProcessAggregateParam(aggregate.Expressions[i], context);
         }
     }
 }
 private void ProcessAggregateParams(ExpressionInfo expression, ExpressionParser.ExpressionContext context)
 {
     if (expression.Aggregates != null)
     {
         for (int num = expression.Aggregates.Count - 1; num >= 0; num--)
         {
             ProcessAggregateParam(expression.Aggregates[num], context);
         }
     }
     if (expression.RunningValues != null)
     {
         for (int num2 = expression.RunningValues.Count - 1; num2 >= 0; num2--)
         {
             ProcessAggregateParam(expression.RunningValues[num2], context);
         }
     }
 }
 private void ProcessExpression(ExpressionInfo expression, ExpressionParser.ExpressionContext context)
 {
     if (expression.Type == ExpressionInfo.Types.Expression)
     {
         RegisterExpression(new ExprCompileTimeInfo(expression, context));
         ProcessAggregateParams(expression, context);
     }
     else if (expression.Type == ExpressionInfo.Types.Aggregate)
     {
         ProcessAggregateParams(expression, context);
     }
     else if (expression.Type == ExpressionInfo.Types.Field && context.Location == LocationFlags.None)
     {
         if (m_reportLevelFieldReferences == null)
         {
             m_reportLevelFieldReferences = new ArrayList();
         }
         m_reportLevelFieldReferences.Add(new ExprCompileTimeInfo(expression, context));
     }
 }