HomePhabricator

Implement Document::getElementById and factor out ContainerNode/Leaf

Description

Implement Document::getElementById and factor out ContainerNode/Leaf

Fix the implementation of the _index_to_element and _id_to_element maps
in Document which power Document::getElementById(). This required
auditing the way that mutation is tracked (in order to keep these maps
up to date). In the process, factored out child management into
ContainerNode and Leaf superclasses (like domino does) in order to
avoid using memory for children lists on leaf nodes.

Change-Id: I2969d8e73f47a046ab7807542c1f034b5fa03d9f

Details

Provenance
cscottAuthored on May 13 2021, 7:30 PM
Parents
rMLDO31bf4e5fa703: Rename Node::__remove_children
Branches
Unknown
Tags
Unknown
References
refs/changes/89/690589/5
ChangeId
I2969d8e73f47a046ab7807542c1f034b5fa03d9f