Update natvis to include a few tweaks #383
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why is this change being made?
I set up the natvis in a new project that is using rapidyml and it was missing the primary type that we are using (
ConstNodeRef
). Additionally I discovered that the children synthetic visualization for NodeRef/ConstNodeRef was not being parsed correctly. The order of operations on the bitwise operator was causing the condition to always evaluate to false.Briefly summarize what changed
NodeRef
visualization asConstNodeRef
. ConstNodeRef does not have an m_seed field so it cannot be exactly identical or else it fails to apply.NodeData::m_parent
to special-caseNONE
instead of printing uint64(-1).elm
toelement
. (This one is arguable; I'm tempted to expand them all out so they are easier to understand without abbreviation).I also tried to get
NodeData
to have a synthetic child with the expansion of the sub-elements (e.g.KEYMAP
can print the keys in the map). Unfortunately this does not seem to be possible because theNodeData
has the raw indexes but no pointer to the memory allocation.How was this change tested?
I have a ~10 line program using rapidyml along with an OpenAPI.yml file from a public sample.
Closes #380