aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/craftinginterpreters/lox/LoxFunction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/craftinginterpreters/lox/LoxFunction.java')
-rw-r--r--src/com/craftinginterpreters/lox/LoxFunction.java6
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();