Rework synthetic node creation
Description
This changes the way we create new nodes in an existing structure.
Previously, we would attach the nodes to a synthetic file, a line of 0 and a synthetic column number. This meant that adding something to an existing structure would not necessarily allow us to get back to it from the top level node.
We didn't have any problem previously, as we were accessing node positions differently and always from a mapping node.
This is not true anymore, and in order to be consistent, this changes the file to be the file in which the previous node was on.
This behavior, as far as I can tell should not break anything and is still correct in the reporting of elements in the files.
Changes proposed in this merge request:
- Assign the parent node file_index to new nodes under them (this does not affect already existing nodes, just new ones created from scratch)
- remove
node_extend_list - add
SequenceNode.append - add
Node.from_dict - cleanup now-unused functions
This merge request, when approved, will close: