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