From 0dbf155da52c5db1cab2688b04c87386a55c5d5b Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Mon, 8 Feb 2021 17:42:18 -0800 Subject: Add return statement --- src/com/craftinginterpreters/lox/LoxFunction.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/com/craftinginterpreters/lox/LoxFunction.java') 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; } -- cgit v1.2.3-54-g00ecf