lib/loxxy/back_end/resolver.rb in loxxy-0.1.10 vs lib/loxxy/back_end/resolver.rb in loxxy-0.1.11

- old
+ new

@@ -51,10 +51,19 @@ def after_block_stmt(_aBlockStmt) end_scope end + # A class declaration adds a new variable to current scope + def before_class_stmt(aClassStmt) + declare(aClassStmt.name) + end + + def after_class_stmt(aClassStmt, _visitor) + define(aClassStmt.name) + end + def before_for_stmt(aForStmt) before_block_stmt(aForStmt) end def after_for_stmt(aForStmt, aVisitor) @@ -120,10 +129,10 @@ # function declaration creates a new scope for its body & binds its parameters for that scope def before_fun_stmt(aFunStmt, aVisitor) declare(aFunStmt.name) define(aFunStmt.name) - resolve_function(aFunStmt, :function ,aVisitor) + resolve_function(aFunStmt, :function, aVisitor) end private def begin_scope