llvm-project/lldb/source/Symbol
Greg Clayton 1075acafeb Added the ability for clients to grab a set of symbol table indexes and then
add them to a fast lookup map. lldb_private::Symtab now export the following
public typedefs:

namespace lldb_private {

	class Symtab {
		typedef std::vector<uint32_t> IndexCollection;
		typedef UniqueCStringMap<uint32_t> NameToIndexMap;
	};
}

Clients can then find symbols by name and or type and end up with a 
Symtab::IndexCollection that is filled with indexes. These indexes can then
be put into a name to index lookup map and control if the mangled and 
demangled names get added to the map:

bool add_demangled = true;
bool add_mangled = true;
Symtab::NameToIndexMap name_to_index;
symtab->AppendSymbolNamesToMap (indexes, add_demangled, add_mangled, name_to_index).

This can be repeated as many times as needed to get a lookup table that
you are happy with, and then this can be sorted:

name_to_index.Sort();

Now name lookups can be done using a subset of the symbols you extracted from
the symbol table. This is currently being used to extract objective C types
from object files when there is no debug info in SymbolFileSymtab.

Cleaned up how the objective C types were being vended to be more efficient
and fixed some errors in the regular expression that was being used.

llvm-svn: 145777
2011-12-03 20:02:42 +00:00
..
Block.cpp Moved lldb::user_id_t values to be 64 bit. This was going to be needed for 2011-10-19 18:09:39 +00:00
ClangASTContext.cpp Added ClangExternalASTSourceCommon, a local superclass 2011-12-03 03:15:28 +00:00
ClangASTImporter.cpp Changed ClangASTImporter to allow finer-grained 2011-11-29 00:42:02 +00:00
ClangASTType.cpp <rdar://problem/10126482> 2011-11-13 06:57:31 +00:00
ClangExternalASTSourceCallbacks.cpp Added a new #define, LLVM_NDEBUG_OFF, that should 2011-10-26 17:46:51 +00:00
ClangExternalASTSourceCommon.cpp Added the ability for clients to grab a set of symbol table indexes and then 2011-12-03 20:02:42 +00:00
ClangNamespaceDecl.cpp Modified the lldb_private::Type clang type resolving code to handle three 2010-11-13 03:52:47 +00:00
CompileUnit.cpp Moved lldb::user_id_t values to be 64 bit. This was going to be needed for 2011-10-19 18:09:39 +00:00
DWARFCallFrameInfo.cpp Added the ability for DWARF locations to use the ABI plug-ins to resolve 2011-09-02 01:15:17 +00:00
Declaration.cpp Allow the built in ValueObject summary providers for C strings 2011-07-10 19:21:23 +00:00
FuncUnwinders.cpp Have the FuncUnwinder object request & provide an architecture-defined 2011-09-15 00:44:34 +00:00
Function.cpp Moved lldb::user_id_t values to be 64 bit. This was going to be needed for 2011-10-19 18:09:39 +00:00
LineEntry.cpp Moved the section load list up into the target so we can use the target 2010-09-14 23:36:40 +00:00
LineTable.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19: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 Added new symbol types for Objective C classes, metaclasses, and ivars. Each 2011-12-03 02:30:59 +00:00
Symbol.cpp Added new symbol types for Objective C classes, metaclasses, and ivars. Each 2011-12-03 02:30:59 +00:00
SymbolContext.cpp Moved lldb::user_id_t values to be 64 bit. This was going to be needed for 2011-10-19 18:09:39 +00:00
SymbolFile.cpp CommandObjectProcess was recently changed to automatically use the platform 2011-11-28 01:45:00 +00:00
SymbolVendor.cpp Completed the glue that passes a ClangNamespaceDecl * 2011-10-13 01:49:10 +00:00
Symtab.cpp Added the ability for clients to grab a set of symbol table indexes and then 2011-12-03 20:02:42 +00:00
Type.cpp Fixed some extra warnings that show up with the new clang. 2011-12-03 00:46:21 +00:00
TypeHierarchyNavigator.cpp System-wide summaries: 2011-07-15 23:30:15 +00:00
TypeList.cpp Changed lldb_private::Type over to use the intrusive ref counted pointers 2011-10-18 23:36:41 +00:00
UnwindPlan.cpp Update declarations for all functions/methods that accept printf-style 2011-09-20 21:44:10 +00:00
UnwindTable.cpp Renamed UnwindAssemblyProfiler to UnwindAssembly along with its source files. 2011-04-25 21:14:26 +00:00
Variable.cpp Update declarations for all functions/methods that accept printf-style 2011-09-20 21:44:10 +00:00
VariableList.cpp Added the ability to see global variables with a variable expression path so 2011-07-08 21:46:14 +00:00
VerifyDecl.cpp Added VerifyDecl, a function that, when LLDB is 2011-10-26 01:06:27 +00:00