: Name(Name), DefinitionLoc(DefinitionLoc), Parent(Parent),
UmbrellaHeader(0), IsExplicit(IsExplicit) {
}
-
+
+ ~Module();
+
/// \brief Determine whether this module is a submodule.
bool isSubModule() const { return Parent != 0; }
// Module
//----------------------------------------------------------------------------//
+ModuleMap::Module::~Module() {
+ for (llvm::StringMap<Module *>::iterator I = SubModules.begin(),
+ IEnd = SubModules.end();
+ I != IEnd; ++I) {
+ delete I->getValue();
+ }
+
+}
+
std::string ModuleMap::Module::getFullModuleName() const {
llvm::SmallVector<StringRef, 2> Names;
}
ModuleMap::~ModuleMap() {
+ for (llvm::StringMap<Module *>::iterator I = Modules.begin(),
+ IEnd = Modules.end();
+ I != IEnd; ++I) {
+ delete I->getValue();
+ }
+
delete SourceMgr;
}