|
916 | 916 | '''),
|
917 | 917 | ]),
|
918 | 918 |
|
| 919 | + Node('MacroDecl', name_for_diagnostics='macro', kind='Decl', |
| 920 | + traits=['IdentifiedDecl'], |
| 921 | + children=[ |
| 922 | + Child('Attributes', kind='AttributeList', name_for_diagnostics='attributes', |
| 923 | + collection_element_name='Attribute', is_optional=True), |
| 924 | + Child('Modifiers', kind='ModifierList', name_for_diagnostics='modifiers', |
| 925 | + collection_element_name='Modifier', is_optional=True), |
| 926 | + Child('MacroKeyword', kind='ContextualKeywordToken', |
| 927 | + text_choices=['macro']), |
| 928 | + Child('Identifier', kind='IdentifierToken'), |
| 929 | + Child('GenericParameterClause', kind='GenericParameterClause', name_for_diagnostics='generic parameter clause', |
| 930 | + is_optional=True), |
| 931 | + Child('Signature', kind='Syntax', name_for_diagnostics='macro signature', |
| 932 | + node_choices=[ |
| 933 | + Child('FunctionLike', kind='FunctionSignature', name_for_diagnostics="macro signature"), |
| 934 | + Child('ValueLike', kind='TypeAnnotation', name_for_diagnostics="macro signature"), |
| 935 | + ]), |
| 936 | + Child('Equal', kind='EqualToken'), |
| 937 | + Child('ExternalName', kind='ExternalMacroName', name_for_diagnostics='external macro name', is_optional = True), |
| 938 | + Child('GenericWhereClause', kind='GenericWhereClause', name_for_diagnostics='generic where clause', |
| 939 | + is_optional=True), |
| 940 | + ]), |
| 941 | + |
| 942 | + Node('ExternalMacroName', name_for_diagnostics='external macro name', kind='Syntax', |
| 943 | + children=[ |
| 944 | + Child('ModuleName', kind='IdentifierToken', name_for_diagnostics='module name'), |
| 945 | + Child('Period', kind='PeriodToken'), |
| 946 | + Child('MacroTypeName', kind='IdentifierToken', name_for_diagnostics='macro type name'), |
| 947 | + ]), |
| 948 | + |
919 | 949 | # e.g., "#embed("filename.txt")"
|
920 | 950 | Node('MacroExpansionDecl',
|
921 | 951 | name_for_diagnostics="pound literal declaration", kind='Decl',
|
|
0 commit comments