Skip to content

Commit 29ef3e3

Browse files
committed
ASTBridging: Bridge swift::InheritActorContextModifier directly
1 parent 68bb4b3 commit 29ef3e3

File tree

4 files changed

+20
-37
lines changed

4 files changed

+20
-37
lines changed

include/swift/AST/ASTBridging.h

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1213,17 +1213,10 @@ BridgedNonisolatedAttr_createParsed(BridgedASTContext cContext,
12131213
BridgedSourceRange cRange,
12141214
BridgedNonIsolatedModifier modifier);
12151215

1216-
enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedInheritActorContextModifier {
1217-
BridgedInheritActorContextModifierNone,
1218-
BridgedInheritActorContextModifierAlways,
1219-
};
1220-
12211216
SWIFT_NAME("BridgedInheritActorContextAttr.createParsed(_:atLoc:range:modifier:)")
1222-
BridgedInheritActorContextAttr
1223-
BridgedInheritActorContextAttr_createParsed(BridgedASTContext cContext,
1224-
BridgedSourceLoc cAtLoc,
1225-
BridgedSourceRange cRange,
1226-
BridgedInheritActorContextModifier modifier);
1217+
BridgedInheritActorContextAttr BridgedInheritActorContextAttr_createParsed(
1218+
BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
1219+
BridgedSourceRange cRange, swift::InheritActorContextModifier modifier);
12271220

12281221
SWIFT_NAME("BridgedObjCAttr.createParsedUnnamed(_:atLoc:attrNameLoc:)")
12291222
BridgedObjCAttr

include/swift/AST/AttrKind.h

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,16 +119,17 @@ enum class NonIsolatedModifier : uint8_t {
119119
Last_NonIsolatedModifier = NonSending
120120
};
121121

122-
enum class InheritActorContextModifier : uint8_t {
123-
/// Inherit the actor execution context if the isolated parameter was
124-
/// captured by the closure, context is nonisolated or isolated to a
125-
/// global actor.
126-
None = 0,
127-
/// Always inherit the actor context, even when the isolated parameter
128-
/// for the context is not closed over explicitly.
129-
Always,
130-
Last_InheritActorContextKind = Always
131-
};
122+
enum class ENUM_EXTENSIBILITY_ATTR(closed)
123+
InheritActorContextModifier : uint8_t {
124+
/// Inherit the actor execution context if the isolated parameter was
125+
/// captured by the closure, context is nonisolated or isolated to a
126+
/// global actor.
127+
None SWIFT_NAME("none") = 0,
128+
/// Always inherit the actor context, even when the isolated parameter
129+
/// for the context is not closed over explicitly.
130+
Always SWIFT_NAME("always"),
131+
Last_InheritActorContextKind = Always
132+
};
132133

133134
enum class ENUM_EXTENSIBILITY_ATTR(closed) DeclAttrKind : unsigned {
134135
#define DECL_ATTR(_, CLASS, ...) CLASS,

lib/AST/Bridging/DeclAttributeBridging.cpp

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -590,23 +590,12 @@ BridgedNonisolatedAttr_createParsed(BridgedASTContext cContext,
590590
/*implicit=*/false);
591591
}
592592

593-
static InheritActorContextModifier
594-
unbridged(BridgedInheritActorContextModifier modifier) {
595-
switch (modifier) {
596-
case BridgedInheritActorContextModifierNone:
597-
return InheritActorContextModifier::None;
598-
case BridgedInheritActorContextModifierAlways:
599-
return InheritActorContextModifier::Always;
600-
}
601-
llvm_unreachable("unhandled enum value");
602-
}
603-
604593
BridgedInheritActorContextAttr BridgedInheritActorContextAttr_createParsed(
605594
BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
606-
BridgedSourceRange cRange, BridgedInheritActorContextModifier modifier) {
607-
return new (cContext.unbridged()) InheritActorContextAttr(
608-
cAtLoc.unbridged(), cRange.unbridged(), unbridged(modifier),
609-
/*implicit=*/false);
595+
BridgedSourceRange cRange, swift::InheritActorContextModifier modifier) {
596+
return new (cContext.unbridged())
597+
InheritActorContextAttr(cAtLoc.unbridged(), cRange.unbridged(), modifier,
598+
/*implicit=*/false);
610599
}
611600

612601
BridgedObjCAttr

lib/ASTGen/Sources/ASTGen/DeclAttrs.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1423,15 +1423,15 @@ extension ASTGenVisitor {
14231423
}
14241424

14251425
func generateInheritActorContextAttr(attribute node: AttributeSyntax) -> BridgedInheritActorContextAttr? {
1426-
let modifier: BridgedInheritActorContextModifier? = self.generateSingleAttrOption(
1426+
let modifier: swift.InheritActorContextModifier? = self.generateSingleAttrOption(
14271427
attribute: node,
14281428
{
14291429
switch $0.rawText {
14301430
case "always": return .always
14311431
default: return nil
14321432
}
14331433
},
1434-
valueIfOmitted: BridgedInheritActorContextModifier.none
1434+
valueIfOmitted: swift.InheritActorContextModifier.none
14351435
)
14361436
guard let modifier else {
14371437
return nil

0 commit comments

Comments
 (0)