Skip to content

Commit 9303496

Browse files
committed
Remove the specialness from SwiftFoundationBase and SwiftFoundation re: bridged types. This isn’t great, but restores the functioning status quo.
1 parent 1308da4 commit 9303496

File tree

5 files changed

+14
-32
lines changed

5 files changed

+14
-32
lines changed

include/swift/AST/KnownIdentifiers.def

-2
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ IDENTIFIER(error)
5959
IDENTIFIER(errorDomain)
6060
IDENTIFIER(forKeyedSubscript)
6161
IDENTIFIER(Foundation)
62-
IDENTIFIER(SwiftFoundation)
6362
IDENTIFIER(FoundationBase)
64-
IDENTIFIER(SwiftFoundationBase)
6563
IDENTIFIER(for)
6664
IDENTIFIER(forKey)
6765
IDENTIFIER(from)

include/swift/SIL/BridgedTypes.def

+8-8
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,19 @@
3434
#define BRIDGING_KNOWN_TYPE(module, type)
3535
#endif
3636

37-
#ifndef BRIDGING_KNOWN_TYPE_WITH_MODULES_4
38-
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_4(module1, module2, module3, module4, type)
37+
#ifndef BRIDGING_KNOWN_TYPE_WITH_MODULES_2
38+
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_2(module1, module2, type)
3939
#endif
4040

4141
#ifndef BRIDGE_TYPE
4242
#define BRIDGE_TYPE(bmodule, btype, nmodule, ntype, opt)
4343
#endif
4444

45-
BRIDGING_KNOWN_TYPE_WITH_MODULES_4(SwiftFoundationBase, SwiftFoundation, FoundationBase, Foundation, NSString)
46-
BRIDGING_KNOWN_TYPE_WITH_MODULES_4(SwiftFoundationBase, SwiftFoundation, FoundationBase, Foundation, NSArray)
47-
BRIDGING_KNOWN_TYPE_WITH_MODULES_4(SwiftFoundationBase, SwiftFoundation, FoundationBase, Foundation, NSDictionary)
48-
BRIDGING_KNOWN_TYPE_WITH_MODULES_4(SwiftFoundationBase, SwiftFoundation, FoundationBase, Foundation, NSSet)
49-
BRIDGING_KNOWN_TYPE_WITH_MODULES_4(SwiftFoundationBase, SwiftFoundation, FoundationBase, Foundation, NSError)
45+
BRIDGING_KNOWN_TYPE_WITH_MODULES_2(FoundationBase, Foundation, NSString)
46+
BRIDGING_KNOWN_TYPE_WITH_MODULES_2(FoundationBase, Foundation, NSArray)
47+
BRIDGING_KNOWN_TYPE_WITH_MODULES_2(FoundationBase, Foundation, NSDictionary)
48+
BRIDGING_KNOWN_TYPE_WITH_MODULES_2(FoundationBase, Foundation, NSSet)
49+
BRIDGING_KNOWN_TYPE_WITH_MODULES_2(FoundationBase, Foundation, NSError)
5050
BRIDGING_KNOWN_TYPE(Swift, String)
5151
BRIDGING_KNOWN_TYPE(ObjectiveC, ObjCBool)
5252
BRIDGING_KNOWN_TYPE(ObjectiveC, Selector)
@@ -59,4 +59,4 @@ BRIDGE_TYPE(Darwin, DarwinBoolean, Swift, Bool, false)
5959

6060
#undef BRIDGING_KNOWN_TYPE
6161
#undef BRIDGE_TYPE
62-
#undef BRIDGING_KNOWN_TYPE_WITH_MODULES_4
62+
#undef BRIDGING_KNOWN_TYPE_WITH_MODULES_2

