@@ -850,74 +850,79 @@ void ModuleDependenciesCache::removeDependency(ModuleDependencyID moduleID) {
850
850
map.erase (moduleID.ModuleName );
851
851
}
852
852
853
- void
854
- ModuleDependenciesCache::setImportedSwiftDependencies ( ModuleDependencyID moduleID,
855
- const ArrayRef<ModuleDependencyID> dependencyIDs) {
853
+ void ModuleDependenciesCache::setImportedSwiftDependencies (
854
+ ModuleDependencyID moduleID,
855
+ const ArrayRef<ModuleDependencyID> dependencyIDs) {
856
856
auto dependencyInfo = findKnownDependency (moduleID);
857
857
assert (dependencyInfo.getImportedSwiftDependencies ().empty ());
858
858
#ifndef NDEBUG
859
859
for (const auto &depID : dependencyIDs)
860
860
assert (depID.Kind != ModuleDependencyKind::Clang);
861
861
#endif
862
- // Copy the existing info to a mutable one we can then replace it with, after setting its overlay dependencies.
862
+ // Copy the existing info to a mutable one we can then replace it with, after
863
+ // setting its overlay dependencies.
863
864
auto updatedDependencyInfo = dependencyInfo;
864
865
updatedDependencyInfo.setImportedSwiftDependencies (dependencyIDs);
865
866
updateDependency (moduleID, updatedDependencyInfo);
866
867
}
867
- void
868
- ModuleDependenciesCache::setImportedClangDependencies ( ModuleDependencyID moduleID,
869
- const ArrayRef<ModuleDependencyID> dependencyIDs) {
868
+ void ModuleDependenciesCache::setImportedClangDependencies (
869
+ ModuleDependencyID moduleID,
870
+ const ArrayRef<ModuleDependencyID> dependencyIDs) {
870
871
auto dependencyInfo = findKnownDependency (moduleID);
871
872
assert (dependencyInfo.getImportedClangDependencies ().empty ());
872
873
#ifndef NDEBUG
873
874
for (const auto &depID : dependencyIDs)
874
875
assert (depID.Kind == ModuleDependencyKind::Clang);
875
876
#endif
876
- // Copy the existing info to a mutable one we can then replace it with, after setting its overlay dependencies.
877
+ // Copy the existing info to a mutable one we can then replace it with, after
878
+ // setting its overlay dependencies.
877
879
auto updatedDependencyInfo = dependencyInfo;
878
880
updatedDependencyInfo.setImportedClangDependencies (dependencyIDs);
879
881
updateDependency (moduleID, updatedDependencyInfo);
880
882
}
881
- void
882
- ModuleDependenciesCache::setHeaderClangDependencies ( ModuleDependencyID moduleID,
883
- const ArrayRef<ModuleDependencyID> dependencyIDs) {
883
+ void ModuleDependenciesCache::setHeaderClangDependencies (
884
+ ModuleDependencyID moduleID,
885
+ const ArrayRef<ModuleDependencyID> dependencyIDs) {
884
886
auto dependencyInfo = findKnownDependency (moduleID);
885
887
#ifndef NDEBUG
886
888
for (const auto &depID : dependencyIDs)
887
889
assert (depID.Kind == ModuleDependencyKind::Clang);
888
890
#endif
889
- // Copy the existing info to a mutable one we can then replace it with, after setting its overlay dependencies.
891
+ // Copy the existing info to a mutable one we can then replace it with, after
892
+ // setting its overlay dependencies.
890
893
auto updatedDependencyInfo = dependencyInfo;
891
894
updatedDependencyInfo.setHeaderClangDependencies (dependencyIDs);
892
895
updateDependency (moduleID, updatedDependencyInfo);
893
896
}
894
- void ModuleDependenciesCache::setSwiftOverlayDependencies (ModuleDependencyID moduleID,
895
- const ArrayRef<ModuleDependencyID> dependencyIDs) {
897
+ void ModuleDependenciesCache::setSwiftOverlayDependencies (
898
+ ModuleDependencyID moduleID,
899
+ const ArrayRef<ModuleDependencyID> dependencyIDs) {
896
900
auto dependencyInfo = findKnownDependency (moduleID);
897
901
assert (dependencyInfo.getSwiftOverlayDependencies ().empty ());
898
902
#ifndef NDEBUG
899
903
for (const auto &depID : dependencyIDs)
900
904
assert (depID.Kind != ModuleDependencyKind::Clang);
901
905
#endif
902
- // Copy the existing info to a mutable one we can then replace it with, after setting its overlay dependencies.
906
+ // Copy the existing info to a mutable one we can then replace it with, after
907
+ // setting its overlay dependencies.
903
908
auto updatedDependencyInfo = dependencyInfo;
904
909
updatedDependencyInfo.setSwiftOverlayDependencies (dependencyIDs);
905
910
updateDependency (moduleID, updatedDependencyInfo);
906
911
}
907
- void
908
- ModuleDependenciesCache::setCrossImportOverlayDependencies (ModuleDependencyID moduleID,
909
- const ArrayRef<ModuleDependencyID> dependencyIDs) {
910
- auto dependencyInfo = findKnownDependency (moduleID);
911
- assert (dependencyInfo.getCrossImportOverlayDependencies ().empty ());
912
- // Copy the existing info to a mutable one we can then replace it with, after setting its overlay dependencies.
913
- auto updatedDependencyInfo = dependencyInfo;
914
- updatedDependencyInfo.setCrossImportOverlayDependencies (dependencyIDs);
915
- updateDependency (moduleID, updatedDependencyInfo);
912
+
913
+ ModuleDependencyIDCollectionView ModuleDependenciesCache::getAllDependencies (
914
+ const ModuleDependencyID &moduleID) const {
915
+ const auto &moduleInfo = findKnownDependency (moduleID);
916
+ return ModuleDependencyIDCollectionView (
917
+ moduleInfo.getImportedSwiftDependencies (),
918
+ moduleInfo.getImportedClangDependencies (),
919
+ moduleInfo.getHeaderClangDependencies (),
920
+ moduleInfo.getSwiftOverlayDependencies (),
921
+ moduleInfo.getCrossImportOverlayDependencies ());
916
922
}
917
923
918
- void
919
- ModuleDependenciesCache::addVisibleClangModules (ModuleDependencyID moduleID,
920
- const std::vector<std::string> &moduleNames) {
924
+ void ModuleDependenciesCache::addVisibleClangModules (
925
+ ModuleDependencyID moduleID, const std::vector<std::string> &moduleNames) {
921
926
if (moduleNames.empty ())
922
927
return ;
923
928
auto dependencyInfo = findKnownDependency (moduleID);
@@ -926,88 +931,67 @@ ModuleDependenciesCache::addVisibleClangModules(ModuleDependencyID moduleID,
926
931
updateDependency (moduleID, updatedDependencyInfo);
927
932
}
928
933
929
- llvm::StringSet<> &ModuleDependenciesCache::getVisibleClangModules (ModuleDependencyID moduleID) const {
934
+ llvm::StringSet<> &ModuleDependenciesCache::getVisibleClangModules (
935
+ ModuleDependencyID moduleID) const {
930
936
ASSERT (moduleID.Kind == ModuleDependencyKind::SwiftSource ||
931
937
moduleID.Kind == ModuleDependencyKind::SwiftInterface ||
932
938
moduleID.Kind == ModuleDependencyKind::SwiftBinary);
933
939
return findKnownDependency (moduleID).getVisibleClangModules ();
934
940
}
935
941
936
- ModuleDependencyIDSetVector
937
- ModuleDependenciesCache::getAllDependencies (const ModuleDependencyID &moduleID) const {
942
+ ModuleDependencyIDCollectionView
943
+ ModuleDependenciesCache::getDirectImportedDependencies (
944
+ const ModuleDependencyID &moduleID) const {
938
945
const auto &moduleInfo = findKnownDependency (moduleID);
939
- ModuleDependencyIDSetVector result;
940
- if (moduleInfo.isSwiftModule ()) {
941
- auto swiftImportedDepsRef = moduleInfo.getImportedSwiftDependencies ();
942
- auto headerClangDepsRef = moduleInfo.getHeaderClangDependencies ();
943
- auto overlayDependenciesRef = moduleInfo.getSwiftOverlayDependencies ();
944
- result.insert (swiftImportedDepsRef.begin (),
945
- swiftImportedDepsRef.end ());
946
- result.insert (headerClangDepsRef.begin (),
947
- headerClangDepsRef.end ());
948
- result.insert (overlayDependenciesRef.begin (),
949
- overlayDependenciesRef.end ());
950
- }
951
-
952
- if (moduleInfo.isSwiftSourceModule ()) {
953
- auto crossImportOverlayDepsRef = moduleInfo.getCrossImportOverlayDependencies ();
954
- result.insert (crossImportOverlayDepsRef.begin (),
955
- crossImportOverlayDepsRef.end ());
956
- }
957
-
958
- auto clangImportedDepsRef = moduleInfo.getImportedClangDependencies ();
959
- result.insert (clangImportedDepsRef.begin (),
960
- clangImportedDepsRef.end ());
961
-
962
- return result;
946
+ return ModuleDependencyIDCollectionView (
947
+ moduleInfo.getImportedSwiftDependencies (),
948
+ moduleInfo.getImportedClangDependencies ());
963
949
}
964
950
965
- ModuleDependencyIDSetVector
966
- ModuleDependenciesCache::getClangDependencies (const ModuleDependencyID &moduleID) const {
951
+ ModuleDependencyIDCollectionView
952
+ ModuleDependenciesCache::getAllClangDependencies (
953
+ const ModuleDependencyID &moduleID) const {
967
954
const auto &moduleInfo = findKnownDependency (moduleID);
968
- ModuleDependencyIDSetVector result;
969
- auto clangImportedDepsRef = moduleInfo.getImportedClangDependencies ();
970
- result.insert (clangImportedDepsRef.begin (),
971
- clangImportedDepsRef.end ());
972
- if (moduleInfo.isSwiftSourceModule () || moduleInfo.isSwiftBinaryModule ()) {
973
- auto headerClangDepsRef = moduleInfo.getHeaderClangDependencies ();
974
- result.insert (headerClangDepsRef.begin (),
975
- headerClangDepsRef.end ());
976
- }
977
- return result;
955
+ return ModuleDependencyIDCollectionView (
956
+ moduleInfo.getImportedClangDependencies (),
957
+ moduleInfo.getHeaderClangDependencies ());
978
958
}
979
959
980
960
llvm::ArrayRef<ModuleDependencyID>
981
- ModuleDependenciesCache::getImportedSwiftDependencies (const ModuleDependencyID &moduleID) const {
961
+ ModuleDependenciesCache::getImportedSwiftDependencies (
962
+ const ModuleDependencyID &moduleID) const {
982
963
const auto &moduleInfo = findKnownDependency (moduleID);
983
964
assert (moduleInfo.isSwiftModule ());
984
965
return moduleInfo.getImportedSwiftDependencies ();
985
966
}
986
967
987
968
llvm::ArrayRef<ModuleDependencyID>
988
- ModuleDependenciesCache::getImportedClangDependencies (const ModuleDependencyID &moduleID) const {
969
+ ModuleDependenciesCache::getImportedClangDependencies (
970
+ const ModuleDependencyID &moduleID) const {
989
971
const auto &moduleInfo = findKnownDependency (moduleID);
990
972
return moduleInfo.getImportedClangDependencies ();
991
973
}
992
974
993
975
llvm::ArrayRef<ModuleDependencyID>
994
- ModuleDependenciesCache::getHeaderClangDependencies (const ModuleDependencyID &moduleID) const {
976
+ ModuleDependenciesCache::getHeaderClangDependencies (
977
+ const ModuleDependencyID &moduleID) const {
995
978
const auto &moduleInfo = findKnownDependency (moduleID);
996
979
assert (moduleInfo.isSwiftModule ());
997
980
return moduleInfo.getHeaderClangDependencies ();
998
981
}
999
982
1000
983
llvm::ArrayRef<ModuleDependencyID>
1001
- ModuleDependenciesCache::getSwiftOverlayDependencies (const ModuleDependencyID &moduleID) const {
984
+ ModuleDependenciesCache::getSwiftOverlayDependencies (
985
+ const ModuleDependencyID &moduleID) const {
1002
986
const auto &moduleInfo = findKnownDependency (moduleID);
1003
987
assert (moduleInfo.isSwiftModule ());
1004
988
return moduleInfo.getSwiftOverlayDependencies ();
1005
989
}
1006
990
1007
991
llvm::ArrayRef<ModuleDependencyID>
1008
- ModuleDependenciesCache::getCrossImportOverlayDependencies (const ModuleDependencyID &moduleID) const {
992
+ ModuleDependenciesCache::getCrossImportOverlayDependencies (
993
+ const ModuleDependencyID &moduleID) const {
1009
994
const auto &moduleInfo = findKnownDependency (moduleID);
1010
995
assert (moduleInfo.isSwiftSourceModule ());
1011
996
return moduleInfo.getCrossImportOverlayDependencies ();
1012
997
}
1013
-
0 commit comments