Convert all python objects in our API to use overload the __str__ method
instead of the __repr__. __repr__ is a function that should return an
expression that can be used to recreate an python object and we were using
it to just return a human readable string.

Fixed a crasher when using the new implementation of SBValue::Cast(SBType).

Thread hardened lldb::SBValue and lldb::SBWatchpoint and did other general
improvements to the API.

Fixed a crasher in lldb::SBValue::GetChildMemberWithName() where we didn't
correctly handle not having a target.

llvm-svn: 149743
diff --git a/lldb/source/Core/ValueObjectVariable.cpp b/lldb/source/Core/ValueObjectVariable.cpp
index 1a4a89c..181324d 100644
--- a/lldb/source/Core/ValueObjectVariable.cpp
+++ b/lldb/source/Core/ValueObjectVariable.cpp
@@ -276,3 +276,14 @@
         return m_variable_sp->GetSymbolContextScope();
     return NULL;
 }
+
+bool
+ValueObjectVariable::GetDeclaration (Declaration &decl)
+{
+    if (m_variable_sp)
+    {
+        decl = m_variable_sp->GetDeclaration();
+        return true;
+    }
+    return false;
+}