diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-11-05 18:48:02 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-11-05 18:48:02 +0000 |
commit | 6c4d9e566f60be60db105c220626bf31bf3ce450 (patch) | |
tree | b43380658d27a0aa32f887d510851ffbd212aea3 /include/llvm/Bytecode | |
parent | 6f08c46790ceb09d34fa75df6901ad163c24a362 (diff) | |
download | external_llvm-6c4d9e566f60be60db105c220626bf31bf3ce450.zip external_llvm-6c4d9e566f60be60db105c220626bf31bf3ce450.tar.gz external_llvm-6c4d9e566f60be60db105c220626bf31bf3ce450.tar.bz2 |
Go ahead and trust the client not to mess with the ModuleProvider* returned
by the findModuleContainingSymbol method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17491 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bytecode')
-rw-r--r-- | include/llvm/Bytecode/Archive.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/include/llvm/Bytecode/Archive.h b/include/llvm/Bytecode/Archive.h index 4ceb951..7f1333e 100644 --- a/include/llvm/Bytecode/Archive.h +++ b/include/llvm/Bytecode/Archive.h @@ -135,16 +135,15 @@ class Archive { /// returns the associated module that defines that symbol. This method can /// be called as many times as necessary. This is handy for linking the /// archive into another module based on unresolved symbols. Note that the - /// ModuleProvider returned by this accessor is constant and it may refer - /// to the same ModuleProvider object returned by this accessor in a - /// previous call (because the associated module defines both symbols). To - /// use the returned ModuleProvider* you must make a copy and call the - /// materializeModule method on the copy. + /// ModuleProvider returned by this accessor should not be deleted by the + /// caller. It is managed internally by the Archive class. It is possible + /// that multiple calls to this accessor will return the same ModuleProvider + /// instance because the associated module defines multiple symbols. /// @throws std::string if an error occurs /// @returns The ModuleProvider* found or null if the archive does not /// contain a module that defines the \p symbol. /// @brief Look up a module by symbol name. - const ModuleProvider* findModuleContainingSymbol( + ModuleProvider* findModuleContainingSymbol( const std::string& symbol ///< Symbol to be sought ) const; @@ -245,6 +244,12 @@ class Archive { ); /// @} + /// @name Data + /// @{ + private: + class ArchiveInternals; + ArchiveInternals* impl; ///< Implementation class + /// @} }; } // End llvm namespace |