include/swift/SIL/TypeLowering.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ class TypeConverter {
697697
// Types converted during foreign bridging.
698698
#define BRIDGING_KNOWN_TYPE(BridgedModule,BridgedType) \
699699
Optional<CanType> BridgedType##Ty;
700-
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_4(_1, _2, _3, _4, BridgedType) \
700+
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_2(_1, _2, BridgedType) \
701701
Optional<CanType> BridgedType##Ty;
702702
#include "swift/SIL/BridgedTypes.def"
703703

@@ -952,7 +952,7 @@ class TypeConverter {
952952
/// Known types for bridging.
953953
#define BRIDGING_KNOWN_TYPE(BridgedModule,BridgedType) \
954954
CanType get##BridgedType##Type();
955-
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_4(_1, _2, _3, _4, BridgedType) \
955+
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_2(_1, _2, BridgedType) \
956956
CanType get##BridgedType##Type();
957957
#include "swift/SIL/BridgedTypes.def"
958958

lib/AST/ASTContext.cpp

+1-7
Original file line numberDiff line numberDiff line change
@@ -848,13 +848,7 @@ StructDecl *ASTContext::getObjCBoolDecl() const {
848848
#define GET_FOUNDATION_DECL(NAME) \
849849
ClassDecl *ASTContext::get##NAME##Decl() const { \
850850
if (!getImpl().NAME##Decl) { \
851-
ModuleDecl *M = getLoadedModule(Id_SwiftFoundationBase); \
852-
if (!M) { \
853-
M = getLoadedModule(Id_SwiftFoundation); \
854-
} \
855-
if (!M) { \
856-
M = getLoadedModule(Id_FoundationBase); \
857-
} \
851+
ModuleDecl *M = getLoadedModule(Id_FoundationBase); \
858852
if (!M) { \
859853
M = getLoadedModule(Id_Foundation); \
860854
} \

lib/SIL/SILFunctionType.cpp

+3-13
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,8 @@ static CanType getKnownType(Optional<CanType> &cacheSlot, ASTContext &C,
173173
return t;
174174
}
175175

176-
static CanType getKnownTypeFromModules4(Optional<CanType> &cacheSlot, ASTContext &C,
176+
static CanType getKnownTypeFromModules2(Optional<CanType> &cacheSlot, ASTContext &C,
177177
StringRef moduleName1, StringRef moduleName2,
178-
StringRef moduleName3, StringRef moduleName4,
179178
StringRef typeName) {
180179

181180
auto temporaryCacheSlot = Optional<CanType>();
@@ -185,14 +184,6 @@ static CanType getKnownTypeFromModules4(Optional<CanType> &cacheSlot, ASTContext
185184
temporaryCacheSlot = Optional<CanType>();
186185
T = getKnownType(temporaryCacheSlot, C, moduleName2, typeName);
187186
}
188-
if (!T) {
189-
temporaryCacheSlot = Optional<CanType>();
190-
T = getKnownType(temporaryCacheSlot, C, moduleName3, typeName);
191-
}
192-
if (!T) {
193-
temporaryCacheSlot = Optional<CanType>();
194-
T = getKnownType(temporaryCacheSlot, C, moduleName4, typeName);
195-
}
196187

197188
cacheSlot = temporaryCacheSlot;
198189
return T;
@@ -203,11 +194,10 @@ static CanType getKnownTypeFromModules4(Optional<CanType> &cacheSlot, ASTContext
203194
return getKnownType(BridgedType##Ty, M.getASTContext(), \
204195
#BridgedModule, #BridgedType); \
205196
}
206-
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_4(BridgedModule1,BridgedModule2,BridgedModule3,BridgedModule4,BridgedType) \
197+
#define BRIDGING_KNOWN_TYPE_WITH_MODULES_2(BridgedModule1,BridgedModule2,BridgedType) \
207198
CanType TypeConverter::get##BridgedType##Type() { \
208-
return getKnownTypeFromModules4(BridgedType##Ty, M.getASTContext(), \
199+
return getKnownTypeFromModules2(BridgedType##Ty, M.getASTContext(), \
209200
#BridgedModule1, #BridgedModule2, \
210-
#BridgedModule3, #BridgedModule4, \
211201
#BridgedType); \
212202
}
213203
#include "swift/SIL/BridgedTypes.def"

0 commit comments

Comments
 (0)