[index] Use the index symbol types and APIs from the clang header.

This avoids duplication and centralizes handling of symbols.
This commit is contained in:
Argyrios Kyrtzidis
2017-01-10 14:49:07 -08:00
parent e2c9e246d7
commit db8ec19f55
10 changed files with 245 additions and 359 deletions

View File

@@ -31,12 +31,11 @@ public:
virtual bool enableWarnings() { return false; }
virtual bool recordHash(StringRef hash, bool isKnown) = 0;
virtual bool startDependency(SymbolKind kind, StringRef name, StringRef path,
virtual bool startDependency(StringRef name, StringRef path, bool isClangModule,
bool isSystem, StringRef hash) = 0;
virtual bool finishDependency(SymbolKind kind) = 0;
virtual bool finishDependency(bool isClangModule) = 0;
virtual Action startSourceEntity(const IndexSymbol &symbol) = 0;
virtual bool finishSourceEntity(SymbolKind kind, SymbolSubKindSet subKinds,
SymbolRoleSet roles) = 0;
virtual bool finishSourceEntity(SymbolInfo symInfo, SymbolRoleSet roles) = 0;
virtual void finish() {}
};