<rdar://problem/10126482>

Fixed an issues with the SBType and SBTypeMember classes:
- Fixed SBType to be able to dump itself from python
- Fixed SBType::GetNumberOfFields() to return the correct value for objective C interfaces
- Fixed SBTypeMember to be able to dump itself from python
- Fixed the SBTypeMember ability to get a field offset in bytes (the value
  being returned was wrong)
- Added the SBTypeMember ability to get a field offset in bits


Cleaned up a lot of the Stream usage in the SB API files.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144493 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/API/SBData.cpp b/source/API/SBData.cpp
index e5c29a9..f873526 100644
--- a/source/API/SBData.cpp
+++ b/source/API/SBData.cpp
@@ -13,6 +13,8 @@
 
 #include "lldb/Core/DataExtractor.h"
 #include "lldb/Core/Log.h"
+#include "lldb/Core/Stream.h"
+
 
 using namespace lldb;
 using namespace lldb_private;
@@ -414,21 +416,22 @@
 bool
 SBData::GetDescription (lldb::SBStream &description, lldb::addr_t base_addr)
 {
+    Stream &strm = description.ref();
+
     if (m_opaque_sp)
     {
-        description.ref();
-        m_opaque_sp->Dump(description.get(),
-                          0,
-                          lldb::eFormatBytesWithASCII,
-                          1,
-                          m_opaque_sp->GetByteSize(),
-                          16,
-                          base_addr,
-                          0,
-                          0);
+        m_opaque_sp->Dump (&strm,
+                           0,
+                           lldb::eFormatBytesWithASCII,
+                           1,
+                           m_opaque_sp->GetByteSize(),
+                           16,
+                           base_addr,
+                           0,
+                           0);
     }
     else
-        description.Printf ("No Value");
+        strm.PutCString ("No value");
     
     return true;
 }