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, 5 insertions, 1 deletions
diff --git a/src/com/craftinginterpreters/lox/LoxFunction.java b/src/com/craftinginterpreters/lox/LoxFunction.java
index d2e367b..0f7ebd4 100644
--- a/src/com/craftinginterpreters/lox/LoxFunction.java
+++ b/src/com/craftinginterpreters/lox/LoxFunction.java
@@ -22,7 +22,11 @@ class LoxFunction implements LoxCallable {
environment.define(declaration.params.get(i).lexeme, arguments.get(i));
}
- interpreter.executeBlock(declaration.body, environment);
+ try {
+ interpreter.executeBlock(declaration.body, environment);
+ } catch (Return returnValue) {
+ return returnValue.value;
+ }
return null;
}