mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This patch also refactors SyntaxNodes code so that protocol conformances are declared as extensions.
35 lines
875 B
Python
35 lines
875 B
Python
from Child import Child
|
|
|
|
|
|
class Trait(object):
|
|
def __init__(self, trait_name, children):
|
|
self.trait_name = trait_name
|
|
self.children = children
|
|
|
|
|
|
TRAITS = [
|
|
Trait('DeclGroup',
|
|
children=[
|
|
Child('Attributes', kind='AttributeList', is_optional=True),
|
|
Child('AccessLevelModifier', kind='DeclModifier',
|
|
is_optional=True),
|
|
Child('Members', kind='MemberDeclBlock'),
|
|
]),
|
|
|
|
Trait('Braced',
|
|
children=[
|
|
Child('LeftBrace', kind='LeftBraceToken'),
|
|
Child('RightBrace', kind='RightBraceToken'),
|
|
]),
|
|
|
|
Trait('IdentifiedDecl',
|
|
children=[
|
|
Child('Identifier', kind='IdentifierToken'),
|
|
]),
|
|
|
|
Trait('WithCodeBlock',
|
|
children=[
|
|
Child('Body', kind='CodeBlock'),
|
|
]),
|
|
]
|