> 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