xiaobai marked an inline comment as done. xiaobai added inline comments.
================ Comment at: source/Core/ValueObject.cpp:1706-1708 + for (auto *runtime : process->GetLanguageRuntimes()) { + if (runtime->IsWhitelistedRuntimeValue(GetName())) + return false; ---------------- aprantl wrote: > clayborg wrote: > > aprantl wrote: > > > jingham wrote: > > > > clayborg wrote: > > > > > davide wrote: > > > > > > clayborg wrote: > > > > > > > Still seems weird that any language can white list a variable by > > > > > > > name. Say swift has a variable named "this" which is truly should > > > > > > > be hidden and is marked as artificial, we will always show it... > > > > > > Swift has no `this`, it has `self`. And yes, there are many places > > > > > > in the debugger where `self` is mentioned explicitly by name and > > > > > > has special handling. Also, I think we want to show it, most of the > > > > > > times. > > > > > Exactly Davide. **Any** language can whitelist **any** variable they > > > > > want for **any** other language regardless of the language of origin > > > > > of the current ValueObject. > > > > I agree with Greg. Otherwise various languages are going to fight > > > > about their respective white lists. We should really get the > > > > ValueObject's runtime language with > > > > ValueObject::GetObjectRuntimeLanguage() and then asking that runtime. > > > That's true, but in practice not likely a big problem, since you'd, e.g., > > > need to have an *artificial* variable called `self` in C++ for this to > > > surface. > > What variables are we actually trying to not show here? Seems like we > > mostly want to see the variables, even artificial ones. Does anyone know > > what the variables that we don't want to see are? And how big of a problem > > are they? > The ones Jim mentioned earlier: Clang injects helper variables for VLA size, > Swift injects various kinds of type metadata. We definitely do want to hide > them. > We should really get the ValueObject's runtime language with > ValueObject::GetObjectRuntimeLanguage() and then asking that runtime. This isn't going to work though. If you want to know whether you should hide something like `_cmd`, then `GetObjectRuntimeLanguage` is going to give you `eLanguagetypeC`, which has no runtime. If it's marked as artificial, then you'll not see it even though ObjCRuntime whitelists it. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63240/new/ https://reviews.llvm.org/D63240 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits