Fix name for enum keys in a map holding structs #1531
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.
When a map has enum as keys and any type of struct as values, the enum value that was used for the key would be replaced as if it was base class.
As the VariableInformation class has a constructor that receives the names directly from the map, use that information to not allow the name override.
Fixes microsoft/vscode-cpptools#12102
Tested on VS Code 1.107.1 with ms-vscode.cpptools 1.29.3
Important
The check for the base class is not entirely clear to me and looking at the file history didn't really help. It seems to me that it is kind of arbitrary, based on some previous observations, but not on a proper protocol.
I'm also abusing the name argument for this, but it seems safe: