public override Node VisitWhile(DeltinScriptParser.WhileContext context)
        {
            BlockNode block      = (BlockNode)VisitBlock(context.block());
            Node      expression = VisitExpr(context.expr());

            return(new WhileNode(expression, block, new Location(file, Range.GetRange(context))));
        }
Esempio n. 2
0
        public override Node VisitWhile(DeltinScriptParser.WhileContext context)
        {
            BlockNode       block      = (BlockNode)VisitBlock(context.block());
            IExpressionNode expression = (IExpressionNode)VisitExpr(context.expr());

            Node node = new WhileNode(expression, block, Range.GetRange(context));

            CheckRange(node);
            return(node);
        }
        public WhileAction(ParseInfo parseInfo, Scope scope, DeltinScriptParser.WhileContext whileContext)
        {
            if (whileContext.expr() == null)
            {
                parseInfo.Script.Diagnostics.Error("Expected expression.", DocRange.GetRange(whileContext.LEFT_PAREN()));
            }
            else
            {
                Condition = DeltinScript.GetExpression(parseInfo, scope, whileContext.expr());
            }

            Block = new BlockAction(parseInfo, scope, whileContext.block());
            Path  = new PathInfo(Block, DocRange.GetRange(whileContext.WHILE()), false);
        }
 public WhileNode(DeltinScriptParser.WhileContext context, BuildAstVisitor visitor) : base(new Location(visitor.file, DocRange.GetRange(context)))
 {
     Expression = visitor.VisitExpr(context.expr());
     Block      = (BlockNode)visitor.VisitBlock(context.block());
     errorRange = new Location(visitor.file, DocRange.GetRange(context.WHILE()));
 }
Esempio n. 5
0
 public override Node VisitWhile(DeltinScriptParser.WhileContext context)
 {
     return(new WhileNode(context, this));
 }