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.