Esempio n. 1
0
            LNode ProcessBlockCallStmt(LNode stmt, int childStmtsStartAt)
            {
                List <LNode>  childStmts  = stmt.Slice(childStmtsStartAt).ToList();
                LNode         partialStmt = stmt.WithArgs(stmt.Args.First(childStmtsStartAt));
                VList <LNode> advanceSequence;

                if (ProcessBlockCallStmt(ref partialStmt, out advanceSequence, childStmts))
                {
                    stmt = partialStmt.PlusArgs(childStmts);
                    if (advanceSequence.Count != 0)
                    {
                        return(LNode.Call(CodeSymbols.Braces, LNode.List().AddRange(advanceSequence).Add(stmt)).SetStyle(NodeStyle.Statement));
                    }
                    return(stmt);
                }
                else
                {
                    return(stmt);
                }
            }