public override ConditionalNode VisitConditionalBlock(ConditionalBlockContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("Context can't be null");
            }

            // Process the statements and add them to the conditionalBlock.
            var logicalExpressionVisitor = new LogicalExpressionVisitor();
            var expression = logicalExpressionVisitor.VisitLogicalExpression(context.logicalExpression());

            //Create a conditionalBlock wherein we can store the results.
            var conditionalNode = new ConditionalNode(Location.FromContext(context), expression);

            // Get the sections and process them.
            var sectionContexts = context.section();
            var sectionVisitor  = new SectionVisitor();

            foreach (var sectionContext in sectionContexts)
            {
                conditionalNode.AddNode(sectionVisitor.VisitSection(sectionContext));
            }

            return(conditionalNode);
        }
Пример #2
0
        public override ConditionalNode VisitConditionalBlock([NotNull] QLanguageParser.ConditionalBlockContext context)
        {
            // Process the statements and add them to the conditionalBlock.
            var logicalExpressionVisitor = new LogicalExpressionVisitor();
            var expression = logicalExpressionVisitor.VisitLogicalExpression(context.logicalExpression());

            //Create a conditionalBlock wherein we can store the results.
            var conditionalNode = new ConditionalNode(Location.FromContext(context), expression);

            // Get the sections and process them.
            var sectionContext = context.section();
            var sectionVisitor = new SectionVisitor();

            foreach (var ctx in sectionContext)
            {
                conditionalNode.AddNode(sectionVisitor.VisitSection(ctx));
            }

            return(conditionalNode);
        }
Пример #3
0
 public override void Accept(LogicalExpressionVisitor visitor)
 {
     visitor.Visit(this);
 }
Пример #4
0
 public abstract void Accept(LogicalExpressionVisitor visitor);
Пример #5
0
 public override void Accept(LogicalExpressionVisitor visitor)
 {
     visitor.Visit(this);
 }