diff --git a/jlox/lox/src/main/java/xyz/ctsk/lox/Interpreter.java b/jlox/lox/src/main/java/xyz/ctsk/lox/Interpreter.java index 97ded50..94f02c0 100644 --- a/jlox/lox/src/main/java/xyz/ctsk/lox/Interpreter.java +++ b/jlox/lox/src/main/java/xyz/ctsk/lox/Interpreter.java @@ -55,9 +55,15 @@ public class Interpreter implements Expr.Visitor, Stmt.Visitor { return null; } + @Override + public Void visitFunctionStmt(Stmt.Function stmt) { + environment.define(stmt.name().lexeme(), new LoxFunction(stmt)); + return null; + } + @Override public Void visitIfStmt(Stmt.If stmt) { - if (isTruthy(stmt.condition())) { + if (isTruthy(evaluate(stmt.condition()))) { execute(stmt.thenBranch()); } else if (stmt.elseBranch() != null){ execute(stmt.elseBranch());