Skip to content

Commit f633629

Browse files
committed
Add DECL_ATTR_KINDS
1 parent f5d6072 commit f633629

File tree

2 files changed

+1369
-0
lines changed

2 files changed

+1369
-0
lines changed

CodeGeneration/Sources/SyntaxSupport/AttributeKinds.swift.gyb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,38 @@ public let TYPE_ATTR_KINDS = [
8686
% end
8787
]
8888

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+
89121
/// Schema for declaration modifiers:
90122
///
91123
/// - Modifier name.

0 commit comments

Comments
 (0)