[lldb][TypeSystemClang][NFC] Make TemplateParameterInfos members private
This patch makes the members of `TemplateParameterInfos` only accessible via public APIs. The motivation for this is that `TemplateParameterInfos` attempts to maintain two vectors in tandem (`args` for the template arguments and `names` for the corresponding name). Working with this structure as it's currently designed makes it easy to run into out-of-bounds accesses later down the line. This patch proposes to introduce a new `TemplateParameterInfos::InsertArg` which is the only way to set the `TemplateArgument` and name of an entry and since we require both to be specified we maintain the vectors in sync out-of-the-box. To avoid adding non-const getters just for unit-tests a new `TemplateParameterInfosManipulatorForTests` is introduced that can be used to control internal state from tests.
Loading
Please sign in to comment