diff options
author | Jan Korous <jkorous@apple.com> | 2019-09-05 20:33:52 +0000 |
---|---|---|
committer | Jan Korous <jkorous@apple.com> | 2019-09-05 20:33:52 +0000 |
commit | 7e36ecd66dbe528edf67d1a412c4dea24019f178 (patch) | |
tree | 1f7ce6293dd2c41c859458a2a17d4e66f85ca797 | |
parent | f8032379267b06191233971f33df40cb5cafe6d9 (diff) | |
download | bcm5719-llvm-7e36ecd66dbe528edf67d1a412c4dea24019f178.tar.gz bcm5719-llvm-7e36ecd66dbe528edf67d1a412c4dea24019f178.zip |
[clang][Index] Replace CodegenNameGenerator with ASTNameGenerator
Follow-up to: 3ff8c3b73f6, d5d15b4c1fd
Should be NFC since the original patch just moved the code.
llvm-svn: 371117
-rw-r--r-- | clang/include/clang/Index/CodegenNameGenerator.h | 52 | ||||
-rw-r--r-- | clang/lib/Index/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/Index/CodegenNameGenerator.cpp | 36 | ||||
-rw-r--r-- | clang/tools/c-index-test/core_main.cpp | 8 | ||||
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 14 |
5 files changed, 11 insertions, 100 deletions
diff --git a/clang/include/clang/Index/CodegenNameGenerator.h b/clang/include/clang/Index/CodegenNameGenerator.h deleted file mode 100644 index 98b3a5de817..00000000000 --- a/clang/include/clang/Index/CodegenNameGenerator.h +++ /dev/null @@ -1,52 +0,0 @@ -//===- CodegenNameGenerator.h - Codegen name generation -------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// Determines the name that the symbol will get for code generation. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_INDEX_CODEGENNAMEGENERATOR_H -#define LLVM_CLANG_INDEX_CODEGENNAMEGENERATOR_H - -#include "clang/AST/Mangle.h" -#include "clang/Basic/LLVM.h" -#include <memory> -#include <string> -#include <vector> - -namespace clang { - class ASTContext; - class Decl; - -namespace index { - -class CodegenNameGenerator { -public: - explicit CodegenNameGenerator(ASTContext &Ctx); - ~CodegenNameGenerator(); - - /// \returns true on failure to produce a name for the given decl, false on - /// success. - bool writeName(const Decl *D, raw_ostream &OS); - - /// Version of \c writeName function that returns a string. - std::string getName(const Decl *D); - - /// This can return multiple mangled names when applicable, e.g. for C++ - /// constructors/destructors. - std::vector<std::string> getAllManglings(const Decl *D); - -private: - struct Implementation; - std::unique_ptr<ASTNameGenerator> Impl; -}; - -} // namespace index -} // namespace clang - -#endif // LLVM_CLANG_INDEX_CODEGENNAMEGENERATOR_H diff --git a/clang/lib/Index/CMakeLists.txt b/clang/lib/Index/CMakeLists.txt index 0551d434679..e4ea7ea1660 100644 --- a/clang/lib/Index/CMakeLists.txt +++ b/clang/lib/Index/CMakeLists.txt @@ -4,7 +4,6 @@ set(LLVM_LINK_COMPONENTS ) add_clang_library(clangIndex - CodegenNameGenerator.cpp CommentToXML.cpp FileIndexRecord.cpp IndexBody.cpp diff --git a/clang/lib/Index/CodegenNameGenerator.cpp b/clang/lib/Index/CodegenNameGenerator.cpp deleted file mode 100644 index 56d3d060348..00000000000 --- a/clang/lib/Index/CodegenNameGenerator.cpp +++ /dev/null @@ -1,36 +0,0 @@ -//===- CodegenNameGenerator.cpp - Codegen name generation -----------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// Determines the name that the symbol will get for code generation. -// -//===----------------------------------------------------------------------===// - -#include "clang/Index/CodegenNameGenerator.h" -#include "clang/AST/ASTContext.h" - -using namespace clang; -using namespace clang::index; - -CodegenNameGenerator::CodegenNameGenerator(ASTContext &Ctx) - : Impl(new ASTNameGenerator(Ctx)) { -} - -CodegenNameGenerator::~CodegenNameGenerator() { -} - -bool CodegenNameGenerator::writeName(const Decl *D, raw_ostream &OS) { - return Impl->writeName(D, OS); -} - -std::string CodegenNameGenerator::getName(const Decl *D) { - return Impl->getName(D); -} - -std::vector<std::string> CodegenNameGenerator::getAllManglings(const Decl *D) { - return Impl->getAllManglings(D); -} diff --git a/clang/tools/c-index-test/core_main.cpp b/clang/tools/c-index-test/core_main.cpp index f1edce0092c..faf8b668b4e 100644 --- a/clang/tools/c-index-test/core_main.cpp +++ b/clang/tools/c-index-test/core_main.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +#include "clang/AST/Mangle.h" #include "clang/Basic/LangOptions.h" #include "clang/CodeGen/ObjectFilePCHContainerOperations.h" #include "clang/Frontend/ASTUnit.h" @@ -15,7 +16,6 @@ #include "clang/Index/IndexingAction.h" #include "clang/Index/IndexDataConsumer.h" #include "clang/Index/USRGeneration.h" -#include "clang/Index/CodegenNameGenerator.h" #include "clang/Lex/Preprocessor.h" #include "clang/Serialization/ASTReader.h" #include "llvm/Support/CommandLine.h" @@ -79,7 +79,7 @@ namespace { class PrintIndexDataConsumer : public IndexDataConsumer { raw_ostream &OS; - std::unique_ptr<CodegenNameGenerator> CGNameGen; + std::unique_ptr<ASTNameGenerator> ASTNameGen; std::shared_ptr<Preprocessor> PP; public: @@ -87,7 +87,7 @@ public: } void initialize(ASTContext &Ctx) override { - CGNameGen.reset(new CodegenNameGenerator(Ctx)); + ASTNameGen.reset(new ASTNameGenerator(Ctx)); } void setPreprocessor(std::shared_ptr<Preprocessor> PP) override { @@ -112,7 +112,7 @@ public: printSymbolNameAndUSR(D, Ctx, OS); OS << " | "; - if (CGNameGen->writeName(D, OS)) + if (ASTNameGen->writeName(D, OS)) OS << "<no-cgname>"; OS << " | "; diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 61b60e2bf88..5ea2d5e4a8c 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -21,6 +21,7 @@ #include "CXType.h" #include "CursorVisitor.h" #include "clang/AST/Attr.h" +#include "clang/AST/Mangle.h" #include "clang/AST/StmtVisitor.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/DiagnosticCategories.h" @@ -30,7 +31,6 @@ #include "clang/Basic/Version.h" #include "clang/Frontend/ASTUnit.h" #include "clang/Frontend/CompilerInstance.h" -#include "clang/Index/CodegenNameGenerator.h" #include "clang/Index/CommentToXML.h" #include "clang/Lex/HeaderSearch.h" #include "clang/Lex/Lexer.h" @@ -4737,8 +4737,8 @@ CXString clang_Cursor_getMangling(CXCursor C) { return cxstring::createEmpty(); ASTContext &Ctx = D->getASTContext(); - index::CodegenNameGenerator CGNameGen(Ctx); - return cxstring::createDup(CGNameGen.getName(D)); + ASTNameGenerator ASTNameGen(Ctx); + return cxstring::createDup(ASTNameGen.getName(D)); } CXStringSet *clang_Cursor_getCXXManglings(CXCursor C) { @@ -4750,8 +4750,8 @@ CXStringSet *clang_Cursor_getCXXManglings(CXCursor C) { return nullptr; ASTContext &Ctx = D->getASTContext(); - index::CodegenNameGenerator CGNameGen(Ctx); - std::vector<std::string> Manglings = CGNameGen.getAllManglings(D); + ASTNameGenerator ASTNameGen(Ctx); + std::vector<std::string> Manglings = ASTNameGen.getAllManglings(D); return cxstring::createSet(Manglings); } @@ -4764,8 +4764,8 @@ CXStringSet *clang_Cursor_getObjCManglings(CXCursor C) { return nullptr; ASTContext &Ctx = D->getASTContext(); - index::CodegenNameGenerator CGNameGen(Ctx); - std::vector<std::string> Manglings = CGNameGen.getAllManglings(D); + ASTNameGenerator ASTNameGen(Ctx); + std::vector<std::string> Manglings = ASTNameGen.getAllManglings(D); return cxstring::createSet(Manglings); } |