@@ -66,44 +66,30 @@ using PrebuiltModuleFilesT = decltype(HeaderSearchOptions::PrebuiltModuleFiles);
66
66
class PrebuiltModuleListener : public ASTReaderListener {
67
67
public:
68
68
PrebuiltModuleListener (PrebuiltModuleFilesT &PrebuiltModuleFiles,
69
- llvm::StringSet<> &InputFiles, bool VisitInputFiles,
70
69
llvm::SmallVector<std::string> &NewModuleFiles)
71
- : PrebuiltModuleFiles(PrebuiltModuleFiles), InputFiles(InputFiles),
72
- VisitInputFiles (VisitInputFiles), NewModuleFiles(NewModuleFiles) {}
70
+ : PrebuiltModuleFiles(PrebuiltModuleFiles),
71
+ NewModuleFiles (NewModuleFiles) {}
73
72
74
73
bool needsImportVisitation () const override { return true ; }
75
- bool needsInputFileVisitation () override { return VisitInputFiles; }
76
- bool needsSystemInputFileVisitation () override { return VisitInputFiles; }
77
74
78
75
void visitImport (StringRef ModuleName, StringRef Filename) override {
79
76
if (PrebuiltModuleFiles.insert ({ModuleName.str (), Filename.str ()}).second )
80
77
NewModuleFiles.push_back (Filename.str ());
81
78
}
82
79
83
- bool visitInputFile (StringRef Filename, bool isSystem, bool isOverridden,
84
- bool isExplicitModule) override {
85
- InputFiles.insert (Filename);
86
- return true ;
87
- }
88
-
89
80
private:
90
81
PrebuiltModuleFilesT &PrebuiltModuleFiles;
91
- llvm::StringSet<> &InputFiles;
92
- bool VisitInputFiles;
93
82
llvm::SmallVector<std::string> &NewModuleFiles;
94
83
};
95
84
96
85
// / Visit the given prebuilt module and collect all of the modules it
97
86
// / transitively imports and contributing input files.
98
87
static void visitPrebuiltModule (StringRef PrebuiltModuleFilename,
99
88
CompilerInstance &CI,
100
- PrebuiltModuleFilesT &ModuleFiles,
101
- llvm::StringSet<> &InputFiles,
102
- bool VisitInputFiles) {
89
+ PrebuiltModuleFilesT &ModuleFiles) {
103
90
// List of module files to be processed.
104
91
llvm::SmallVector<std::string> Worklist{PrebuiltModuleFilename.str ()};
105
- PrebuiltModuleListener Listener (ModuleFiles, InputFiles, VisitInputFiles,
106
- Worklist);
92
+ PrebuiltModuleListener Listener (ModuleFiles, Worklist);
107
93
108
94
while (!Worklist.empty ())
109
95
ASTReader::readASTFileControlBlock (
@@ -204,15 +190,13 @@ class DependencyScanningAction : public tooling::ToolAction {
204
190
205
191
ScanInstance.createSourceManager (*FileMgr);
206
192
207
- llvm::StringSet<> PrebuiltModulesInputFiles;
208
193
// Store the list of prebuilt module files into header search options. This
209
194
// will prevent the implicit build to create duplicate modules and will
210
195
// force reuse of the existing prebuilt module files instead.
211
196
if (!ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude .empty ())
212
197
visitPrebuiltModule (
213
198
ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude , ScanInstance,
214
- ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles ,
215
- PrebuiltModulesInputFiles, /* VisitInputFiles=*/ DepFS != nullptr );
199
+ ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles );
216
200
217
201
// Use the dependency scanning optimized file system if requested to do so.
218
202
if (DepFS) {
0 commit comments