> On Aug 6, 2015, at 4:17 PM, Siva Chandra <sivachan...@google.com> wrote:
> 
> 
> 
> On Thu, Aug 6, 2015 at 3:58 PM, Enrico Granata <egran...@apple.com 
> <mailto:egran...@apple.com>> wrote:
> 
>> On Aug 6, 2015, at 3:50 PM, Siva Chandra <sivachan...@google.com 
>> <mailto:sivachan...@google.com>> wrote:
>> 
>> 
>> 
>> On Thu, Aug 6, 2015 at 3:38 PM, Enrico Granata <egran...@apple.com 
>> <mailto:egran...@apple.com>> wrote:
>> 
>>> On Aug 6, 2015, at 3:33 PM, Siva Chandra <sivachan...@google.com 
>>> <mailto:sivachan...@google.com>> wrote:
>>> 
>>> 
>>> 
>>> On Thu, Aug 6, 2015 at 2:43 PM, Enrico Granata <egran...@apple.com 
>>> <mailto:egran...@apple.com>> wrote:
>>> To be honest, my favorite approach would be to modify clang’s TypePrinter 
>>> to do this, and then hooking up GetDisplayTypeName() to use whatever flags 
>>> would be necessary to invoke that bit of magic
>>> 
>>> Do you mean that clang's "pretty printer" should be made extensible by a 
>>> script?
>>>  
>> 
>> Nope, what I am imagining is not an extensible system
>> 
>> When LLDB goes to print a type it asks the compiler “what is the name of 
>> this type that I should display?”
>> By default, clang prints the fully specialized template, including type 
>> arguments that have their default value. My theory is that we would want to 
>> add a mode to the type printer to say “simplify type name”, and that would 
>> do sensible things to get a display name that is more compact
>> 
>> So, how would clang know about the "simplified" or "friendly" name for a 
>> type? Even in case of standard library types, the underlying types (with 
>> unfriendly type names) could be anything. For example, libstdc++ and STLport 
>> have different underlying naming conventions. So does libc++ I would imagine 
>> (I have not spent enough time yet staring at libc++ code).
>> 
> 
> The obvious mechanism is that the compiler has knowledge of the structure of 
> the type - so it can make printing decisions based on that type structure
> In this case, I imagine a viable approach would be having rules like omitting 
> the values of template arguments that have a default value, omit inlined 
> namespaces, ...
> 
> OK. I will be on vacation next week. Will give this idea a shot after getting 
> back. 


Awesome! Looking very much forward to that!

Thanks,
- Enrico
📩 egranata@.com ☎️ 27683

_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to