Skip to content

Commit b0003d5

Browse files
committed
Swift SIL: add an initializer to create an empty SubstitutionMap
1 parent 7c71f00 commit b0003d5

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

SwiftCompilerSources/Sources/SIL/SubstitutionMap.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//===--- PassUtils.swift - Utilities for optimization passes ---------------===//
1+
//===--- SubstitutionMap.swift --------------------------------------------===//
22
//
33
// This source file is part of the Swift.org open source project
44
//
@@ -18,4 +18,8 @@ public struct SubstitutionMap {
1818
public init(_ bridged: BridgedSubstitutionMap) {
1919
self.bridged = bridged
2020
}
21+
22+
public init() {
23+
self.bridged = SubstitutionMap_getEmpty();
24+
}
2125
}

include/swift/SIL/SILBridging.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@ BridgedType SILType_getNominalFieldType(BridgedType type, SwiftInt index,
252252
BridgedFunction function);
253253
SwiftInt SILType_getFieldIdxOfNominalType(BridgedType type,
254254
BridgedStringRef fieldName);
255-
BridgedSubstitutionMap SILType_getContextSubstitutionMap(BridgedType);
255+
256+
BridgedSubstitutionMap SubstitutionMap_getEmpty();
256257

257258
BridgedBasicBlock SILArgument_getParent(BridgedArgument argument);
258259
SwiftInt SILArgument_isExclusiveIndirectParameter(BridgedArgument argument);

lib/SIL/Utils/SILBridging.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,14 @@ SwiftInt SILType_getFieldIdxOfNominalType(BridgedType type,
489489
return -1;
490490
}
491491

492+
//===----------------------------------------------------------------------===//
493+
// SubstitutionMap
494+
//===----------------------------------------------------------------------===//
495+
496+
BridgedSubstitutionMap SubstitutionMap_getEmpty() {
497+
return {SubstitutionMap().getOpaqueValue()};
498+
}
499+
492500
//===----------------------------------------------------------------------===//
493501
// SILGlobalVariable
494502
//===----------------------------------------------------------------------===//

0 commit comments

Comments
 (0)