diff options
author | 2021-04-11 19:55:24 -0700 | |
---|---|---|
committer | 2021-04-11 19:55:24 -0700 | |
commit | 591caeb216128675ce6b8ddafccb09df7f522145 (patch) | |
tree | 1f4192ef8c820d6674e8a318fbfb82e993937aac /src/com/craftinginterpreters/lox/LoxClass.java | |
parent | 580a5acb580a858c8ffa705f5f64f095cb0b4b37 (diff) | |
download | crafting-interpreters-591caeb216128675ce6b8ddafccb09df7f522145.tar.gz crafting-interpreters-591caeb216128675ce6b8ddafccb09df7f522145.zip |
12.4 Methods on Classes
Diffstat (limited to 'src/com/craftinginterpreters/lox/LoxClass.java')
-rw-r--r-- | src/com/craftinginterpreters/lox/LoxClass.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/craftinginterpreters/lox/LoxClass.java b/src/com/craftinginterpreters/lox/LoxClass.java index 4f7ef4f..0c0223f 100644 --- a/src/com/craftinginterpreters/lox/LoxClass.java +++ b/src/com/craftinginterpreters/lox/LoxClass.java @@ -1,12 +1,23 @@ package com.craftinginterpreters.lox; import java.util.List; +import java.util.Map; class LoxClass implements LoxCallable { final String name; + private final Map<String, LoxFunction> methods; - LoxClass(String name) { + LoxClass(String name, Map<String, LoxFunction> methods) { this.name = name; + this.methods = methods; + } + + LoxFunction findMethod(String name) { + if (methods.containsKey(name)) { + return methods.get(name); + } + + return null; } @Override |