nitc :: ANode :: accept_scope_visitor
private fun accept_scope_visitor(v: ScopeVisitor)
do
visit_all(v)
end
src/semantize/scope.nit:247,2--250,4
redef fun accept_scope_visitor(v)
do
super
self.variable = v.selfvariable
end
src/semantize/scope.nit:301,2--305,4
redef fun accept_scope_visitor(v)
do
v.enter_visit(n_expr)
v.enter_visit_block(n_then, null)
v.enter_visit_block(n_else, null)
end
src/semantize/scope.nit:369,2--374,4
redef fun accept_scope_visitor(v)
do
v.enter_visit(n_expr)
v.enter_visit_block(n_else, null)
end
src/semantize/scope.nit:470,2--474,4
redef fun accept_scope_visitor(v)
do
# TODO
return
end
src/semantize/scope.nit:533,2--537,4
redef fun accept_scope_visitor(v)
do
v.scopes.unshift(new Scope)
var escapemark = v.make_escape_mark(n_label, true)
self.break_mark = escapemark
v.enter_visit(n_expr)
v.enter_visit_block(n_block, escapemark)
v.shift_scope
end
src/semantize/scope.nit:455,2--466,4
redef fun accept_scope_visitor(v)
do
if n_expr isa AImplicitSelfExpr then
var name = n_qid.n_id.text
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 or self isa ACallrefExpr then
v.error(self, "Error: `{name}` is a variable, not a method.")
return
end
n = variable_create(variable)
n.variable = variable
replace_with(n)
n.accept_scope_visitor(v)
return
end
end
super
end
src/semantize/scope.nit:483,2--503,4
redef fun accept_scope_visitor(v)
do
super
var escapemark = v.propdef.return_mark
if escapemark == null then
escapemark = new EscapeMark
v.propdef.return_mark = escapemark
end
escapemark.escapes.add(self)
self.escapemark = escapemark
end
src/semantize/scope.nit:341,2--353,4
redef fun accept_scope_visitor(v)
do
super
var escapemark = v.get_escapemark(self, self.n_label)
if escapemark == null then return # Skip error
escapemark = escapemark.continue_mark
if escapemark == null then
v.error(self, "Error: cannot 'continue', only 'break'.")
return
end
escapemark.escapes.add(self)
self.escapemark = escapemark
end
src/semantize/scope.nit:314,2--326,4
redef fun accept_scope_visitor(v)
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
src/semantize/scope.nit:360,2--365,4
redef fun accept_scope_visitor(v)
do
var escapemark = v.make_escape_mark(n_label, true)
self.break_mark = escapemark
self.continue_mark = escapemark.continue_mark
v.enter_visit(n_expr)
v.enter_visit_block(n_block, escapemark)
end
src/semantize/scope.nit:384,2--391,4
redef fun accept_scope_visitor(v)
do
var escapemark = v.make_escape_mark(n_label, true)
self.break_mark = escapemark
self.continue_mark = escapemark.continue_mark
v.enter_visit_block(n_block, escapemark)
end
src/semantize/scope.nit:401,2--407,4
redef fun accept_scope_visitor(v)
do
for g in n_groups do
v.enter_visit(g.n_expr)
end
# Protect automatic variables
v.scopes.unshift(new Scope)
for g in n_groups do
# Create the automatic variables
var variables = new Array[Variable]
g.variables = variables
for nid in g.n_ids do
var va = new Variable(nid.text)
v.register_variable(nid, va)
variables.add(va)
end
end
var escapemark = v.make_escape_mark(n_label, true)
self.break_mark = escapemark
self.continue_mark = escapemark.continue_mark
v.enter_visit_block(n_block, escapemark)
v.shift_scope
end
src/semantize/scope.nit:417,2--443,4