# A local variable (including parameters, automatic variables and self)
class Variable
# The name of the variable (as used in the program)
- var name: String
+ var name: String is writable
# Alias of `name`
redef fun to_s do return self.name
# The declaration of the variable, if any
- var location: nullable Location = null
+ var location: nullable Location = null is writable
# Is the local variable not read and need a warning?
var warn_unread = false is writable
end
end
+redef class AAssertExpr
+ redef fun accept_scope_visitor(v)
+ do
+ v.enter_visit(n_expr)
+ v.enter_visit_block(n_else, null)
+ end
+end
+
redef class AVarFormExpr
# The associated variable
- var variable: nullable Variable
+ var variable: nullable Variable is writable
end
redef class ACallFormExpr
redef fun accept_scope_visitor(v)
do
if n_expr isa AImplicitSelfExpr then
- var name = n_id.text
+ var name = n_qid.n_id.text
var variable = v.search_variable(name)
if variable != null then
var n: AExpr
redef fun variable_create(variable)
do
variable.warn_unread = false
- return new AVarExpr.init_avarexpr(n_id)
+ return new AVarExpr.init_avarexpr(n_qid.n_id)
end
end
redef class ACallAssignExpr
redef fun variable_create(variable)
do
- return new AVarAssignExpr.init_avarassignexpr(n_id, n_assign, n_value)
+ return new AVarAssignExpr.init_avarassignexpr(n_qid.n_id, n_assign, n_value)
end
end
redef fun variable_create(variable)
do
variable.warn_unread = false
- return new AVarReassignExpr.init_avarreassignexpr(n_id, n_assign_op, n_value)
+ return new AVarReassignExpr.init_avarreassignexpr(n_qid.n_id, n_assign_op, n_value)
end
end