Skip to content

Commit 68bb4b3

Browse files
committed
ASTBridging: Bridge swift::EffectsKind directly
1 parent 12de029 commit 68bb4b3

File tree

4 files changed

+17
-44
lines changed

4 files changed

+17
-44
lines changed

include/swift/AST/ASTBridging.h

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -983,19 +983,10 @@ BridgedDynamicReplacementAttr BridgedDynamicReplacementAttr_createParsed(
983983
BridgedSourceLoc cAttrNameLoc, BridgedSourceLoc cLParenLoc,
984984
BridgedDeclNameRef cReplacedFunction, BridgedSourceLoc cRParenLoc);
985985

986-
enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedEffectsKind {
987-
BridgedEffectsKindReadNone,
988-
BridgedEffectsKindReadOnly,
989-
BridgedEffectsKindReleaseNone,
990-
BridgedEffectsKindReadWrite,
991-
BridgedEffectsKindUnspecified,
992-
BridgedEffectsKindCustom,
993-
};
994-
995986
SWIFT_NAME("BridgedEffectsAttr.createParsed(_:atLoc:range:effectKind:)")
996987
BridgedEffectsAttr BridgedEffectsAttr_createParsed(
997988
BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
998-
BridgedSourceRange cRange, BridgedEffectsKind cEffectKind);
989+
BridgedSourceRange cRange, swift::EffectsKind effectKind);
999990

1000991
SWIFT_NAME("BridgedEffectsAttr.createParsed(_:atLoc:range:customString:"
1001992
"customStringLoc:)")

include/swift/AST/AttrKind.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ enum class InlineKind : uint8_t {
8484
/// This enum represents the possible values of the @_effects attribute.
8585
/// These values are ordered from the strongest guarantee to the weakest,
8686
/// so please do not reorder existing values.
87-
enum class EffectsKind : uint8_t {
88-
ReadNone,
89-
ReadOnly,
90-
ReleaseNone,
91-
ReadWrite,
92-
Unspecified,
93-
Custom,
94-
Last_EffectsKind = Unspecified
87+
enum class ENUM_EXTENSIBILITY_ATTR(closed) EffectsKind : uint8_t {
88+
ReadNone SWIFT_NAME("readnone"),
89+
ReadOnly SWIFT_NAME("readonly"),
90+
ReleaseNone SWIFT_NAME("releasenone"),
91+
ReadWrite SWIFT_NAME("readwrite"),
92+
Unspecified SWIFT_NAME("unspecified"),
93+
Custom SWIFT_NAME("custom"),
94+
Last_EffectsKind = Custom
9595
};
9696

9797
/// This enum represents the possible values of the @_expose attribute.

lib/AST/Bridging/DeclAttributeBridging.cpp

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -296,29 +296,11 @@ BridgedDocumentationAttr BridgedDocumentationAttr_createParsed(
296296
optAccessLevel, /*implicit=*/false);
297297
}
298298

299-
static EffectsKind unbridged(BridgedEffectsKind kind) {
300-
switch (kind) {
301-
case BridgedEffectsKindReadNone:
302-
return EffectsKind::ReadNone;
303-
case BridgedEffectsKindReadOnly:
304-
return EffectsKind::ReadOnly;
305-
case BridgedEffectsKindReleaseNone:
306-
return EffectsKind::ReleaseNone;
307-
case BridgedEffectsKindReadWrite:
308-
return EffectsKind::ReadWrite;
309-
case BridgedEffectsKindUnspecified:
310-
return EffectsKind::Unspecified;
311-
case BridgedEffectsKindCustom:
312-
return EffectsKind::Custom;
313-
}
314-
llvm_unreachable("unhandled kind");
315-
}
316-
317299
BridgedEffectsAttr BridgedEffectsAttr_createParsed(
318300
BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
319-
BridgedSourceRange cRange, BridgedEffectsKind cEffectKind) {
320-
return new (cContext.unbridged()) EffectsAttr(
321-
cAtLoc.unbridged(), cRange.unbridged(), unbridged(cEffectKind));
301+
BridgedSourceRange cRange, swift::EffectsKind effectKind) {
302+
return new (cContext.unbridged())
303+
EffectsAttr(cAtLoc.unbridged(), cRange.unbridged(), effectKind);
322304
}
323305

324306
BridgedEffectsAttr BridgedEffectsAttr_createParsed(

lib/ASTGen/Sources/ASTGen/DeclAttrs.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -838,16 +838,16 @@ extension ASTGenVisitor {
838838
// TODO: Diagnose?
839839
return nil
840840
}
841-
let effectKind: BridgedEffectsKind
841+
let effectKind: swift.EffectsKind
842842
switch arguments.first!.rawText {
843843
case "readonly":
844-
effectKind = .readOnly
844+
effectKind = .readonly
845845
case "readnone":
846-
effectKind = .readNone
846+
effectKind = .readnone
847847
case "releasenone":
848-
effectKind = .releaseNone
848+
effectKind = .releasenone
849849
case "readwrite":
850-
effectKind = .readWrite
850+
effectKind = .readwrite
851851
default:
852852
effectKind = .custom
853853
}

0 commit comments

Comments
 (0)