aboutsummaryrefslogtreecommitdiff
path: root/clang/include/clang/Lex/ModuleMap.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/include/clang/Lex/ModuleMap.h')
-rw-r--r--clang/include/clang/Lex/ModuleMap.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/clang/include/clang/Lex/ModuleMap.h b/clang/include/clang/Lex/ModuleMap.h
index 6827408f10a3..41f85a1f572d 100644
--- a/clang/include/clang/Lex/ModuleMap.h
+++ b/clang/include/clang/Lex/ModuleMap.h
@@ -14,7 +14,6 @@
#ifndef LLVM_CLANG_LEX_MODULEMAP_H
#define LLVM_CLANG_LEX_MODULEMAP_H
-#include "clang/Basic/FileEntry.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/Module.h"
@@ -38,6 +37,7 @@ namespace clang {
class DiagnosticsEngine;
class DirectoryEntry;
+class FileEntry;
class FileManager;
class HeaderSearch;
class SourceManager;
@@ -648,13 +648,15 @@ public:
/// Sets the umbrella header of the given module to the given
/// header.
- void setUmbrellaHeader(Module *Mod, FileEntryRef UmbrellaHeader,
- Twine NameAsWritten);
+ void setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader,
+ const Twine &NameAsWritten,
+ const Twine &PathRelativeToRootModuleDirectory);
/// Sets the umbrella directory of the given module to the given
/// directory.
- void setUmbrellaDir(Module *Mod, DirectoryEntryRef UmbrellaDir,
- Twine NameAsWritten);
+ void setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir,
+ const Twine &NameAsWritten,
+ const Twine &PathRelativeToRootModuleDirectory);
/// Adds this header to the given module.
/// \param Role The role of the header wrt the module.
@@ -696,6 +698,9 @@ public:
module_iterator module_begin() const { return Modules.begin(); }
module_iterator module_end() const { return Modules.end(); }
+ llvm::iterator_range<module_iterator> modules() const {
+ return {module_begin(), module_end()};
+ }
/// Cache a module load. M might be nullptr.
void cacheModuleLoad(const IdentifierInfo &II, Module *M) {