summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/index/Serialization.cpp
diff options
context:
space:
mode:
authorKadir Cetinkaya <kadircet@google.com>2019-04-12 10:09:24 +0000
committerKadir Cetinkaya <kadircet@google.com>2019-04-12 10:09:24 +0000
commit79063de95cbc97d140197259de22676d6939cd12 (patch)
tree510475295b9f9620dfffce5dc3f912e11103d7a7 /clang-tools-extra/clangd/index/Serialization.cpp
parenta80a52283cb7d8ee4d44c08030c44c39b3481d36 (diff)
downloadbcm5719-llvm-79063de95cbc97d140197259de22676d6939cd12.tar.gz
bcm5719-llvm-79063de95cbc97d140197259de22676d6939cd12.zip
[clangd] Add TemplateArgumentList into Symbol
Summary: Part of re-landing rC356541 with D59599. Changes the way we store template arguments, previous patch was storing them inside Name field of Symbol. Which was violating the assumption: ```Symbol::Scope+Symbol::Name == clang::clangd::printQualifiedName``` which was made in multiple places inside codebase. This patch instead moves those arguments into their own field. Currently the field is meant to be human-readable, can be made structured if need be. Reviewers: ioeric, ilya-biryukov, gribozavr Subscribers: MaskRay, jkorous, arphaman, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D59640 llvm-svn: 358273
Diffstat (limited to 'clang-tools-extra/clangd/index/Serialization.cpp')
-rw-r--r--clang-tools-extra/clangd/index/Serialization.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/index/Serialization.cpp b/clang-tools-extra/clangd/index/Serialization.cpp
index c7c23c27eb5..e3f9c3b1e16 100644
--- a/clang-tools-extra/clangd/index/Serialization.cpp
+++ b/clang-tools-extra/clangd/index/Serialization.cpp
@@ -282,6 +282,7 @@ void writeSymbol(const Symbol &Sym, const StringTableOut &Strings,
OS.write(static_cast<uint8_t>(Sym.SymInfo.Lang));
writeVar(Strings.index(Sym.Name), OS);
writeVar(Strings.index(Sym.Scope), OS);
+ writeVar(Strings.index(Sym.TemplateSpecializationArgs), OS);
writeLocation(Sym.Definition, Strings, OS);
writeLocation(Sym.CanonicalDeclaration, Strings, OS);
writeVar(Sym.References, OS);
@@ -309,6 +310,7 @@ Symbol readSymbol(Reader &Data, llvm::ArrayRef<llvm::StringRef> Strings) {
Sym.SymInfo.Lang = static_cast<index::SymbolLanguage>(Data.consume8());
Sym.Name = Data.consumeString(Strings);
Sym.Scope = Data.consumeString(Strings);
+ Sym.TemplateSpecializationArgs = Data.consumeString(Strings);
Sym.Definition = readLocation(Data, Strings);
Sym.CanonicalDeclaration = readLocation(Data, Strings);
Sym.References = Data.consumeVar();
OpenPOWER on IntegriCloud