@@ -773,3 +773,46 @@ std::string OutputLookup::lookupModuleOutput(const ModuleDeps &MD,
773773 PCMPath.first ->second = ::lookupModuleOutput (MD, MOK, MLOContext, MLO);
774774 return PCMPath.first ->second ;
775775}
776+
777+ namespace {
778+ typedef llvm::SmallVectorImpl<clang::Module::LinkLibrary>
779+ DepGraphModuleLinkLibrarySet;
780+ typedef clang::Module::LinkLibrary DepGraphModuleLinkLibrary;
781+ } // namespace
782+
783+ DEFINE_SIMPLE_CONVERSION_FUNCTIONS (DepGraphModuleLinkLibrarySet,
784+ CXDepGraphModuleLinkLibrarySet)
785+ DEFINE_SIMPLE_CONVERSION_FUNCTIONS(DepGraphModuleLinkLibrary,
786+ CXDepGraphModuleLinkLibrary)
787+
788+ CXDepGraphModuleLinkLibrarySet
789+ clang_experimental_DepGraphModule_getLinkLibrarySet(CXDepGraphModule CXDepMod) {
790+ const ModuleDeps &ModDeps = *unwrap (CXDepMod)->ModDeps ;
791+ return wrap (&ModDeps.LinkLibraries );
792+ }
793+
794+ size_t clang_experimental_DepGraphModuleLinkLibrarySet_getSize (
795+ CXDepGraphModuleLinkLibrarySet S) {
796+ const DepGraphModuleLinkLibrarySet *LinkLibraries = unwrap (S);
797+ return LinkLibraries->size ();
798+ }
799+
800+ CXDepGraphModuleLinkLibrary
801+ clang_experimental_DepGraphModuleLinkLibrarySet_getLinkLibrary (
802+ CXDepGraphModuleLinkLibrarySet S, size_t Idx) {
803+ const DepGraphModuleLinkLibrarySet *LinkLibraries = unwrap (S);
804+ return wrap (&(*LinkLibraries)[Idx]);
805+ }
806+
807+ CXString clang_experimental_DepGraphModuleLinkLibrary_getLibrary (
808+ CXDepGraphModuleLinkLibrary L) {
809+ const DepGraphModuleLinkLibrary *Lib = unwrap (L);
810+ return cxstring::createRef (Lib->Library .c_str ());
811+ }
812+
813+ bool clang_experimental_DepGraphModuleLinkLibrary_isFramework (
814+ CXDepGraphModuleLinkLibrary L) {
815+ const DepGraphModuleLinkLibrary *Lib = unwrap (L);
816+ return Lib->IsFramework ;
817+ }
818+
0 commit comments