[all-commits] [llvm/llvm-project] e19339: [lldb] Identify Swift-implemented ObjC classes

Dave Lee via All-commits all-commits at lists.llvm.org
Thu Jul 20 19:32:28 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e19339f5f8c15d4307aaed14309e38e3c87121ac
      https://github.com/llvm/llvm-project/commit/e19339f5f8c15d4307aaed14309e38e3c87121ac
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2023-07-20 (Thu, 20 Jul 2023)

  Changed paths:
    M lldb/include/lldb/Target/LanguageRuntime.h
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h

  Log Message:
  -----------
  [lldb] Identify Swift-implemented ObjC classes

Classes implemented in Swift can be exposed to ObjC. For those classes, the ObjC
metadata is incomplete. Specifically, the encoded types of the ivars are incomplete. As
one might expect, the Swift metadata _is_ complete. In such cases, the Swift runtime
should be consulted when determining the dynamic type of a value.

Differential Revision: https://reviews.llvm.org/D152837




More information about the All-commits mailing list