diff options
author | Tom Willemse | 2020-11-25 22:06:42 -0800 |
---|---|---|
committer | Tom Willemse | 2020-11-25 22:06:42 -0800 |
commit | 57e87978ef416ce2898a65a9b67e37be91263e67 (patch) | |
tree | ca08d1a2773986f96522bdcb22819755a14e3c9f /src/com/craftinginterpreters/lox/Environment.java | |
parent | ae33509615c4088ab50d7c76f9b1881d10f8354c (diff) | |
download | crafting-interpreters-57e87978ef416ce2898a65a9b67e37be91263e67.tar.gz crafting-interpreters-57e87978ef416ce2898a65a9b67e37be91263e67.zip |
Chapter 8: Add assignment
Diffstat (limited to 'src/com/craftinginterpreters/lox/Environment.java')
-rw-r--r-- | src/com/craftinginterpreters/lox/Environment.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/com/craftinginterpreters/lox/Environment.java b/src/com/craftinginterpreters/lox/Environment.java index 634659b..8d8a374 100644 --- a/src/com/craftinginterpreters/lox/Environment.java +++ b/src/com/craftinginterpreters/lox/Environment.java @@ -14,6 +14,15 @@ class Environment { throw new RuntimeError(name, "Undefined variable '" + name.lexeme + "'."); } + void assign(Token name, Object value) { + if (values.containsKey(name.lexeme)) { + values.put(name.lexeme, value); + return; + } + + throw new RuntimeError(name, "Undefined variable '" + name.lexeme + "'."); + } + void define(String name, Object value) { values.put(name, value); } |