Files
swift-mirror/utils/gyb_syntax_support/Traits.py

46 lines
1.2 KiB
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'),
]),
Trait('Parenthesized',
children=[
Child('LeftParen', kind='LeftParenToken'),
Child('RightParen', kind='RightParenToken'),
]),
Trait('WithTrailingComma',
children=[
Child('TrailingComma', kind='CommaToken', is_optional=True),
])
]