# Sets the parent of `self` to `e`
fun parent=(e: XMLEntity) do
+ var parent = self.parent
if parent != null then
parent.children.remove(self)
end
# The owner, aka, the parent
var owner: XMLEntity
- private var entities = new List[XMLEntity]
+ var entities = new List[XMLEntity]
redef fun length do return entities.length
redef fun []=(index, el) do
var olde = self[index]
- if olde.parent != null then
- olde.parent.children.remove(el)
+ var olde_parent = olde.parent
+ if olde_parent != null then
+ olde_parent.children.remove(el)
end
entities[index] = el
el.set_parent owner
end
s += ">"
for i in children do s += i.to_s
+ var matching = self.matching
if matching != null then s += matching.to_s
return s
end
# Error message reported by the parser
var message: String
- redef fun to_s do return "XML Error: {message} at {location.to_s}"
+ redef fun to_s do
+ var l = self.location
+ if l == null then
+ return "XML Error: {message}"
+ else
+ return "XML Error: {message} at {l}"
+ end
+ end
end