diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2003-09-18 16:17:06 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-09-18 16:17:06 +0000 |
commit | 521f1feb110e97b8015a84364f73303e1e6fd4f6 (patch) | |
tree | f285e0b3541e2ecd38715e4785962a63b8ebd0ec /lib/VMCore/ModuleProvider.cpp | |
parent | b5802322453ca49ef975c4f4437c0ea5be710b2a (diff) | |
download | external_llvm-521f1feb110e97b8015a84364f73303e1e6fd4f6.zip external_llvm-521f1feb110e97b8015a84364f73303e1e6fd4f6.tar.gz external_llvm-521f1feb110e97b8015a84364f73303e1e6fd4f6.tar.bz2 |
Minimal implementation of the abstract ModuleProvider interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8594 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/ModuleProvider.cpp')
-rw-r--r-- | lib/VMCore/ModuleProvider.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/VMCore/ModuleProvider.cpp b/lib/VMCore/ModuleProvider.cpp new file mode 100644 index 0000000..52c30cd --- /dev/null +++ b/lib/VMCore/ModuleProvider.cpp @@ -0,0 +1,28 @@ +//===-- 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() { + M = new Module(""); +} + +/// dtor - when we leave, we take our Module with us +/// +AbstractModuleProvider::~AbstractModuleProvider() { + delete M; +} + +/// materializeFunction - make sure the given function is fully read. +/// +void AbstractModuleProvider::materializeModule() { + for (Module::iterator i = M->begin(), e = M->end(); i != e; ++i) { + materializeFunction(i); + } +} |