@@ -236,10 +236,6 @@ class DeclAttribute : public AttributeBase {
236236
237237 NumFeatures : 31
238238 );
239-
240- SWIFT_INLINE_BITFIELD (ExecutionAttr, DeclAttribute, NumExecutionKindBits,
241- Behavior : NumExecutionKindBits
242- );
243239 } Bits;
244240 // clang-format on
245241
@@ -3284,34 +3280,6 @@ class ABIAttr : public DeclAttribute {
32843280 }
32853281};
32863282
3287- class ExecutionAttr : public DeclAttribute {
3288- public:
3289- ExecutionAttr (SourceLoc AtLoc, SourceRange Range,
3290- ExecutionKind behavior,
3291- bool Implicit)
3292- : DeclAttribute(DeclAttrKind::Execution, AtLoc, Range, Implicit) {
3293- Bits.ExecutionAttr .Behavior = static_cast <uint8_t >(behavior);
3294- }
3295-
3296- ExecutionAttr (ExecutionKind behavior, bool Implicit)
3297- : ExecutionAttr(/* AtLoc=*/ SourceLoc(), /* Range=*/ SourceRange(), behavior,
3298- Implicit) {}
3299-
3300- ExecutionKind getBehavior () const {
3301- return static_cast <ExecutionKind>(Bits.ExecutionAttr .Behavior );
3302- }
3303-
3304- static bool classof (const DeclAttribute *DA) {
3305- return DA->getKind () == DeclAttrKind::Execution;
3306- }
3307-
3308- UNIMPLEMENTED_CLONE (ExecutionAttr)
3309-
3310- bool isEquivalent (const ExecutionAttr *other, Decl *attachedTo) const {
3311- return getBehavior () == other->getBehavior ();
3312- }
3313- };
3314-
33153283// / Attributes that may be applied to declarations.
33163284class DeclAttributes {
33173285 // / Linked list of declaration attributes.
@@ -3771,10 +3739,6 @@ class alignas(1 << AttrAlignInBits) TypeAttribute
37713739 SWIFT_INLINE_BITFIELD_FULL (IsolatedTypeAttr, TypeAttribute, 8 ,
37723740 Kind : 8
37733741 );
3774-
3775- SWIFT_INLINE_BITFIELD_FULL (ExecutionTypeAttr, TypeAttribute, 8 ,
3776- Behavior : 8
3777- );
37783742 } Bits;
37793743 // clang-format on
37803744
@@ -4046,28 +4010,6 @@ class IsolatedTypeAttr : public SimpleTypeAttrWithArgs<TypeAttrKind::Isolated> {
40464010 void printImpl (ASTPrinter &printer, const PrintOptions &options) const ;
40474011};
40484012
4049- // / The @execution function type attribute.
4050- class ExecutionTypeAttr : public SimpleTypeAttrWithArgs <TypeAttrKind::Execution> {
4051- SourceLoc BehaviorLoc;
4052-
4053- public:
4054- ExecutionTypeAttr (SourceLoc atLoc, SourceLoc kwLoc, SourceRange parensRange,
4055- Located<ExecutionKind> behavior)
4056- : SimpleTypeAttr(atLoc, kwLoc, parensRange), BehaviorLoc(behavior.Loc) {
4057- Bits.ExecutionTypeAttr .Behavior = uint8_t (behavior.Item );
4058- }
4059-
4060- ExecutionKind getBehavior () const {
4061- return ExecutionKind (Bits.ExecutionTypeAttr .Behavior );
4062- }
4063-
4064- SourceLoc getBehaviorLoc () const {
4065- return BehaviorLoc;
4066- }
4067-
4068- void printImpl (ASTPrinter &printer, const PrintOptions &options) const ;
4069- };
4070-
40714013using TypeOrCustomAttr =
40724014 llvm::PointerUnion<CustomAttr*, TypeAttribute*>;
40734015
0 commit comments