diff options
author | 2021-07-08 00:14:31 -0700 | |
---|---|---|
committer | 2021-07-08 02:25:13 -0700 | |
commit | 68a2ebd34fc94488e89ffb82b359ec6e7e152ae9 (patch) | |
tree | 0dbbe26aff8fc38805b4b3780ae7842c433b9522 /src/com/craftinginterpreters/lox/LoxInstance.java | |
parent | 62bd0f83dc909547a69abb8b0aed40cf098b4c95 (diff) | |
download | crafting-interpreters-68a2ebd34fc94488e89ffb82b359ec6e7e152ae9.tar.gz crafting-interpreters-68a2ebd34fc94488e89ffb82b359ec6e7e152ae9.zip |
Restructure project to make room for clox
Diffstat (limited to 'src/com/craftinginterpreters/lox/LoxInstance.java')
-rw-r--r-- | src/com/craftinginterpreters/lox/LoxInstance.java | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/com/craftinginterpreters/lox/LoxInstance.java b/src/com/craftinginterpreters/lox/LoxInstance.java deleted file mode 100644 index 64989e0..0000000 --- a/src/com/craftinginterpreters/lox/LoxInstance.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.craftinginterpreters.lox; - -import java.util.HashMap; -import java.util.Map; - -class LoxInstance { - private LoxClass klass; - private final Map<String, Object> fields = new HashMap<>(); - - LoxInstance(LoxClass klass) { - this.klass = klass; - } - - Object get(Token name) { - if (fields.containsKey(name.lexeme)) { - return fields.get(name.lexeme); - } - - LoxFunction method = klass.findMethod(name.lexeme); - if (method != null) - return method.bind(this); - - throw new RuntimeError(name, "Undefined proprety '" + name.lexeme + "'."); - } - - void set(Token name, Object value) { - fields.put(name.lexeme, value); - } - - @Override - public String toString() { - return klass.name + " instance"; - } -} |