//===-- ModuleProvider.cpp - Base implementation for module providers -----===// // // Minimal implementation of the abstract interface for providing a module. // //===----------------------------------------------------------------------===// #include "llvm/ModuleProvider.h" #include "llvm/Module.h" /// ctor - always have a valid Module /// AbstractModuleProvider::AbstractModuleProvider() : TheModule(0) { } /// dtor - when we leave, we take our Module with us /// AbstractModuleProvider::~AbstractModuleProvider() { delete TheModule; } /// materializeFunction - make sure the given function is fully read. /// void AbstractModuleProvider::materializeModule() { if (!TheModule) return; for (Module::iterator i = TheModule->begin(), e = TheModule->end(); i != e; ++i) materializeFunction(i); }