Nov 11 2020
Nov 5 2020
Nov 4 2020
As we discussed offline we will probably not provide replaceChildRange in the public mutations API anymore.
Compared to Dmitri's prototype, Nodes.td looks more like a class hierarchy and
less like a grammar. (E.g. variants list the Alternatives parent rather than
Nov 1 2020
Oct 28 2020
Answered all comments but:
- Add tests for replaceChildRangeLowLevel
- Asymmetry of replaceChildRangeLowLevel, do we need to separate children of the replaced range?
Rebase to include ChildIterator patch.
This patch will build upon https://reviews.llvm.org/D90240 and https://reviews.llvm.org/D90161
When those patches land, work on this patch will resume.
It is here to illustrate the relevance of the previous patches and the general direction we're going.
- replaceChildRangeLowLevel now takes Begin instead of BeforeBegin
Oct 27 2020
- const on getElement and similar.
- NotSentinel -> Element
I left some points unanswered, I'll answer them tomorrow :)
Oct 26 2020
Diff against master, sorry about that
Could you add tests that verify the pairing of elements and delimiters?
Those are surfaced through the previous tests, via getElementsAsNodesAndDelimiters
Thanks for the instructive replies
Oct 23 2020
Thanks Sam! I learned a lot from your patch ^^
Oct 21 2020
Oct 20 2020
Add tests, ElementAndDelimiter are input iterators
Oct 15 2020
- [SyntaxTree] ElementAndDelimiterIterator is polymorphic and supports BeforeBegin iterator
Oct 14 2020
Haven't yet implemented BeforeBegin, waiting for a heads up on the patch as is.
- Make ElementAndDelimiterIterator templated.
Answer to comments
Oct 13 2020
Oct 12 2020
Answer comments, TODO: think about templated iterators
This patch implements the use case we discussed. It is merely for illustration.
Add asserts to MutationsImpl::remove
Oct 10 2020
Add role sanity-check. Introduce GetBegin().
Add reachability assertions
Oct 9 2020
Oct 8 2020
This is quite low priority, compared to the other branches of work, but it was almost ready work, so I decided to polish it and send it to review now.
Replace auto .. = std::vector(); with std::vector ..;
Reorganize methods to minimize diffs
- [SyntaxTree] Provide iterator for List that iterates through ElementAndDelimiters even for not well-defined lists.
Oct 1 2020
Sep 29 2020
Sep 28 2020
Sep 22 2020
Answer code review.
Looking for feedback, specially on the names I used.
Also if you have ideas of interesting tests they will be gladly accepted :)