Skip to content

Commit ac55dae

Browse files
committed
AST: add the possibility to compare SubstitutionMaps
1 parent 85a6df3 commit ac55dae

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

SwiftCompilerSources/Sources/AST/SubstitutionMap.swift

+6-2
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ public struct SubstitutionMap: CustomStringConvertible, NoReflectionChildren {
2424
public init(bridged: BridgedSubstitutionMap) {
2525
self.bridged = bridged
2626
}
27-
27+
2828
public init() {
2929
self.bridged = BridgedSubstitutionMap()
3030
}
31-
31+
3232
public init(genericSignature: GenericSignature, replacementTypes: [Type]) {
3333
let bridgedReplTypes = replacementTypes.map { $0.bridged }
3434
self.bridged = bridgedReplTypes.withBridgedArrayRef {
@@ -73,4 +73,8 @@ public struct SubstitutionMap: CustomStringConvertible, NoReflectionChildren {
7373
assert(replacementTypes.count == 1)
7474
return replacementTypes[0]
7575
}
76+
77+
public static func ==(lhs: SubstitutionMap, rhs: SubstitutionMap) -> Bool {
78+
lhs.bridged.isEqualTo(rhs.bridged)
79+
}
7680
}

include/swift/AST/ASTBridging.h

+1
Original file line numberDiff line numberDiff line change
@@ -3171,6 +3171,7 @@ struct BridgedSubstitutionMap {
31713171
BRIDGED_INLINE BridgedSubstitutionMap();
31723172
BridgedOwnedString getDebugDescription() const;
31733173
BRIDGED_INLINE bool isEmpty() const;
3174+
BRIDGED_INLINE bool isEqualTo(BridgedSubstitutionMap rhs) const;
31743175
BRIDGED_INLINE bool hasAnySubstitutableParams() const;
31753176
BRIDGED_INLINE SwiftInt getNumConformances() const;
31763177
SWIFT_IMPORT_UNSAFE BRIDGED_INLINE BridgedConformance getConformance(SwiftInt index) const;

include/swift/AST/ASTBridgingImpl.h

+4
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,10 @@ bool BridgedSubstitutionMap::isEmpty() const {
759759
return unbridged().empty();
760760
}
761761

762+
bool BridgedSubstitutionMap::isEqualTo(BridgedSubstitutionMap rhs) const {
763+
return unbridged() == rhs.unbridged();
764+
}
765+
762766
bool BridgedSubstitutionMap::hasAnySubstitutableParams() const {
763767
return unbridged().hasAnySubstitutableParams();
764768
}

0 commit comments

Comments
 (0)