@@ -323,7 +323,7 @@ class OutputLookup {
323
323
public:
324
324
OutputLookup (void *MLOContext, CXModuleLookupOutputCallback *MLO)
325
325
: MLOContext(MLOContext), MLO(MLO) {}
326
- std::string lookupModuleOutput (const ModuleID &ID , ModuleOutputKind MOK);
326
+ std::string lookupModuleOutput (const ModuleDeps &MD , ModuleOutputKind MOK);
327
327
328
328
private:
329
329
llvm::DenseMap<ModuleID, std::string> PCMPaths;
@@ -339,8 +339,8 @@ clang_experimental_DependencyScannerWorker_getFileDependencies_v3(
339
339
CXModuleDiscoveredCallback *MDC, void *MLOContext,
340
340
CXModuleLookupOutputCallback *MLO, unsigned , CXString *Error) {
341
341
OutputLookup OL (MLOContext, MLO);
342
- auto LookupOutputs = [&](const ModuleID &ID , ModuleOutputKind MOK) {
343
- return OL.lookupModuleOutput (ID , MOK);
342
+ auto LookupOutputs = [&](const ModuleDeps &MD , ModuleOutputKind MOK) {
343
+ return OL.lookupModuleOutput (MD , MOK);
344
344
};
345
345
CXFileDependencies *FDeps = nullptr ;
346
346
CXErrorCode Result = getFileDependencies (
@@ -370,8 +370,8 @@ CXErrorCode clang_experimental_DependencyScannerWorker_getFileDependencies_v4(
370
370
CXModuleLookupOutputCallback *MLO, unsigned , CXFileDependenciesList **Out,
371
371
CXString *Error) {
372
372
OutputLookup OL (MLOContext, MLO);
373
- auto LookupOutputs = [&](const ModuleID &ID , ModuleOutputKind MOK) {
374
- return OL.lookupModuleOutput (ID , MOK);
373
+ auto LookupOutputs = [&](const ModuleDeps &MD , ModuleOutputKind MOK) {
374
+ return OL.lookupModuleOutput (MD , MOK);
375
375
};
376
376
377
377
if (!Out)
@@ -515,8 +515,8 @@ enum CXErrorCode clang_experimental_DependencyScannerWorker_getDepGraph(
515
515
CXModuleLookupOutputCallback *MLO = Settings.MLO ;
516
516
517
517
OutputLookup OL (MLOContext, MLO);
518
- auto LookupOutputs = [&](const ModuleID &ID , ModuleOutputKind MOK) {
519
- return OL.lookupModuleOutput (ID , MOK);
518
+ auto LookupOutputs = [&](const ModuleDeps &MD , ModuleOutputKind MOK) {
519
+ return OL.lookupModuleOutput (MD , MOK);
520
520
};
521
521
522
522
if (!Out)
@@ -695,27 +695,28 @@ CXDiagnosticSet clang_experimental_DepGraph_getDiagnostics(CXDepGraph Graph) {
695
695
return unwrap (Graph)->getDiagnosticSet ();
696
696
}
697
697
698
- static std::string lookupModuleOutput (const ModuleID &ID, ModuleOutputKind MOK ,
699
- void *MLOContext,
698
+ static std::string lookupModuleOutput (const ModuleDeps &MD ,
699
+ ModuleOutputKind MOK, void *MLOContext,
700
700
CXModuleLookupOutputCallback *MLO) {
701
701
SmallVector<char , 256 > Buffer (256 );
702
- size_t Len = MLO (MLOContext, ID.ModuleName .c_str (), ID.ContextHash .c_str (),
703
- wrap (MOK), Buffer.data (), Buffer.size ());
702
+ size_t Len =
703
+ MLO (MLOContext, MD.ID .ModuleName .c_str (), MD.ID .ContextHash .c_str (),
704
+ wrap (MOK), Buffer.data (), Buffer.size ());
704
705
if (Len > Buffer.size ()) {
705
706
Buffer.resize (Len);
706
- Len = MLO (MLOContext, ID.ModuleName .c_str (), ID.ContextHash .c_str (),
707
+ Len = MLO (MLOContext, MD. ID .ModuleName .c_str (), MD. ID .ContextHash .c_str (),
707
708
wrap (MOK), Buffer.data (), Buffer.size ());
708
709
}
709
710
return std::string (Buffer.begin (), Len);
710
711
}
711
712
712
- std::string OutputLookup::lookupModuleOutput (const ModuleID &ID ,
713
+ std::string OutputLookup::lookupModuleOutput (const ModuleDeps &MD ,
713
714
ModuleOutputKind MOK) {
714
715
if (MOK != ModuleOutputKind::ModuleFile)
715
- return ::lookupModuleOutput (ID , MOK, MLOContext, MLO);
716
+ return ::lookupModuleOutput (MD , MOK, MLOContext, MLO);
716
717
// PCM paths are looked up repeatedly, so cache them.
717
- auto PCMPath = PCMPaths.insert ({ID, " " });
718
+ auto PCMPath = PCMPaths.insert ({MD. ID , " " });
718
719
if (PCMPath.second )
719
- PCMPath.first ->second = ::lookupModuleOutput (ID , MOK, MLOContext, MLO);
720
+ PCMPath.first ->second = ::lookupModuleOutput (MD , MOK, MLOContext, MLO);
720
721
return PCMPath.first ->second ;
721
722
}
0 commit comments