public Unit VisitReturn(Stmt.Return stmt) { object result = null; if (stmt.Value != null) { result = Evaluate(stmt.Value); } throw new Return(result); }
public object VisitReturnStmt(Stmt.Return stmt) { object value = null; if (stmt.Value != null) { value = Evaluate(stmt.Value); } throw new Return(value); }
object Stmt.IVisitor <object> .VisitReturnStmt(Stmt.Return stmt) { object value = null; if (stmt.value != null) { value = Evaluate(stmt.value); } throw new Return(value); }
public Unit VisitReturn(Stmt.Return stmt) { if (_currentFunction == FunctionType.None) { _errors.AddResolverError(stmt.Keyword, "Cannot return from top-level code"); } if (stmt.Value != null) { Resolve(stmt.Value); } return(Unit.Default); }
public object VisitReturnStmt(Stmt.Return stmt) { if (currentFunction == FunctionType.NONE) { Lox.Error(stmt.Keyword, "Cannot return from top-level code."); } else if (currentFunction == FunctionType.INITIALIZER) { Lox.Error(stmt.Keyword, "cannot return a value from an initializer."); } if (stmt.Value != null) { Resolve(stmt.Value); } return(null); }
public Void Visit(Stmt.Return stmt) { if (currentFunction == FunctionType.None) { Lox.Error(stmt.Keyword, "Cannot return from top-level code."); } if (stmt.Value != null) { if (currentFunction == FunctionType.Initializer) { Lox.Error(stmt.Keyword, "Cannot return a value from an initializer."); } Resolve(stmt.Value); } return(Void.Instance); }
object Stmt.IVisitor <object> .VisitReturnStmt(Stmt.Return stmt) { if (currentFunction == FunctionType.NONE) { Lox.Error(stmt.keyword, "Cannot return from top-level code."); } if (stmt.value != null) { if (currentFunction == FunctionType.INITIALIZER) { Lox.Error(stmt.keyword, "Cannot return a value from an initializer."); } Resolve(stmt.value); } return(null); }
public string VisitReturn(Stmt.Return stmt) { return(Parenthesize("return", stmt.Value)); }
public Void Visit(Stmt.Return stmt) { var value = stmt.Value != null?Evaluate(stmt.Value) : null; throw new ReturnException(value); }