if first_token == null then
return "????"
end
+ if last_token == null then
+ return "{first_token.locate}--????"
+ end
var lastpos = last_token.pos + last_token.text.length - 1
if first_token.line == last_token.line then
return "{first_token.locate}--{lastpos}"
n.parent = self
end
end
+ redef meth n_kwvar=(n: TKwvar)
+ do
+ _n_kwvar = n
+ if n != null then
+ n.parent = self
+ end
+ end
redef meth n_id=(n: TAttrid)
do
_n_id = n
n_kwredef: TKwredef ,
n_visibility: PVisibility ,
n_kwattr: TKwattr ,
+ n_kwvar: TKwvar ,
n_id: TAttrid ,
n_type: PType ,
n_expr: PExpr
if n_kwattr != null then
n_kwattr.parent = self
end
+ _n_kwvar = n_kwvar
+ if n_kwvar != null then
+ n_kwvar.parent = self
+ end
_n_id = n_id
if n_id != null then
n_id.parent = self
end
return
end
+ if _n_kwvar == old_child then
+ if new_child != null then
+ new_child.parent = self
+ assert new_child isa TKwvar
+ _n_kwvar = new_child
+ else
+ _n_kwvar = null
+ end
+ return
+ end
if _n_id == old_child then
if new_child != null then
new_child.parent = self
if _n_kwattr != null then
v.visit(_n_kwattr)
end
+ if _n_kwvar != null then
+ v.visit(_n_kwvar)
+ end
if _n_id != null then
v.visit(_n_id)
end
if _n_kwattr != null then
v.visit(_n_kwattr)
end
+ if _n_kwvar != null then
+ v.visit(_n_kwvar)
+ end
if _n_id != null then
v.visit(_n_id)
end