hanchenye-llvm-project/lldb/source/Core
Enrico Granata e8daa2f843 Introduce the concept of a "display name" for types
Rationale:
Pretty simply, the idea is that sometimes type names are way too long and contain way too many details for the average developer to care about. For instance, a plain ol' vector of int might be shown as
std::__1::vector<int, std::__1::allocator<....
rather than the much simpler std::vector<int> form, which is what most developers would actually type in their code

Proposed solution:
Introduce a notion of "display name" and a corresponding API GetDisplayTypeName() to return such a crafted for visual representation type name
Obviously, the display name and the fully qualified (or "true") name are not necessarily the same - that's the whole point
LLDB could choose to pick the "display name" as its one true notion of a type name, and if somebody really needs the fully qualified version of it, let them deal with the problem
Or, LLDB could rename what it currently calls the "type name" to be the "display name", and add new APIs for the fully qualified name, making the display name the default choice

The choice that I am making here is that the type name will keep meaning the same, and people who want a type name suited for display will explicitly ask for one
It is the less risky/disruptive choice - and it should eventually make it fairly obvious when someone is asking for the wrong type

Caveats:
- for now, GetDisplayTypeName() == GetTypeName(), there is no logic to produce customized display type names yet.
- while the fully-qualified type name is still the main key to the kingdom of data formatters, if we start showing custom names to people, those should match formatters

llvm-svn: 209072
2014-05-17 19:14:17 +00:00
..
Address.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
AddressRange.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
AddressResolver.cpp
AddressResolverFileLine.cpp
AddressResolverName.cpp
ArchSpec.cpp Added i686 architecture (ArchSpec::Core::eCore_x86_32_i686). 2014-04-08 14:48:48 +00:00
Baton.cpp
Broadcaster.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
CMakeLists.txt Moved JITLoader.cpp and JITLoaderList.cpp over into "source/Target" since the header files were in "include/lldb/Target". 2014-03-06 00:14:12 +00:00
Communication.cpp Fixed CTRL+C related issues: 2014-05-02 00:45:31 +00:00
Connection.cpp
ConnectionFileDescriptor.cpp Fixed CTRL+C related issues: 2014-05-02 00:45:31 +00:00
ConnectionMachPort.cpp sanitise sign comparisons 2014-04-02 03:51:35 +00:00
ConnectionSharedMemory.cpp MingW compilation (windows). Includes various refactoring to improve portability. 2013-08-23 12:44:05 +00:00
ConstString.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
DataBufferHeap.cpp
DataBufferMemoryMap.cpp sanitise sign comparisons 2014-04-02 03:51:35 +00:00
DataEncoder.cpp
DataExtractor.cpp LLDB_INVALID_OFFSET can be large than a size_t on ILP32 systems, so use 2014-05-02 18:26:40 +00:00
Debugger.cpp Make sure that the CommandInterpreter::m_command_io_handler_sp gets reset when we quit. 2014-04-25 00:35:14 +00:00
Disassembler.cpp Merging the iohandler branch back into main. 2014-01-27 23:43:24 +00:00
DynamicLoader.cpp Modified ObjectFile::SetLoadAddress() to now be: 2014-02-07 22:54:47 +00:00
EmulateInstruction.cpp Roll back the changes I made in r193907 which created a new Frame 2013-11-04 09:33:30 +00:00
Error.cpp Make the Expression Execution result enum available to the SB API layer. 2014-05-05 02:26:40 +00:00
Event.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
FileLineResolver.cpp Changed the bool conversion operator on ConstString 2013-10-03 22:27:29 +00:00
FileSpecList.cpp
History.cpp
IOHandler.cpp "process kill" and "process detach" were causing double prompts or prompts that would overwrite each other. Fixed now. 2014-05-08 23:04:39 +00:00
Language.cpp
Listener.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
Log.cpp Fixed deadlocks that could occur when using python for breakpoints, operating system plugins, and other async python usage. 2014-02-13 23:34:38 +00:00
Makefile
Mangled.cpp Revert r205769 as it breaks the build on FreeBSD: 2014-04-08 17:02:25 +00:00
Module.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
ModuleChild.cpp
ModuleList.cpp sweep up -Wformat warnings from gcc 2014-04-04 04:06:10 +00:00
Opcode.cpp sanitise sign comparisons 2014-04-02 03:51:35 +00:00
PluginManager.cpp Add support for JIT debugging on Linux using the GDB JIT interface. Patch written with Keno Fischer. 2014-03-05 10:12:43 +00:00
RegisterValue.cpp
RegularExpression.cpp
Scalar.cpp Fix Windows build using portable types for formatting the log outputs 2014-03-03 15:39:47 +00:00
SearchFilter.cpp Fix Windows build using portable types for formatting the log outputs 2014-03-03 15:39:47 +00:00
Section.cpp Replace SIZE_T_MAX with std::numeric_limits value in Section.cpp. 2014-05-14 16:15:43 +00:00
SourceManager.cpp Merging the iohandler branch back into main. 2014-01-27 23:43:24 +00:00
State.cpp
Stream.cpp Fix Windows build using portable types for formatting the log outputs 2014-03-03 15:39:47 +00:00
StreamAsynchronousIO.cpp Merging the iohandler branch back into main. 2014-01-27 23:43:24 +00:00
StreamCallback.cpp
StreamFile.cpp Expose SBPlatform through the public API. 2013-11-20 21:07:01 +00:00
StreamGDBRemote.cpp merge lldb-platform-work branch (and assorted fixes) into trunk 2013-08-26 23:57:52 +00:00
StreamString.cpp
StringList.cpp Merging the iohandler branch back into main. 2014-01-27 23:43:24 +00:00
Timer.cpp MingW compilation (windows). Includes various refactoring to improve portability. 2013-08-23 12:44:05 +00:00
UUID.cpp
UserID.cpp
UserSettingsController.cpp
VMRange.cpp
Value.cpp Fix the copy constructor and assignement operator for the lldb_private::Value class to "do the right thing". 2014-05-16 21:49:19 +00:00
ValueObject.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00
ValueObjectCast.cpp
ValueObjectChild.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00
ValueObjectConstResult.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00
ValueObjectConstResultChild.cpp
ValueObjectConstResultImpl.cpp
ValueObjectDynamicValue.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00
ValueObjectList.cpp
ValueObjectMemory.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00
ValueObjectRegister.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00
ValueObjectSyntheticFilter.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00
ValueObjectVariable.cpp Introduce the concept of a "display name" for types 2014-05-17 19:14:17 +00:00