public virtual StatementAst VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     return(new BlockStatementAst(
                blockStatementAst.Extent,
                blockStatementAst.Kind,
                blockStatementAst.Body.Rewrite(this, SyntaxKind.StatementBlock)));
 }
        public virtual bool ProcessBlockStatement(BlockStatementAst blockStatement,
                                                  bool suppressNewScopeCreation = false)
        {
            // block_stmt -> '{' stmt* '}'
            Guard.Against.Null(blockStatement, nameof(blockStatement));

            if (!suppressNewScopeCreation)
            {
                SymbolScope = SymbolScope.CreateChildScope();
            }

            bool blockCanReturn = false;

            foreach (var statement in blockStatement.Statements)
            {
                bool canReturn = ProcessStatement(statement);
                blockCanReturn |= canReturn;
            }

            if (!suppressNewScopeCreation)
            {
                SymbolScope = SymbolScope.ParentScope;
            }

            return(blockCanReturn);
        }
 public static BlockStatementAst Update(
     this BlockStatementAst ast,
     Token kind = null,
     IEnumerable <StatementAst> statements = null)
 {
     return(new BlockStatementAst(
                ast.Extent,
                kind ?? ast.Kind,
                new StatementBlockAst(
                    ast.Body.Extent,
                    statements?.CloneAll() ?? ast.Body.Statements.CloneAll(),
                    ast.Body.Traps?.CloneAll() ?? Enumerable.Empty <TrapStatementAst>())));
 }
Example #4
0
 public override StatementAst VisitBlockStatement(BlockStatementAst blockStatementAst)
 => VisitStatement(base.VisitBlockStatement(blockStatementAst));
Example #5
0
 public override AstVisitAction VisitBlockStatement(BlockStatementAst ast)
 {
     return(Check(ast));
 }
Example #6
0
 public override AstVisitAction VisitBlockStatement(BlockStatementAst ast)
 {
     return(DoNextAction(ast));
 }
 public override AstVisitAction VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     return(Visit(blockStatementAst));
 }
Example #8
0
 public virtual object VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     VisitElement(blockStatementAst.Body);
     return(blockStatementAst);
 }
Example #9
0
 public override AstVisitAction VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     Console.WriteLine("Visited an BlockStatementAst.");
     Console.WriteLine("    " + blockStatementAst.ToString().Replace(Environment.NewLine, Environment.NewLine + "    "));
     return(AstVisitAction.Continue);
 }
 public override AstVisitAction VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     StatementCount += blockStatementAst.Body.Statements.Count;
     return(AstVisitAction.Continue);
 }
 public object VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     throw PSTraceSource.NewArgumentException("ast");
 }
 public object VisitBlockStatement(BlockStatementAst blockStatementAst) => null;
Example #13
0
 public override AstVisitAction VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     // SKIP, because there is not much to explain.
     AstExplainer(blockStatementAst);
     return(base.VisitBlockStatement(blockStatementAst));
 }
Example #14
0
 public object VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     throw new UnexpectedElementException();
 }
 public virtual TResult VisitBlockStatement(BlockStatementAst blockStatementAst) => default(TResult);
 object ICustomAstVisitor.VisitBlockStatement(BlockStatementAst blockStatementAst)
 => ProcessRewriter(VisitBlockStatement, blockStatementAst);
 object ICustomAstVisitor.VisitBlockStatement(BlockStatementAst blockStatementAst) => VisitBlockStatement(blockStatementAst);
Example #18
0
 /// <summary/>
 public virtual AstVisitAction VisitBlockStatement(BlockStatementAst blockStatementAst) => DefaultVisit(blockStatementAst);
        public override AstVisitAction VisitBlockStatement(BlockStatementAst blockStatementAst)
        {
            _currentNode = VisitSyntaxNode(blockStatementAst.Body);

            return(AstVisitAction.SkipChildren);
        }
Example #20
0
 public object VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     Console.WriteLine("Visited an BlockStatementAst.");
     return(blockStatementAst);
 }
Example #21
0
 public object VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     throw new NotImplementedException();
 }
        public object VisitBlockStatement(BlockStatementAst blockStatementAst)
        {
            var newBody = VisitElement(blockStatementAst.Body);

            return(new BlockStatementAst(blockStatementAst.Extent, blockStatementAst.Kind, newBody));
        }
Example #23
0
 public override AstVisitAction VisitBlockStatement(BlockStatementAst ast)
 {
     return(AstVisitAction.Continue);
 }
Example #24
0
 public object VisitBlockStatement(BlockStatementAst blockStatementAst)
 {
     return(false);
 }
Example #25
0
 public override AstVisitAction VisitBlockStatement(BlockStatementAst blockStatementAst) => VisitAst(blockStatementAst);