From 591caeb216128675ce6b8ddafccb09df7f522145 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sun, 11 Apr 2021 19:55:24 -0700 Subject: 12.4 Methods on Classes --- src/com/craftinginterpreters/lox/Resolver.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/com/craftinginterpreters/lox/Resolver.java') diff --git a/src/com/craftinginterpreters/lox/Resolver.java b/src/com/craftinginterpreters/lox/Resolver.java index a7c9911..649235a 100644 --- a/src/com/craftinginterpreters/lox/Resolver.java +++ b/src/com/craftinginterpreters/lox/Resolver.java @@ -15,7 +15,7 @@ class Resolver implements Expr.Visitor, Stmt.Visitor { } private enum FunctionType { - NONE, FUNCTION + NONE, FUNCTION, METHOD } public void resolve(List statements) { @@ -36,6 +36,12 @@ class Resolver implements Expr.Visitor, Stmt.Visitor { public Void visitClassStmt(Stmt.Class stmt) { declare(stmt.name); define(stmt.name); + + for (Stmt.Function method : stmt.methods) { + FunctionType declaration = FunctionType.METHOD; + resolveFunction(method, declaration); + } + return null; } -- cgit v1.2.3-54-g00ecf