aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Bytecode
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-11-05 18:48:02 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-11-05 18:48:02 +0000
commit6c4d9e566f60be60db105c220626bf31bf3ce450 (patch)
treeb43380658d27a0aa32f887d510851ffbd212aea3 /include/llvm/Bytecode
parent6f08c46790ceb09d34fa75df6901ad163c24a362 (diff)
downloadexternal_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.h17
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