[Lldb-commits] [lldb] [LLDB] Hide unresolvable children from ObjC tagged pointers (PR #211936)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Jul 24 15:50:02 PDT 2026
================
@@ -881,6 +881,44 @@ lldb::TypeCategoryImplSP ObjCLanguage::GetFormatters() {
return g_category;
}
+HardcodedFormatters::HardcodedSyntheticFinder
+ObjCLanguage::GetHardcodedSynthetics() {
+ static llvm::once_flag g_initialize;
+ static HardcodedFormatters::HardcodedSyntheticFinder g_formatters;
+
+ llvm::call_once(g_initialize, []() -> void {
+ // An Objective-C tagged pointer (e.g. a single-index NSIndexSet
----------------
jimingham wrote:
So the idea here is that if there were some tagged pointer that represented a non-trivial aggregate, we'd write a synthetic child provider to handle that, and we'd only fall back here for tagged pointer entities that only had summaries? Then since this one is last, ours would trigger first.
It would be nice to have a test that makes sure this one is always last. Is there a way to make a bogus NSNumber SCP that pretended the value was an array of bytes if it was a tagged pointer. Then you could assert that with that SCP in place, you WOULD still see the children.
https://github.com/llvm/llvm-project/pull/211936
More information about the lldb-commits
mailing list