<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.
llvm-svn: 144493
diff --git a/lldb/source/API/SBBlock.cpp b/lldb/source/API/SBBlock.cpp
index 580d2b5..eeae1d3 100644
--- a/lldb/source/API/SBBlock.cpp
+++ b/lldb/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;
}