mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The Clang Importer when C++ interop is not enabled, disambigate an Obj-C class and protocol that are named the same by appending `Protocol` to the protocol. This was not happening when C++ interop was enabled, but should also apply to Obj-C++ modules. The fix is providing an starting scope for the search, which the C++ name lookup need to actually find the similarly named counterpart. Includes a test to avoid this problem creeping in again, and locally it did not break any other tests.
95 lines
1.5 KiB
Plaintext
95 lines
1.5 KiB
Plaintext
module AccessSpecifiers {
|
|
header "access-specifiers.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module TypeClassification {
|
|
header "type-classification.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module Constructors {
|
|
header "constructors.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module ConstructorsObjC {
|
|
header "constructors-objc.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module Destructors {
|
|
header "destructors.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module Extensions {
|
|
header "extensions.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module LoadableTypes {
|
|
header "loadable-types.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MemberwiseInitializer {
|
|
header "memberwise-initializer.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MemoryLayout {
|
|
header "memory-layout.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MemberVariables {
|
|
header "member-variables.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MutableMembers {
|
|
header "mutable-members.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module MutabilityAnnotations {
|
|
header "mutability-annotations.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module ProtocolConformance {
|
|
header "protocol-conformance.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module SynthesizedInitializers {
|
|
header "synthesized-initializers.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module DebugInfo {
|
|
header "debug-info.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module NestedRecords {
|
|
header "nested-records.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module LinkedRecords {
|
|
header "linked-records.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module InvalidNestedStruct {
|
|
header "invalid-nested-struct.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module ClassProtocolNameClash {
|
|
header "class-protocol-name-clash.h"
|
|
requires cplusplus
|
|
}
|