var name = variable.name
var found = search_variable(name)
if found != null then
- self.error(node, "Error: A variable named `{name}' already exists")
+ self.error(node, "Error: a variable named `{name}` already exists.")
return false
end
scopes.first.variables[name] = variable
if nid == null then
var res = search_label("")
if res != null then
- self.error(nlabel, "Syntax error: anonymous label already defined.")
+ self.error(nlabel, "Syntax Error: anonymous label already defined.")
end
name = ""
else
name = nid.text
var found = self.search_label(name)
if found != null then
- self.error(nlabel, "Syntax error: label {name} already defined.")
+ self.error(nlabel, "Syntax Error: label `{name}` already defined.")
end
end
else
if nid == null then
var res = search_label("")
if res == null then
- self.error(nlabel, "Syntax error: invalid anonymous label.")
+ self.error(nlabel, "Syntax Error: invalid anonymous label.")
return null
end
return res
var name = nid.text
var res = search_label(name)
if res == null then
- self.error(nlabel, "Syntax error: invalid label {name}.")
+ self.error(nlabel, "Syntax Error: invalid label `{name}`.")
return null
end
return res
return res
end
end
- self.error(node, "Syntax Error: 'break' statement outside block.")
+ self.error(node, "Syntax Error: `break` statement outside block.")
return null
end
end
end
end
+redef class AWithExpr
+ # The break escape mark associated with the 'with'
+ var break_mark: nullable EscapeMark
+
+ 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
+end
+
redef class AVarFormExpr
# The associated variable
var variable: nullable Variable
if variable != null then
var n: AExpr
if not n_args.n_exprs.is_empty or n_args isa AParExprs then
- v.error(self, "Error: {name} is variable, not a function.")
+ v.error(self, "Error: `{name}` is a variable, not a method.")
return
end
n = variable_create(variable)