diff options
-rw-r--r-- | clang-tools-extra/clangd/index/SymbolCollector.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang-tools-extra/clangd/index/SymbolCollector.cpp b/clang-tools-extra/clangd/index/SymbolCollector.cpp index 84aff8b51b2..52a2069212d 100644 --- a/clang-tools-extra/clangd/index/SymbolCollector.cpp +++ b/clang-tools-extra/clangd/index/SymbolCollector.cpp @@ -587,9 +587,11 @@ const Symbol *SymbolCollector::addDeclaration(const NamedDecl &ND, if (!Include.empty()) S.IncludeHeaders.emplace_back(Include, 1); + llvm::Optional<OpaqueType> TypeStorage; if (S.Flags & Symbol::IndexedForCodeCompletion) { - if (auto T = OpaqueType::fromCompletionResult(*ASTCtx, SymbolCompletion)) - S.Type = T->raw(); + TypeStorage = OpaqueType::fromCompletionResult(*ASTCtx, SymbolCompletion); + if (TypeStorage) + S.Type = TypeStorage->raw(); } S.Origin = Opts.Origin; |