tberghammer added inline comments. ================ Comment at: source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp:665 @@ +664,3 @@ + + stl_summary_flags.SetDontShowChildren(true); + AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibStdcppSmartPointerSummaryProvider, ---------------- granata.enrico wrote: > tberghammer wrote: > > granata.enrico wrote: > > > Is there any reason to hide the children for a type that you provide > > > synthetic children for? > > Without hiding the children the content of the shard_ptr will be displayed > > 2 times. Once in the first line as part of the summary and then 2nd time as > > a children. I think it is cleaner if we display the value only once but it > > can make it more difficult to access to the content of the shared pointer. > > > > If you think displaying the children is better then I am happy with that > > option too. > > > > The 2 possible output for a type Foo: > > > > ``` > > (std::shared_ptr<Foo>) f = Foo @ 0x0000000000606118 { > > _M_ptr = 0x0000000000606118 > > } > > ``` > > ``` > > (std::shared_ptr<Foo>) f = Foo @ 0x0000000000606118 > > ``` > > > > The 2 possible output for an std::string: > > ``` > > (std::shared_ptr<std::basic_string<char, std::char_traits<char>, > > std::allocator<char> > >) s = "123456" { > > _M_ptr = "123456" > > } > > ``` > > ``` > > (std::shared_ptr<std::basic_string<char, std::char_traits<char>, > > std::allocator<char> > >) s = "123456" > > ``` > Oh, I see. Yeah, I had to solve a similar problem for Swift Optionals. > > Essentially, you're discovering that for shared_ptr<T>, T can have > combinations of values, summaries, synthetic values, ... > > Unfortunately right now there is no automated formatter for the concept of a > box<T> that handles all those intricacies automatically for you. It would be > a nice thing to add, but it's probably beyond the scope of your change > > Feel free to pick your favorite solution for now, and I'll try to get to a > universal box formatter at some point. I decided to remove it to be in sync with the libc++ shared_ptr/weak_ptr summary provider but having a formatter for box<T> would be nice but I am not sure what should be the exact semantic of it. If you won't beat me with it I might take a look in the future but don't know when I will have time for it.
http://reviews.llvm.org/D21984 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits