From e441264019180f9a6a58d732b09cfc96207b42aa Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Tue, 19 Feb 2013 19:58:45 +0000 Subject: [PATCH] [modules] Const'ify some functions of ModuleMap. llvm-svn: 175552 --- clang/include/clang/Lex/ModuleMap.h | 14 +++++++------- clang/lib/Lex/ModuleMap.cpp | 25 +++++++++++++------------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/clang/include/clang/Lex/ModuleMap.h b/clang/include/clang/Lex/ModuleMap.h index 388c7b3..bb53ff2 100644 --- a/clang/include/clang/Lex/ModuleMap.h +++ b/clang/include/clang/Lex/ModuleMap.h @@ -131,7 +131,7 @@ class ModuleMap { /// if the export could not be resolved. Module::ExportDecl resolveExport(Module *Mod, const Module::UnresolvedExportDecl &Unresolved, - bool Complain); + bool Complain) const; public: /// \brief Construct a new module map. @@ -172,14 +172,14 @@ public: /// \brief Determine whether the given header is part of a module /// marked 'unavailable'. - bool isHeaderInUnavailableModule(const FileEntry *Header); + bool isHeaderInUnavailableModule(const FileEntry *Header) const; /// \brief Retrieve a module with the given name. /// /// \param Name The name of the module to look up. /// /// \returns The named module, if known; otherwise, returns null. - Module *findModule(StringRef Name); + Module *findModule(StringRef Name) const; /// \brief Retrieve a module with the given name using lexical name lookup, /// starting at the given context. @@ -190,7 +190,7 @@ public: /// name lookup. /// /// \returns The named module, if known; otherwise, returns null. - Module *lookupModuleUnqualified(StringRef Name, Module *Context); + Module *lookupModuleUnqualified(StringRef Name, Module *Context) const; /// \brief Retrieve a module with the given name within the given context, /// using direct (qualified) name lookup. @@ -201,7 +201,7 @@ public: /// null, we will look for a top-level module. /// /// \returns The named submodule, if known; otherwose, returns null. - Module *lookupModuleQualified(StringRef Name, Module *Context); + Module *lookupModuleQualified(StringRef Name, Module *Context) const; /// \brief Find a new module or submodule, or create it if it does not already /// exist. @@ -235,7 +235,7 @@ public: /// \returns true if we are allowed to infer a framework module, and false /// otherwise. bool canInferFrameworkModule(const DirectoryEntry *ParentDir, - StringRef Name, bool &IsSystem); + StringRef Name, bool &IsSystem) const; /// \brief Infer the contents of a framework module map from the given /// framework directory. @@ -250,7 +250,7 @@ public: /// /// \returns The file entry for the module map file containing the given /// module, or NULL if the module definition was inferred. - const FileEntry *getContainingModuleMapFile(Module *Module); + const FileEntry *getContainingModuleMapFile(Module *Module) const; /// \brief Resolve all of the unresolved exports in the given module. /// diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index 1ceed54..81cb94d 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -37,7 +37,7 @@ using namespace clang; Module::ExportDecl ModuleMap::resolveExport(Module *Mod, const Module::UnresolvedExportDecl &Unresolved, - bool Complain) { + bool Complain) const { // We may have just a wildcard. if (Unresolved.Id.empty()) { assert(Unresolved.Wildcard && "Invalid unresolved export"); @@ -239,8 +239,8 @@ Module *ModuleMap::findModuleForHeader(const FileEntry *File) { return 0; } -bool ModuleMap::isHeaderInUnavailableModule(const FileEntry *Header) { - HeadersMap::iterator Known = Headers.find(Header); +bool ModuleMap::isHeaderInUnavailableModule(const FileEntry *Header) const { + HeadersMap::const_iterator Known = Headers.find(Header); if (Known != Headers.end()) return !Known->second.isAvailable(); @@ -251,7 +251,7 @@ bool ModuleMap::isHeaderInUnavailableModule(const FileEntry *Header) { // Keep walking up the directory hierarchy, looking for a directory with // an umbrella header. do { - llvm::DenseMap::iterator KnownDir + llvm::DenseMap::const_iterator KnownDir = UmbrellaDirs.find(Dir); if (KnownDir != UmbrellaDirs.end()) { Module *Found = KnownDir->second; @@ -305,15 +305,16 @@ bool ModuleMap::isHeaderInUnavailableModule(const FileEntry *Header) { return false; } -Module *ModuleMap::findModule(StringRef Name) { - llvm::StringMap::iterator Known = Modules.find(Name); +Module *ModuleMap::findModule(StringRef Name) const { + llvm::StringMap::const_iterator Known = Modules.find(Name); if (Known != Modules.end()) return Known->getValue(); return 0; } -Module *ModuleMap::lookupModuleUnqualified(StringRef Name, Module *Context) { +Module *ModuleMap::lookupModuleUnqualified(StringRef Name, + Module *Context) const { for(; Context; Context = Context->Parent) { if (Module *Sub = lookupModuleQualified(Name, Context)) return Sub; @@ -322,7 +323,7 @@ Module *ModuleMap::lookupModuleUnqualified(StringRef Name, Module *Context) { return findModule(Name); } -Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) { +Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{ if (!Context) return findModule(Name); @@ -345,10 +346,10 @@ ModuleMap::findOrCreateModule(StringRef Name, Module *Parent, bool IsFramework, } bool ModuleMap::canInferFrameworkModule(const DirectoryEntry *ParentDir, - StringRef Name, bool &IsSystem) { + StringRef Name, bool &IsSystem) const { // Check whether we have already looked into the parent directory // for a module map. - llvm::DenseMap::iterator + llvm::DenseMap::const_iterator inferred = InferredDirectories.find(ParentDir); if (inferred == InferredDirectories.end()) return false; @@ -415,7 +416,7 @@ ModuleMap::inferFrameworkModule(StringRef ModuleName, if (const DirectoryEntry *ParentDir = FileMgr.getDirectory(Parent)) { // Check whether we have already looked into the parent directory // for a module map. - llvm::DenseMap::iterator + llvm::DenseMap::const_iterator inferred = InferredDirectories.find(ParentDir); if (inferred == InferredDirectories.end()) { // We haven't looked here before. Load a module map, if there is @@ -560,7 +561,7 @@ void ModuleMap::addHeader(Module *Mod, const FileEntry *Header, } const FileEntry * -ModuleMap::getContainingModuleMapFile(Module *Module) { +ModuleMap::getContainingModuleMapFile(Module *Module) const { if (Module->DefinitionLoc.isInvalid() || !SourceMgr) return 0; -- 2.7.4