llvm-project/lldb/source/Symbol
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
..
Block.cpp <rdar://problem/11870357> 2012-07-14 00:53:55 +00:00
ClangASTContext.cpp <rdar://problem/11275622> 2012-07-31 23:39:10 +00:00
ClangASTImporter.cpp Ran the static analyzer on the codebase and found a few things. 2012-07-17 03:23:13 +00:00
ClangASTType.cpp Enabled C++11 in the expression parser. auto and 2012-05-16 21:03:38 +00:00
ClangExternalASTSourceCallbacks.cpp I have brought LLDB up-to-date with top of tree 2012-02-04 08:49:35 +00:00
ClangExternalASTSourceCommon.cpp Added a mechanism for keeping track of where in 2012-04-13 00:10:03 +00:00
ClangNamespaceDecl.cpp Added a packet history object to the GDBRemoteCommunication class that is always remembering the last 512 packets that were sent/received. These packets get dumped if logging gets enabled, or when the new expr lldb::DumpProcessGDBRemotePacketHistory (void *process, const char *log_file_path) global function is called. 2012-04-09 22:46:21 +00:00
CompileUnit.cpp CompileUnit::ResolveSymbolContext was only filling in the LineEntry regardless of what was passed in for "resolve_scope". I fixed that. 2012-05-21 23:06:47 +00:00
DWARFCallFrameInfo.cpp When building up the UnwindPlan based on eh_frame unwind 2012-07-31 22:42:30 +00:00
Declaration.cpp Allow the built in ValueObject summary providers for C strings 2011-07-10 19:21:23 +00:00
FuncUnwinders.cpp Thread hardening part 3. Now lldb_private::Thread objects have std::weak_ptr 2012-02-21 00:09:25 +00:00
Function.cpp 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
LineEntry.cpp <rdar://problem/10103468> 2012-02-24 01:59:29 +00:00
LineTable.cpp <rdar://problem/11149427> 2012-03-29 20:50:37 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
ObjectFile.cpp Fixed a few things in the ELF object file: 2012-03-27 02:40:46 +00:00
Symbol.cpp Sanity check the result of Symbol::GetPrologueByteSize - make sure it is not greater than the size of the Symbol returning it. 2012-07-24 01:31:19 +00:00
SymbolContext.cpp <rdar://problem/11870357> 2012-07-14 00:53:55 +00:00
SymbolFile.cpp Save more memory by not parsing the symbol table for stand alone DWARF files. We currently have SymbolFile plug-ins which all get the chance to say what they can parse in a symbol file. Prior to this fix we would ask the SymbolFileDWARF plug-in what abilities it had, and it would answer with "everything", and then we would check the SymbolFileSymtab plug-in what abilities it had, in case it had more abilities. The checking that SymbolFileSymtab does is a bit expensive as it pulls in the entire symbol table just to see if it can offer a few scraps of debug information. This causes all stand along DWARF files to pull in their symbol tables even though those symbols will never be used. This fix will check all SymbolFile plug-ins for their abilities and if any plug-in responds with "everything", then we stop the search. 2012-04-26 16:53:42 +00:00
SymbolVendor.cpp <rdar://problem/11160171> 2012-04-02 22:59:12 +00:00
Symtab.cpp Use a cache of the results of "GetFileAddress" from a symbol in the Comparator we are using to sort the various lookup indices by symbol address. When we switched to weak pointers, 2012-05-01 01:34:15 +00:00
Type.cpp Modified "image lookup -t <typename>" to expand typedefs. 2012-05-15 19:26:12 +00:00
TypeHierarchyNavigator.cpp System-wide summaries: 2011-07-15 23:30:15 +00:00
TypeList.cpp <rdar://problem/11113279> 2012-03-26 23:03:23 +00:00
UnwindPlan.cpp Cleaned up incorrect STL std::map comparison code and use the operator == on std::map objects instead of manually implementing the comparisons. Also modified the UnwindPlan::AppendRow() function to take a "const RowSP &" object so we don't have to copy shared pointers when calling this function. 2012-07-18 20:37:53 +00:00
UnwindTable.cpp Add a new 'target modules show-unwind' command to show the different 2012-07-12 00:20:07 +00:00
Variable.cpp 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
VariableList.cpp <rdar://problem/11870357> 2012-07-14 00:53:55 +00:00
VerifyDecl.cpp Added VerifyDecl, a function that, when LLDB is 2011-10-26 01:06:27 +00:00