diff options
Diffstat (limited to 'src/com/craftinginterpreters/lox/LoxFunction.java')
-rw-r--r-- | src/com/craftinginterpreters/lox/LoxFunction.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/craftinginterpreters/lox/LoxFunction.java b/src/com/craftinginterpreters/lox/LoxFunction.java index fb3e8e3..371b822 100644 --- a/src/com/craftinginterpreters/lox/LoxFunction.java +++ b/src/com/craftinginterpreters/lox/LoxFunction.java @@ -11,6 +11,12 @@ class LoxFunction implements LoxCallable { this.declaration = declaration; } + LoxFunction bind(LoxInstance instance) { + Environment environment = new Environment(closure); + environment.define("this", instance); + return new LoxFunction(declaration, environment); + } + @Override public int arity() { return declaration.params.size(); |