@@ -86,6 +86,38 @@ public let TYPE_ATTR_KINDS = [
86
86
% end
87
87
]
88
88
89
+ // Schema for `DeclAttribute`s:
90
+ //
91
+ // - Attribute name.
92
+ // - C++ class name without the 'Attr' suffix
93
+ // - Options for the attribute, including:
94
+ // * the declarations the attribute can appear on
95
+ // * whether duplicates are allowed
96
+ // - Unique attribute identifier used for serialization. This
97
+ // can never be changed.
98
+ //
99
+ // SimpleDeclAttribute is the same, but the class becomes
100
+ // SimpleDeclAttr<DAK_##NAME> on the C++ side.
101
+ //
102
+ // Please help ease code review/audits:
103
+ // - Please place the "OnXYZ" flags together on the next line.
104
+ // - Please place the non-OnXYZ flags together on the next to last line.
105
+ // - Please place the unique code number on the last line.
106
+ // - Please sort attributes by serialization number.
107
+ // - Please create a "NOTE" comment if a unique number is skipped.
108
+ //
109
+ // If you're adding a new kind of "attribute" that is spelled without a leading
110
+ // '@' symbol, add an entry to the `DECL_MODIFIER_KINDS` array instead.
111
+ //
112
+ // If you're adding a new underscored attribute here, please document it in
113
+ // docs/ReferenceGuides/UnderscoredAttributes.md.
114
+ public let DECL_ATTR_KINDS: [ Attribute ] = [
115
+ % for attr in DECL_ATTR_KINDS :
116
+ ${ make_swift_attribute ( attr) } ,
117
+ % end
118
+ ]
119
+
120
+
89
121
/// Schema for declaration modifiers:
90
122
///
91
123
/// - Modifier name.
0 commit comments