Ejemplo n.º 1
0
 public override object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     script_.Write("break");
     if (breakStatementAst.Label != null)
     {
         script_.Write(" ");
     }
     VisitElement(breakStatementAst.Label);
     return(breakStatementAst);
 }
Ejemplo n.º 2
0
        public override AstVisitAction VisitBreakStatement(BreakStatementAst breakStatementAst)
        {
            // I am ignoring '.Label' because it is hardly used.

            explanations.Add(
                new Explanation()
            {
                CommandName = "break statement",
                HelpResult  = HelpTableQuery("about_break"),
                Description = $"Breaks out of the current loop-like statement, switch statement or the current runspace."
            }.AddDefaults(breakStatementAst, explanations));

            return(base.VisitBreakStatement(breakStatementAst));
        }
        public void ProcessBreakStatement(BreakStatementAst breakStatement)
        {
            Guard.Against.Null(breakStatement, nameof(breakStatement));

            if (!IsInWhile)
            {
                throw new SemanticException($"Not in while, cannot break");
            }

            // jmp CurrentWhile.Done
            Debug.Assert(CurrentWhile.DoneLabel != null);

            if (CodeGenerationEnabled)
            {
                CurrentFunction.Builder.Bucket.Add(Instruction.Pack("br", CurrentWhile.DoneLabel));
            }
        }
Ejemplo n.º 4
0
 public override AstVisitAction VisitBreakStatement(BreakStatementAst ast)
 {
     return(DoNextAction(ast));
 }
 public override AstVisitAction VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     return(Visit(breakStatementAst));
 }
Ejemplo n.º 6
0
 public object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     return(false);
 }
Ejemplo n.º 7
0
 public object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     Console.WriteLine("Visited an BreakStatementAst.");
     return(breakStatementAst);
 }
 public object VisitBreakStatement(BreakStatementAst breakStatementAst) => null;
 public object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     throw PSTraceSource.NewArgumentException("ast");
 }
 public static BreakStatementAst Update(this BreakStatementAst ast, ExpressionAst label = null)
 {
     return(new BreakStatementAst(ast.Extent, label?.Clone() ?? ast.Label?.Clone()));
 }
Ejemplo n.º 11
0
 public object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     throw new UnexpectedElementException();
 }
 public virtual StatementAst VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     return(new BreakStatementAst(
                breakStatementAst.Extent,
                breakStatementAst?.Label.Rewrite(this, SyntaxKind.Expression)));
 }
 object ICustomAstVisitor.VisitBreakStatement(BreakStatementAst breakStatementAst)
 => ProcessRewriter(VisitBreakStatement, breakStatementAst);
 object ICustomAstVisitor.VisitBreakStatement(BreakStatementAst breakStatementAst) => VisitBreakStatement(breakStatementAst);
 public virtual TResult VisitBreakStatement(BreakStatementAst breakStatementAst) => default(TResult);
Ejemplo n.º 16
0
 public override StatementAst VisitBreakStatement(BreakStatementAst breakStatementAst)
 => VisitStatement(base.VisitBreakStatement(breakStatementAst));
Ejemplo n.º 17
0
 public override AstVisitAction VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     throw new NotImplementedException(); //VisitBreakStatement(breakStatementAst);
 }
        public override AstVisitAction VisitBreakStatement(BreakStatementAst breakStatementAst)
        {
            _currentNode = new Break();

            return(AstVisitAction.SkipChildren);
        }
Ejemplo n.º 19
0
 /// <summary/>
 public virtual AstVisitAction VisitBreakStatement(BreakStatementAst breakStatementAst) => DefaultVisit(breakStatementAst);
Ejemplo n.º 20
0
 public object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 21
0
 public object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     return(breakStatementAst.Copy());
 }
Ejemplo n.º 22
0
 public override AstVisitAction VisitBreakStatement(BreakStatementAst ast)
 {
     return(AstVisitAction.Continue);
 }
Ejemplo n.º 23
0
 public override AstVisitAction VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     Console.WriteLine("Visited an BreakStatementAst.");
     Console.WriteLine("    " + breakStatementAst.ToString().Replace(Environment.NewLine, Environment.NewLine + "    "));
     return(AstVisitAction.Continue);
 }
Ejemplo n.º 24
0
 public virtual object VisitBreakStatement(BreakStatementAst breakStatementAst)
 {
     VisitElement(breakStatementAst.Label);
     return(breakStatementAst);
 }
        public object VisitBreakStatement(BreakStatementAst breakStatementAst)
        {
            var newLabel = VisitElement(breakStatementAst.Label);

            return(new BreakStatementAst(breakStatementAst.Extent, newLabel));
        }
Ejemplo n.º 26
0
 public override AstVisitAction VisitBreakStatement(BreakStatementAst ast)
 {
     return(Check(ast));
 }
Ejemplo n.º 27
0
 // BreakStatementAst Extension Methods
 // New Methods Available:
 // - CreateNodeFromAST(NodeDepth, NodePosition, Parent) => Creates a Node
 public static BreakNode CreateNodeFromAst(this BreakStatementAst _ast, int _depth, int _position, Node _parent, Tree _tree)
 {
     return(new BreakNode(_ast, _depth, _position, _parent, _tree));
 }
Ejemplo n.º 28
0
 public override AstVisitAction VisitBreakStatement(BreakStatementAst breakStatementAst) => VisitAst(breakStatementAst);