Fix some semantic usability issues with DynamicLibrary.

This patch allows invalid DynamicLibrary instances to be
constructed, and fixes the const-correctness of the isValid()
method.

No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216571 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Zachary Turner 2014-08-27 18:13:25 +00:00
parent d8e448bd27
commit 7132e325d5

View File

@ -43,10 +43,11 @@ namespace sys {
// Opaque data used to interface with OS-specific dynamic library handling. // Opaque data used to interface with OS-specific dynamic library handling.
void *Data; void *Data;
explicit DynamicLibrary(void *data = &Invalid) : Data(data) {}
public: public:
explicit DynamicLibrary(void *data = &Invalid) : Data(data) {}
/// Returns true if the object refers to a valid library. /// Returns true if the object refers to a valid library.
bool isValid() { return Data != &Invalid; } bool isValid() const { return Data != &Invalid; }
/// Searches through the library for the symbol \p symbolName. If it is /// Searches through the library for the symbol \p symbolName. If it is
/// found, the address of that symbol is returned. If not, NULL is returned. /// found, the address of that symbol is returned. If not, NULL is returned.