Author: ioeric Date: Fri May 20 04:12:01 2016 New Revision: 270193 URL: http://llvm.org/viewvc/llvm-project?rev=270193&view=rev Log: [find-all-symbols] make HeaderMapCollector optional in FindAllSymbols and FindAllMacros.
Modified: clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.cpp clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.h clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.cpp clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.h clang-tools-extra/trunk/include-fixer/find-all-symbols/HeaderMapCollector.h clang-tools-extra/trunk/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp Modified: clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.cpp?rev=270193&r1=270192&r2=270193&view=diff ============================================================================== --- clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.cpp (original) +++ clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.cpp Fri May 20 04:12:01 2016 @@ -27,11 +27,13 @@ void FindAllMacros::MacroDefined(const T if (FilePath.empty()) return; - // Check pragma remapping header. - auto HeaderMappingTable = Collector->getHeaderMappingTable(); - auto Iter = HeaderMappingTable.find(FilePath); - if (Iter != HeaderMappingTable.end()) - FilePath = Iter->second; + // If Collector is not nullptr, check pragma remapping header. + if (Collector) { + auto HeaderMappingTable = Collector->getHeaderMappingTable(); + auto Iter = HeaderMappingTable.find(FilePath); + if (Iter != HeaderMappingTable.end()) + FilePath = Iter->second; + } SymbolInfo Symbol(MacroNameTok.getIdentifierInfo()->getName(), SymbolInfo::SymbolKind::Macro, FilePath.str(), Modified: clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.h URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.h?rev=270193&r1=270192&r2=270193&view=diff ============================================================================== --- clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.h (original) +++ clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllMacros.h Fri May 20 04:12:01 2016 @@ -25,9 +25,9 @@ class HeaderMapCollector; /// preprocessing period. class FindAllMacros : public clang::PPCallbacks { public: - explicit FindAllMacros(SymbolReporter *Reporter, - HeaderMapCollector *Collector, SourceManager *SM) - : Reporter(Reporter), Collector(Collector), SM(SM) {} + explicit FindAllMacros(SymbolReporter *Reporter, SourceManager *SM, + HeaderMapCollector *Collector = nullptr) + : Reporter(Reporter), SM(SM), Collector(Collector) {} void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) override; @@ -35,11 +35,10 @@ public: private: // Reporter for SymbolInfo. SymbolReporter *const Reporter; + SourceManager *const SM; // A remapping header file collector allowing clients to include a different // header. HeaderMapCollector *const Collector; - - SourceManager *const SM; }; } // namespace find_all_symbols Modified: clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.cpp?rev=270193&r1=270192&r2=270193&view=diff ============================================================================== --- clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.cpp (original) +++ clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.cpp Fri May 20 04:12:01 2016 @@ -59,7 +59,7 @@ std::vector<SymbolInfo::Context> GetCont llvm::Optional<SymbolInfo> CreateSymbolInfo(const NamedDecl *ND, const SourceManager &SM, - const HeaderMapCollector::HeaderMap &HeaderMappingTable) { + const HeaderMapCollector *Collector) { SymbolInfo::SymbolKind Type; if (llvm::isa<VarDecl>(ND)) { Type = SymbolInfo::SymbolKind::Variable; @@ -96,10 +96,12 @@ CreateSymbolInfo(const NamedDecl *ND, co if (FilePath.empty()) return llvm::None; - // Check pragma remapping header. - auto Iter = HeaderMappingTable.find(FilePath); - if (Iter != HeaderMappingTable.end()) - FilePath = Iter->second; + // If Collector is not nullptr, check pragma remapping header. + if (Collector) { + auto Iter = Collector->getHeaderMappingTable().find(FilePath); + if (Iter != Collector->getHeaderMappingTable().end()) + FilePath = Iter->second; + } return SymbolInfo(ND->getNameAsString(), Type, FilePath.str(), SM.getExpansionLineNumber(Loc), GetContexts(ND)); @@ -215,7 +217,7 @@ void FindAllSymbols::run(const MatchFind const SourceManager *SM = Result.SourceManager; llvm::Optional<SymbolInfo> Symbol = - CreateSymbolInfo(ND, *SM, Collector->getHeaderMappingTable()); + CreateSymbolInfo(ND, *SM, Collector); if (Symbol) Reporter->reportSymbol( SM->getFileEntryForID(SM->getMainFileID())->getName(), *Symbol); Modified: clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.h URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.h?rev=270193&r1=270192&r2=270193&view=diff ============================================================================== --- clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.h (original) +++ clang-tools-extra/trunk/include-fixer/find-all-symbols/FindAllSymbols.h Fri May 20 04:12:01 2016 @@ -35,7 +35,7 @@ class HeaderMapCollector; class FindAllSymbols : public clang::ast_matchers::MatchFinder::MatchCallback { public: explicit FindAllSymbols(SymbolReporter *Reporter, - HeaderMapCollector *Collector) + HeaderMapCollector *Collector = nullptr) : Reporter(Reporter), Collector(Collector) {} void registerMatchers(clang::ast_matchers::MatchFinder *MatchFinder); Modified: clang-tools-extra/trunk/include-fixer/find-all-symbols/HeaderMapCollector.h URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/include-fixer/find-all-symbols/HeaderMapCollector.h?rev=270193&r1=270192&r2=270193&view=diff ============================================================================== --- clang-tools-extra/trunk/include-fixer/find-all-symbols/HeaderMapCollector.h (original) +++ clang-tools-extra/trunk/include-fixer/find-all-symbols/HeaderMapCollector.h Fri May 20 04:12:01 2016 @@ -25,7 +25,7 @@ public: llvm::StringRef MappingHeaderPath) { HeaderMappingTable[OrignalHeaderPath] = MappingHeaderPath; }; - const HeaderMap &getHeaderMappingTable() { return HeaderMappingTable; }; + const HeaderMap &getHeaderMappingTable() const { return HeaderMappingTable; }; private: /// A string-to-string map saving the mapping relationship. Modified: clang-tools-extra/trunk/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp?rev=270193&r1=270192&r2=270193&view=diff ============================================================================== --- clang-tools-extra/trunk/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp (original) +++ clang-tools-extra/trunk/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp Fri May 20 04:12:01 2016 @@ -67,7 +67,7 @@ public: StringRef InFile) override { Compiler.getPreprocessor().addCommentHandler(&Handler); Compiler.getPreprocessor().addPPCallbacks(llvm::make_unique<FindAllMacros>( - Reporter, &Collector, &Compiler.getSourceManager())); + Reporter, &Compiler.getSourceManager(), &Collector)); return MatchFinder.newASTConsumer(); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits