/// <summary> /// Resolve a variable declaration /// </summary> /// <param name="stmt"></param> /// <returns></returns> public object Visit(Stmt.VarDeclaration stmt) { Declare(stmt.Name); if (stmt.Initializer != null) { Resolve(stmt.Initializer); } Define(stmt.Name); return(null); }
public object Visit(Stmt.VarDeclaration stmt) { object value = null; // Evaluate the initializer if one is set if (stmt.Initializer != null) { value = Evaluate(stmt.Initializer); } _environment.Define(stmt.Name.Lexeme, value); return(null); }