SwiftCompilerSources: bridged ProtocolConformance

And use that in some Builder APIs
This commit is contained in:
Erik Eckstein
2024-09-23 17:36:39 +02:00
parent 897ef2c5d4
commit f3a9b08e7a
7 changed files with 179 additions and 14 deletions

View File

@@ -434,20 +434,22 @@ public struct Builder {
public func createInitExistentialRef(instance: Value,
existentialType: Type,
useConformancesOf: InitExistentialRefInst) -> InitExistentialRefInst {
formalConcreteType: BridgedASTType,
conformances: ProtocolConformanceArray) -> InitExistentialRefInst {
let initExistential = bridged.createInitExistentialRef(instance.bridged,
existentialType.bridged,
useConformancesOf.bridged)
formalConcreteType,
conformances.bridged)
return notifyNew(initExistential.getAs(InitExistentialRefInst.self))
}
public func createInitExistentialMetatype(
metatype: Value,
existentialType: Type,
useConformancesOf: InitExistentialMetatypeInst) -> InitExistentialMetatypeInst {
conformances: ProtocolConformanceArray) -> InitExistentialMetatypeInst {
let initExistential = bridged.createInitExistentialMetatype(metatype.bridged,
existentialType.bridged,
useConformancesOf.bridged)
conformances.bridged)
return notifyNew(initExistential.getAs(InitExistentialMetatypeInst.self))
}