Add facilities for extract-api:
- Structs/classes to hold collected API information: APIRecord, API
- Structs/classes for API information:
- AvailabilityInfo: aggregated availbility information
- DeclarationFragments: declaration fragments
- DeclarationFragmentsBuilder: helper class to build declaration fragments for various types/declarations
- FunctionSignature: function signature
- Serialization: Serializer
- Add output file for ExtractAPIAction
- Refactor clang::RawComment::getFormattedText to provide an additional getFormattedLines for a more detailed view of comment lines used for the SymbolGraph format
Add support for global records (global variables and functions)
- Add GlobalRecord based on APIRecord to store global records' information
- Implement VisitVarDecl and VisitFunctionDecl in ExtractAPIVisitor to collect information
- Implement serialization for global records
- Add test case for global records
Might be worth deleting the default constructor.