hanchenye-llvm-project/lldb/source
Greg Clayton 1811b4faad <rdar://problem/11275622>
Added new API to lldb::SBTypeMember for bitfields:

    bool SBTypeMember::IsBitfield();
    uint32_t SBTypeMember::GetBitfieldSizeInBits();

Also added new properties for easy access. Now SBTypeMember objects in python have a "fields" property for all type fields, "bases" for all direct bases, "vbases" for all virtual base classes and "members" for a combo of all three organized by bit offset. They all return a python list() of SBTypeMember objects. Usage:
(lldb) script
>>> t = lldb.target.FindFirstType("my_type")
>>> for field in t.fields:
...     print field
>>> for vbase in t.vbases:
...     print vbase
>>> for base in t.bases:
...     print base
>>> for member in t.members:
...     print member

Also added new "is_bitfield" property to the SBTypeMember objects that will return the result of SBTypeMember::IsBitfield(), and "bitfield_bit_size" which will return the result of SBTypeMember::GetBitfieldSizeInBits();

I also fixed "SBTypeMember::GetOffsetInBytes()" to return the correct byte offset.

llvm-svn: 161091
2012-07-31 23:39:10 +00:00
..
API <rdar://problem/11275622> 2012-07-31 23:39:10 +00:00
Breakpoint Fix ignore counts on breakpoints so they actually work. 2012-06-26 22:27:55 +00:00
Commands Added an lldb_private & equivalent SB API to send an AsyncInterrupt to the event loop. 2012-07-27 23:57:19 +00:00
Core Cleaned up the lldb_private::Mangled class to get rid of the tokenizing code that has bit rotted and isn't being used. Also cleaned up the API to the "lldb_private::Mangled" to always take "const ConstString &" arguments instead of both "const ConstString &" and "const char *". 2012-07-18 23:18:10 +00:00
Expression Fixed the expression parser to ignore C++ and 2012-07-28 00:21:01 +00:00
Host Make glibc and its developers happy. Circumvent the lack of strlcat in glibc. 2012-07-30 18:56:10 +00:00
Interpreter <rdar://problem/11862570> Fixing a potential crasher related to Python locking 2012-07-31 16:58:12 +00:00
Plugins <rdar://problem/11275622> 2012-07-31 23:39:10 +00:00
Symbol <rdar://problem/11275622> 2012-07-31 23:39:10 +00:00
Target Fixed a problem where stepping out would turn into 2012-07-31 22:19:25 +00:00
Utility Removed redundant isxdigit checks and added the ability to GetHexU8() so it can extract an 8 bit hex value if one is available. It will set EOF if "set_eof_on_fail" is true or if out of data. This allows a string decoder to grab a string without losing the last part of the packet with a packet like "414243,abc" (it can extract "ABC" and leave the file position set to the comma). 2012-04-07 00:42:53 +00:00
Makefile Don't include LLDBWrapPython.cpp here. Use it in Interpreter. 2012-05-29 14:03:55 +00:00
lldb-log.cpp Patch from Filipe Cabecinhas. 2012-04-26 17:07:53 +00:00
lldb.cpp Register the ProcessGDBRemote plugin ahead of the ProcessKDP plugin 2012-06-01 01:39:46 +00:00