Files
swift-mirror/utils/gyb_syntax_support/Traits.py
Xi Ge 1b81fcb2b6 SwiftSyntax: Add a trait for those statement nodes with code block as body. (#14726)
This patch also refactors SyntaxNodes code so that protocol conformances
are declared as extensions.
2018-02-19 18:49:07 -08:00

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'),
]),
]