<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/SBBlock.cpp b/source/API/SBBlock.cpp
index 580d2b5..eeae1d3 100644
--- a/source/API/SBBlock.cpp
+++ b/source/API/SBBlock.cpp
@@ -171,24 +171,26 @@
 bool
 SBBlock::GetDescription (SBStream &description)
 {
+    Stream &strm = description.ref();
+
     if (m_opaque_ptr)
     {
         lldb::user_id_t id = m_opaque_ptr->GetID();
-        description.Printf ("Block: {id: %llu} ", id);
+        strm.Printf ("Block: {id: %llu} ", id);
         if (IsInlined())
         {
-            description.Printf (" (inlined, '%s') ", GetInlinedName());
+            strm.Printf (" (inlined, '%s') ", GetInlinedName());
         }
         lldb_private::SymbolContext sc;
         m_opaque_ptr->CalculateSymbolContext (&sc);
         if (sc.function)
         {
-            m_opaque_ptr->DumpAddressRanges (description.get(), 
+            m_opaque_ptr->DumpAddressRanges (&strm,
                                              sc.function->GetAddressRange().GetBaseAddress().GetFileAddress());
         }
     }
     else
-        description.Printf ("No value");
+        strm.PutCString ("No value");
     
     return true;
 }