LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::ModuleProvider Class Reference

#include <ModuleProvider.h>

Inheritance diagram for llvm::ModuleProvider:

Inheritance graph
[legend]
Collaboration diagram for llvm::ModuleProvider:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~ModuleProvider ()
ModulegetModule ()
virtual void materializeFunction (Function *F)=0
virtual ModulematerializeModule ()=0
virtual ModulereleaseModule ()

Protected Member Functions

 ModuleProvider ()

Protected Attributes

ModuleTheModule

Detailed Description

Definition at line 26 of file ModuleProvider.h.


Constructor & Destructor Documentation

ModuleProvider::ModuleProvider  )  [protected]
 

ctor - always have a valid Module

Definition at line 20 of file ModuleProvider.cpp.

ModuleProvider::~ModuleProvider  )  [virtual]
 

dtor - when we leave, we take our Module with us

Definition at line 24 of file ModuleProvider.cpp.

References TheModule.


Member Function Documentation

Module* llvm::ModuleProvider::getModule  )  [inline]
 

getModule - returns the module this provider is encapsulating.

Definition at line 36 of file ModuleProvider.h.

References TheModule.

Referenced by CheckVarargs(), and llvm::JIT::create().

virtual void llvm::ModuleProvider::materializeFunction Function F  )  [pure virtual]
 

materializeFunction - make sure the given function is fully read. Note that this can throw an exception if the module is corrupt!

Implemented in llvm::ExistingModuleProvider, and llvm::BytecodeReader.

Referenced by llvm::JIT::getPointerToFunction(), and llvm::FunctionPassManager::run().

virtual Module* llvm::ModuleProvider::materializeModule  )  [pure virtual]
 

materializeModule - make sure the entire Module has been completely read. Note that this can throw an exception if the module is corrupt!

Implemented in llvm::ExistingModuleProvider, and llvm::BytecodeReader.

Referenced by CheckVarargs(), llvm::ExecutionEngine::create(), llvm::GetBytecodeSymbols(), and releaseModule().

virtual Module* llvm::ModuleProvider::releaseModule  )  [inline, virtual]
 

releaseModule - no longer delete the Module* when provider is destroyed. Note that this can throw an exception if the module is corrupt!

Reimplemented in llvm::BytecodeReader.

Definition at line 51 of file ModuleProvider.h.

References materializeModule(), and TheModule.

Referenced by llvm::BytecodeReader::releaseModule().


Member Data Documentation

Module* llvm::ModuleProvider::TheModule [protected]
 

Definition at line 28 of file ModuleProvider.h.

Referenced by llvm::ExistingModuleProvider::ExistingModuleProvider(), getModule(), llvm::BytecodeReader::materializeModule(), llvm::ExistingModuleProvider::materializeModule(), llvm::BytecodeReader::ParseModule(), llvm::BytecodeReader::ParseModuleGlobalInfo(), llvm::BytecodeReader::ParseVersionInfo(), releaseModule(), and ~ModuleProvider().


The documentation for this class was generated from the following files: