[lldb] Instantiate lazily named classes on macOS Ventura.
Recent revisions of the Objective-C runtime changed objc_debug_class_getNameRaw() in a way that no longer triggers lazy names to be instantiated. This has the unintended side-effect of making generic bridged Swift classes, such as _SwiftDeferredNSDictionary<U,V> to become invisible to the Objective-C runtime. This patch detects this situation and forces the names to be instantiated by calling class_getName() and discarding the result before calling objc_debug_class_getNameRaw() again. Many thanks to Mike Ash for outlining the solution and Adrian for authoring the downstream patch. rdar://95245318 Differential revision: https://reviews.llvm.org/D128306
Loading
Please sign in to comment