From 7a9a2b8bb60ac476458b92484a1db2c10b7a8abd Mon Sep 17 00:00:00 2001 From: Mike Ash Date: Wed, 19 Sep 2018 16:47:54 -0400 Subject: [PATCH 1/2] Swift is renaming some classes that are visible to Objective-C to avoid conflicts between older versions and ABI-stable versions. Change those names here as well. rdar://problem/35768222 --- lit/SwiftREPL/DeferredNSArray.test | 2 +- lit/SwiftREPL/DictBridging.test | 2 +- lit/SwiftREPL/SetBridging.test | 2 +- source/Plugins/Language/Swift/SwiftArray.cpp | 6 +-- .../Language/Swift/SwiftDictionary.cpp | 4 +- .../Plugins/Language/Swift/SwiftLanguage.cpp | 40 +++++++++---------- source/Plugins/Language/Swift/SwiftSet.cpp | 4 +- source/Target/SwiftLanguageRuntime.cpp | 4 +- 8 files changed, 32 insertions(+), 32 deletions(-) diff --git a/lit/SwiftREPL/DeferredNSArray.test b/lit/SwiftREPL/DeferredNSArray.test index 02c242cd97d1..3b6a7ab905c5 100644 --- a/lit/SwiftREPL/DeferredNSArray.test +++ b/lit/SwiftREPL/DeferredNSArray.test @@ -5,7 +5,7 @@ import Foundation let patatino = [1,2,3,4] as AnyObject -// CHECK: patatino: _SwiftDeferredNSArray = 4 values { +// CHECK: patatino: __SwiftDeferredNSArray = 4 values { // CHECK-NEXT: [0] = 1 // CHECK-NEXT: [1] = 2 // CHECK-NEXT: [2] = 3 diff --git a/lit/SwiftREPL/DictBridging.test b/lit/SwiftREPL/DictBridging.test index 171cf16f473c..3dc953952727 100644 --- a/lit/SwiftREPL/DictBridging.test +++ b/lit/SwiftREPL/DictBridging.test @@ -11,7 +11,7 @@ let d0: Dictionary = [:] // All empty dictionaries use the same type-punned storage class. let d0b = d0 as NSDictionary -// DICT-LABEL: d0b: _RawNativeDictionaryStorage = 0 key/value pairs +// DICT-LABEL: d0b: __RawNativeDictionaryStorage = 0 key/value pairs // Baseline case: native Dictionary of non-verbatim bridged elements let d1: Dictionary = [1:2] diff --git a/lit/SwiftREPL/SetBridging.test b/lit/SwiftREPL/SetBridging.test index b4db5af5a7d0..9b3f3a6e06b5 100644 --- a/lit/SwiftREPL/SetBridging.test +++ b/lit/SwiftREPL/SetBridging.test @@ -11,7 +11,7 @@ let s0: Set = [] // All empty sets use the same type-punned storage class. let s0b = s0 as NSSet -// DICT-LABEL: s0b: _RawNativeSetStorage = 0 values +// DICT-LABEL: s0b: __RawNativeSetStorage = 0 values // Baseline case: native Set of non-verbatim bridged elements let s1: Set = [1] diff --git a/source/Plugins/Language/Swift/SwiftArray.cpp b/source/Plugins/Language/Swift/SwiftArray.cpp index 8d79574b2620..5d1302dc2c56 100644 --- a/source/Plugins/Language/Swift/SwiftArray.cpp +++ b/source/Plugins/Language/Swift/SwiftArray.cpp @@ -302,9 +302,9 @@ SwiftArrayBufferHandler::CreateBufferHandler(ValueObject &valobj) { return nullptr; } - if (valobj_typename.startswith(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs21_SwiftDeferredNSArray")) - || valobj_typename.startswith("_TtCs21_SwiftDeferredNSArray") - || valobj_typename.startswith("Swift._SwiftDeferredNSArray") ) { + if (valobj_typename.startswith(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs22__SwiftDeferredNSArray")) + || valobj_typename.startswith("_TtCs22__SwiftDeferredNSArray") + || valobj_typename.startswith("Swift.__SwiftDeferredNSArray") ) { ProcessSP process_sp(valobj.GetProcessSP()); if (!process_sp) return nullptr; diff --git a/source/Plugins/Language/Swift/SwiftDictionary.cpp b/source/Plugins/Language/Swift/SwiftDictionary.cpp index 452f2c39b7b9..c1006d6a0e14 100644 --- a/source/Plugins/Language/Swift/SwiftDictionary.cpp +++ b/source/Plugins/Language/Swift/SwiftDictionary.cpp @@ -54,9 +54,9 @@ DictionaryConfig::DictionaryConfig() // Type-punned empty dictionary m_emptyStorage_mangled_ObjC = - ConstString("_TtCs27_RawNativeDictionaryStorage"); + ConstString("_TtCs28__RawNativeDictionaryStorage"); m_emptyStorage_demangled - = ConstString("Swift._RawNativeDictionaryStorage"); + = ConstString("Swift.__RawNativeDictionaryStorage"); // Deferred non-verbatim bridged dictionary m_deferredBridgedStorage_mangledRegex_ObjC diff --git a/source/Plugins/Language/Swift/SwiftLanguage.cpp b/source/Plugins/Language/Swift/SwiftLanguage.cpp index 6d2f382ad870..51e631c05993 100644 --- a/source/Plugins/Language/Swift/SwiftLanguage.cpp +++ b/source/Plugins/Language/Swift/SwiftLanguage.cpp @@ -58,12 +58,12 @@ using lldb_private::formatters::swift::DictionaryConfig; using lldb_private::formatters::swift::SetConfig; void SwiftLanguage::Initialize() { - static ConstString g_NSStringClass1(SwiftLanguageRuntime::GetCurrentMangledName("_NSContiguousString")); - static ConstString g_NSStringClass2(SwiftLanguageRuntime::GetCurrentMangledName("_TtCSs19_NSContiguousString")); - static ConstString g_NSStringClass3Old("_TtCs19_NSContiguousString"); - static ConstString g_NSStringClass3(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs19_NSContiguousString")); - static ConstString g_NSArrayClass1Old("_TtCs21_SwiftDeferredNSArray"); - static ConstString g_NSArrayClass1(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs21_SwiftDeferredNSArray")); + static ConstString g_NSStringClass1(SwiftLanguageRuntime::GetCurrentMangledName("__NSContiguousString")); + static ConstString g_NSStringClass2(SwiftLanguageRuntime::GetCurrentMangledName("_TtCSs20__NSContiguousString")); + static ConstString g_NSStringClass3Old("_TtCs20__NSContiguousString"); + static ConstString g_NSStringClass3(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs20__NSContiguousString")); + static ConstString g_NSArrayClass1Old("_TtCs22__SwiftDeferredNSArray"); + static ConstString g_NSArrayClass1(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs22__SwiftDeferredNSArray")); PluginManager::RegisterPlugin(GetPluginNameStatic(), "Swift Language", CreateInstance); @@ -98,12 +98,12 @@ void SwiftLanguage::Initialize() { void SwiftLanguage::Terminate() { // FIXME: Duplicating this list from Initialize seems error-prone. - static ConstString g_NSStringClass1(SwiftLanguageRuntime::GetCurrentMangledName("_NSContiguousString")); - static ConstString g_NSStringClass2(SwiftLanguageRuntime::GetCurrentMangledName("_TtCSs19_NSContiguousString")); - static ConstString g_NSStringClass3Old("_TtCs19_NSContiguousString"); - static ConstString g_NSStringClass3(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs19_NSContiguousString")); - static ConstString g_NSArrayClass1Old("_TtCs21_SwiftDeferredNSArray"); - static ConstString g_NSArrayClass1(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs21_SwiftDeferredNSArray")); + static ConstString g_NSStringClass1(SwiftLanguageRuntime::GetCurrentMangledName("__NSContiguousString")); + static ConstString g_NSStringClass2(SwiftLanguageRuntime::GetCurrentMangledName("_TtCSs20__NSContiguousString")); + static ConstString g_NSStringClass3Old("_TtCs20__NSContiguousString"); + static ConstString g_NSStringClass3(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs20__NSContiguousString")); + static ConstString g_NSArrayClass1Old("_TtCs22__SwiftDeferredNSArray"); + static ConstString g_NSArrayClass1(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs22__SwiftDeferredNSArray")); lldb_private::formatters::NSString_Additionals::GetAdditionalSummaries() .erase(g_NSStringClass1); @@ -327,15 +327,15 @@ static void LoadSwiftFormatters(lldb::TypeCategoryImplSP swift_category_sp) { AddCXXSummary( swift_category_sp, lldb_private::formatters::NSArraySummaryProvider, "Swift.Array summary provider", - ConstString(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs21_SwiftDeferredNSArray")), summary_flags, false); + ConstString(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs22__SwiftDeferredNSArray")), summary_flags, false); AddCXXSummary( swift_category_sp, lldb_private::formatters::swift::Array_SummaryProvider, "Swift.Array summary provider", - ConstString("Swift._SwiftDeferredNSArray"), summary_flags, false); + ConstString("Swift.__SwiftDeferredNSArray"), summary_flags, false); AddCXXSummary( swift_category_sp, lldb_private::formatters::NSArraySummaryProvider, "Swift.Array summary provider", - ConstString("_TtCs21_SwiftDeferredNSArray"), summary_flags, false); + ConstString("_TtCs22__SwiftDeferredNSArray"), summary_flags, false); DictionaryConfig::Get() .RegisterSummaryProviders(swift_category_sp, summary_flags); @@ -379,19 +379,19 @@ static void LoadSwiftFormatters(lldb::TypeCategoryImplSP swift_category_sp) { AddCXXSynthetic(swift_category_sp, lldb_private::formatters::NSArraySyntheticFrontEndCreator, "Swift.Array synthetic children", - ConstString(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs21_SwiftDeferredNSArray")), + ConstString(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs22__SwiftDeferredNSArray")), synth_flags, false); AddCXXSynthetic(swift_category_sp, lldb_private::formatters::NSArraySyntheticFrontEndCreator, "Swift.Array synthetic children", - ConstString("_TtCs21_SwiftDeferredNSArray"), + ConstString("_TtCs22__SwiftDeferredNSArray"), synth_flags, false); AddCXXSynthetic(swift_category_sp, lldb_private::formatters::swift::ArraySyntheticFrontEndCreator, "Swift.Array synthetic children", - ConstString("Swift._SwiftDeferredNSArray"), + ConstString("Swift.__SwiftDeferredNSArray"), synth_flags, false); @@ -444,13 +444,13 @@ static void LoadSwiftFormatters(lldb::TypeCategoryImplSP swift_category_sp) { AddCXXSummary( swift_category_sp, lldb_private::formatters::swift::NSContiguousString_SummaryProvider, - "NSContiguousString summary provider", ConstString("_NSContiguousString"), + "NSContiguousString summary provider", ConstString("__NSContiguousString"), summary_flags); AddCXXSummary( swift_category_sp, lldb_private::formatters::swift::NSContiguousString_SummaryProvider, "NSContiguousString summary provider", - ConstString(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs19_NSContiguousString")), summary_flags); + ConstString(SwiftLanguageRuntime::GetCurrentMangledName("_TtCs20__NSContiguousString")), summary_flags); summary_flags.SetSkipPointers(true); AddCXXSummary(swift_category_sp, lldb_private::formatters::swift::BuiltinObjC_SummaryProvider, diff --git a/source/Plugins/Language/Swift/SwiftSet.cpp b/source/Plugins/Language/Swift/SwiftSet.cpp index 9562782fedba..f9d4d224604b 100644 --- a/source/Plugins/Language/Swift/SwiftSet.cpp +++ b/source/Plugins/Language/Swift/SwiftSet.cpp @@ -54,8 +54,8 @@ SetConfig::SetConfig() ConstString("^Swift\\._HashableTypedNativeSetStorage<.+>$"); // Type-punned empty set - m_emptyStorage_mangled_ObjC = ConstString("_TtCs20_RawNativeSetStorage"); - m_emptyStorage_demangled = ConstString("Swift._RawNativeSetStorage"); + m_emptyStorage_mangled_ObjC = ConstString("_TtCs21__RawNativeSetStorage"); + m_emptyStorage_demangled = ConstString("Swift.__RawNativeSetStorage"); // Deferred non-verbatim bridged set m_deferredBridgedStorage_mangledRegex_ObjC diff --git a/source/Target/SwiftLanguageRuntime.cpp b/source/Target/SwiftLanguageRuntime.cpp index aeb06a497aab..7f36cacded4a 100644 --- a/source/Target/SwiftLanguageRuntime.cpp +++ b/source/Target/SwiftLanguageRuntime.cpp @@ -128,7 +128,7 @@ void SwiftLanguageRuntime::SetupSwiftError() { if (m_SwiftNativeNSErrorISA.hasValue()) return; - ConstString g_SwiftNativeNSError("_SwiftNativeNSError"); + ConstString g_SwiftNativeNSError("__SwiftNativeNSError"); m_SwiftNativeNSErrorISA = FindSymbolForSwiftObject( target, g_SwiftNativeNSError, eSymbolTypeObjCClass); @@ -1566,7 +1566,7 @@ bool SwiftLanguageRuntime::IsValidErrorValue( if (auto descriptor = objc_runtime->GetClassDescriptor(*instance_type_sp)) { if (descriptor->GetISA() != m_SwiftNativeNSErrorISA.getValue()) { - // not a _SwiftNativeNSError - but statically typed as ErrorType + // not a __SwiftNativeNSError - but statically typed as ErrorType // return true here if (out_error_descriptor) { *out_error_descriptor = SwiftErrorDescriptor(); From a31beee6a4f3404060dbbbc4825feda451d5162e Mon Sep 17 00:00:00 2001 From: Mike Ash Date: Fri, 21 Sep 2018 17:10:47 -0400 Subject: [PATCH 2/2] [Swift] Rename a few more instances of RawNativeSet/DictionaryStorage. --- source/Plugins/Language/Swift/SwiftDictionary.cpp | 4 ++-- source/Plugins/Language/Swift/SwiftSet.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/Plugins/Language/Swift/SwiftDictionary.cpp b/source/Plugins/Language/Swift/SwiftDictionary.cpp index 454fd38b3c02..ccc74a843802 100644 --- a/source/Plugins/Language/Swift/SwiftDictionary.cpp +++ b/source/Plugins/Language/Swift/SwiftDictionary.cpp @@ -77,9 +77,9 @@ DictionaryConfig::DictionaryConfig() m_legacy_nativeStorage_demangledRegex = ConstString("^Swift\\._HashableTypedNativeDictionaryStorage<.+,.+>$"); m_legacy_emptyStorage_mangled_ObjC = - ConstString("_TtCs27_RawNativeDictionaryStorage"); + ConstString("_TtCs28__RawNativeDictionaryStorage"); m_legacy_emptyStorage_demangled - = ConstString("Swift._RawNativeDictionaryStorage"); + = ConstString("Swift.__RawNativeDictionaryStorage"); } bool diff --git a/source/Plugins/Language/Swift/SwiftSet.cpp b/source/Plugins/Language/Swift/SwiftSet.cpp index ac05248160d9..a5f990c94c61 100644 --- a/source/Plugins/Language/Swift/SwiftSet.cpp +++ b/source/Plugins/Language/Swift/SwiftSet.cpp @@ -75,8 +75,8 @@ SetConfig::SetConfig() ConstString("Swift._HashableTypedNativeSetStorage<"); m_legacy_nativeStorage_demangledRegex = ConstString("^Swift\\._HashableTypedNativeSetStorage<.+>$"); - m_legacy_emptyStorage_mangled_ObjC = ConstString("_TtCs20_RawNativeSetStorage"); - m_legacy_emptyStorage_demangled = ConstString("Swift._RawNativeSetStorage"); + m_legacy_emptyStorage_mangled_ObjC = ConstString("_TtCs21__RawNativeSetStorage"); + m_legacy_emptyStorage_demangled = ConstString("Swift.__RawNativeSetStorage"); } bool