<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
This commit is contained in:
Greg Clayton
2011-11-13 06:57:31 +00:00
parent a476e391f1
commit da7bc7d000
33 changed files with 327 additions and 185 deletions

View File

@@ -171,24 +171,26 @@ SBBlock::reset (lldb_private::Block *block)
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;
}