[interop] emit a parsable C++ header for a module that includes namespace declaration for the module interface

This commit is contained in:
Alex Lorenz
2022-01-20 14:01:01 -08:00
parent e106551028
commit 54b466f983
6 changed files with 141 additions and 62 deletions

View File

@@ -619,3 +619,15 @@ swift::printModuleContentsAsObjC(raw_ostream &os,
: AccessLevel::Internal;
ModuleWriter(os, imports, M, requiredAccess).write();
}
void swift::printModuleContentsAsCxx(
raw_ostream &os, llvm::SmallPtrSetImpl<ImportModuleTy> &imports,
ModuleDecl &M) {
os << "namespace ";
M.ValueDecl::getName().print(os);
os << " {\n\n";
// TODO (Alex): Emit module contents.
os << "\n} // namespace ";
M.ValueDecl::getName().print(os);
os << "\n\n";
}