@@ -78,27 +78,18 @@ class PrebuiltModuleListener : public ASTReaderListener {
78
78
public:
79
79
PrebuiltModuleListener (CompilerInstance &CI,
80
80
PrebuiltModuleFilesT &PrebuiltModuleFiles,
81
- llvm::StringSet<> &InputFiles, bool VisitInputFiles,
82
81
llvm::SmallVector<std::string> &NewModuleFiles)
83
82
: CI(CI), PrebuiltModuleFiles(PrebuiltModuleFiles),
84
- InputFiles (InputFiles), VisitInputFiles(VisitInputFiles),
83
+
85
84
NewModuleFiles (NewModuleFiles) {}
86
85
87
86
bool needsImportVisitation () const override { return true ; }
88
- bool needsInputFileVisitation () override { return VisitInputFiles; }
89
- bool needsSystemInputFileVisitation () override { return VisitInputFiles; }
90
87
91
88
void visitImport (StringRef ModuleName, StringRef Filename) override {
92
89
if (PrebuiltModuleFiles.insert ({ModuleName.str (), Filename.str ()}).second )
93
90
NewModuleFiles.push_back (Filename.str ());
94
91
}
95
92
96
- bool visitInputFile (StringRef Filename, bool isSystem, bool isOverridden,
97
- bool isExplicitModule) override {
98
- InputFiles.insert (Filename);
99
- return true ;
100
- }
101
-
102
93
bool readModuleCacheKey (StringRef ModuleName, StringRef Filename,
103
94
StringRef CacheKey) override {
104
95
CI.getFrontendOpts ().ModuleCacheKeys .emplace_back (std::string (Filename),
@@ -110,22 +101,17 @@ class PrebuiltModuleListener : public ASTReaderListener {
110
101
private:
111
102
CompilerInstance &CI;
112
103
PrebuiltModuleFilesT &PrebuiltModuleFiles;
113
- llvm::StringSet<> &InputFiles;
114
- bool VisitInputFiles;
115
104
llvm::SmallVector<std::string> &NewModuleFiles;
116
105
};
117
106
118
107
// / Visit the given prebuilt module and collect all of the modules it
119
108
// / transitively imports and contributing input files.
120
109
static void visitPrebuiltModule (StringRef PrebuiltModuleFilename,
121
110
CompilerInstance &CI,
122
- PrebuiltModuleFilesT &ModuleFiles,
123
- llvm::StringSet<> &InputFiles,
124
- bool VisitInputFiles) {
111
+ PrebuiltModuleFilesT &ModuleFiles) {
125
112
// List of module files to be processed.
126
113
llvm::SmallVector<std::string> Worklist{PrebuiltModuleFilename.str ()};
127
- PrebuiltModuleListener Listener (CI, ModuleFiles, InputFiles, VisitInputFiles,
128
- Worklist);
114
+ PrebuiltModuleListener Listener (CI, ModuleFiles, Worklist);
129
115
130
116
while (!Worklist.empty ())
131
117
ASTReader::readASTFileControlBlock (
@@ -338,16 +324,13 @@ class DependencyScanningAction : public tooling::ToolAction {
338
324
339
325
ScanInstance.createSourceManager (*FileMgr);
340
326
341
- llvm::StringSet<> PrebuiltModulesInputFiles;
342
327
// Store the list of prebuilt module files into header search options. This
343
328
// will prevent the implicit build to create duplicate modules and will
344
329
// force reuse of the existing prebuilt module files instead.
345
330
if (!ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude .empty ())
346
331
visitPrebuiltModule (
347
332
ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude , ScanInstance,
348
- ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles ,
349
- PrebuiltModulesInputFiles,
350
- /* VisitInputFiles=*/ getDepScanFS () != nullptr );
333
+ ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles );
351
334
352
335
// Use the dependency scanning optimized file system if requested to do so.
353
336
if (DepFS) {
0 commit comments