private void ReturnDo(ReturnAst returnAst)
        {
            if (returnAst.ReturnExpression != null)
            {
                var value = Exec(returnAst.ReturnExpression);

                throw new ReturnException(value);
            }

            throw new ReturnException(null);
        }
        public void Visit(ReturnAst ast)
        {
            if (ast.ReturnExpression != null)
            {
                ast.ReturnExpression.Visit(this);

                ast.AstSymbolType = ast.ReturnExpression.AstSymbolType;

                CurrentMethod.ReturnAst = ast;
            }
        }
 public void Visit(ReturnAst ast)
 {
     Exec(ast);
 }
Exemplo n.º 4
0
 public void Visit(ReturnAst ast)
 {
     PrintWrap("Return", () =>
         {
             if (ast.ReturnExpression != null)
             {
                 ast.ReturnExpression.Visit(this);
             }
         });
 }