Skip to content

Commit b218d9a

Browse files
eecksteinaschwaighofer
authored andcommitted
SIL: add some APIs for InitExistentialAddrInst
* `var conformances: ConformanceArray` * `var formalConcreteType: CanonicalType`
1 parent 60a28cd commit b218d9a

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

SwiftCompilerSources/Sources/SIL/Instruction.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -883,6 +883,10 @@ class InitExistentialAddrInst : SingleValueInstruction, UnaryInstruction {
883883
public var conformances: ConformanceArray {
884884
ConformanceArray(bridged: bridged.InitExistentialAddrInst_getConformances())
885885
}
886+
887+
public var formalConcreteType: CanonicalType {
888+
CanonicalType(bridged: bridged.InitExistentialAddrInst_getFormalConcreteType())
889+
}
886890
}
887891

888892
final public

include/swift/SIL/SILBridging.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -798,6 +798,7 @@ struct BridgedInstruction {
798798
SWIFT_IMPORT_UNSAFE BRIDGED_INLINE BridgedConformanceArray InitExistentialRefInst_getConformances() const;
799799
SWIFT_IMPORT_UNSAFE BRIDGED_INLINE BridgedCanType InitExistentialRefInst_getFormalConcreteType() const;
800800
SWIFT_IMPORT_UNSAFE BRIDGED_INLINE BridgedConformanceArray InitExistentialAddrInst_getConformances() const;
801+
SWIFT_IMPORT_UNSAFE BRIDGED_INLINE BridgedCanType InitExistentialAddrInst_getFormalConcreteType() const;
801802
BRIDGED_INLINE bool OpenExistentialAddr_isImmutable() const;
802803
SWIFT_IMPORT_UNSAFE BRIDGED_INLINE BridgedGlobalVar GlobalAccessInst_getGlobal() const;
803804
SWIFT_IMPORT_UNSAFE BRIDGED_INLINE BridgedGlobalVar AllocGlobalInst_getGlobal() const;

include/swift/SIL/SILBridgingImpl.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,6 +1252,11 @@ BridgedCanType BridgedInstruction::InitExistentialRefInst_getFormalConcreteType(
12521252
BridgedConformanceArray BridgedInstruction::InitExistentialAddrInst_getConformances() const {
12531253
return {getAs<swift::InitExistentialAddrInst>()->getConformances()};
12541254
}
1255+
1256+
BridgedCanType BridgedInstruction::InitExistentialAddrInst_getFormalConcreteType() const {
1257+
return getAs<swift::InitExistentialAddrInst>()->getFormalConcreteType();
1258+
}
1259+
12551260
bool BridgedInstruction::OpenExistentialAddr_isImmutable() const {
12561261
switch (getAs<swift::OpenExistentialAddrInst>()->getAccessKind()) {
12571262
case swift::OpenedExistentialAccess::Immutable: return true;

0 commit comments

Comments
 (0)