Make module ownership methods on LLVMContext private, and make Module a friend

so that it can access them.  These are not intended to be externally accessible APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113380 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2010-09-08 18:22:11 +00:00
parent 0a7dd4fa40
commit 1e8d5d2e22

View File

@ -33,11 +33,6 @@ class LLVMContext {
LLVMContext(LLVMContext&);
void operator=(LLVMContext&);
public:
LLVMContextImpl *const pImpl;
LLVMContext();
~LLVMContext();
/// addModule - Register a module as being instantiated in this context. If
/// the context is deleted, the module will be deleted as well.
void addModule(Module*);
@ -45,6 +40,14 @@ public:
/// removeModule - Unregister a module from this context.
void removeModule(Module*);
// Module needs access to the add/removeModule methods.
friend class Module;
public:
LLVMContextImpl *const pImpl;
LLVMContext();
~LLVMContext();
// Pinned metadata names, which always have the same value. This is a
// compile-time performance optimization, not a correctness optimization.
enum {