X-Git-Url: http://nitlanguage.org diff --git a/src/semantize/scope.nit b/src/semantize/scope.nit index a0205a5..de85c22 100644 --- a/src/semantize/scope.nit +++ b/src/semantize/scope.nit @@ -268,6 +268,11 @@ redef class AParam var variable: nullable Variable redef fun accept_scope_visitor(v) do + if variable != null then + v.register_variable(self.n_id, variable.as(not null)) + return + end + super var nid = self.n_id var variable = new Variable(nid.text) @@ -356,6 +361,7 @@ redef class ADoExpr do self.break_mark = v.make_escape_mark(n_label, false) v.enter_visit_block(n_block, self.break_mark) + v.enter_visit_block(n_catch) end end @@ -481,7 +487,7 @@ redef class ACallFormExpr var variable = v.search_variable(name) if variable != null then var n: AExpr - if not n_args.n_exprs.is_empty or n_args isa AParExprs then + if not n_args.n_exprs.is_empty or n_args isa AParExprs or self isa ACallrefExpr then v.error(self, "Error: `{name}` is a variable, not a method.") return end @@ -522,3 +528,11 @@ redef class ACallReassignExpr return new AVarReassignExpr.init_avarreassignexpr(n_qid.n_id, n_assign_op, n_value) end end + +redef class ALambdaExpr + redef fun accept_scope_visitor(v) + do + # TODO + return + end +end