Previously all of these functions accepted a SymbolContext&. While a CompileUnit is one member of a SymbolContext, there are also many others, and by passing such a monolithic parameter in this way it makes the requirements and assumptions of the API unclear for both callers as well as implementors. All these methods need is a CompileUnit. By limiting the parameter type in this way, we simplify the code as well as make it self-documenting for both implementers and users. This patch changes the following methods: * ParseCompileUnitLanguage(const SymbolContext&) * ParseCompileUnitFunctions(const SymbolContext&) * ParseCompileUnitLineTable(const SymbolContext&) * ParseCompileUnitDebugMacros(const SymbolContext&) * ParseCompileUnitSupportFiles(const SymbolContext&) * ParseTypesForCompileUnit(const SymbolContext&) to accept only a CompileUnit&, which is both necessary and sufficient for them to complete their task.
Note that this is purely mechanical, so it's not necessary to review the whole patch in detail unless you really want to. The main change can be viewed in the first file.