Added extension specialization to libSyntax

This commit is contained in:
Yurii Samsoniuk
2017-12-27 16:02:55 +01:00
committed by Rintaro Ishizaki
parent aed31936ac
commit d5771cea6b
5 changed files with 65 additions and 5 deletions

View File

@@ -117,7 +117,7 @@ DECL_NODES = [
# generic-parameter-clause?
# type-inheritance-clause?
# generic-where-clause?
# '{' class-members ''
# '{' class-members '}'
# class-name -> identifier
Node('ClassDecl', kind='Decl',
children=[
@@ -141,7 +141,7 @@ DECL_NODES = [
# generic-parameter-clause?
# type-inheritance-clause?
# generic-where-clause?
# '{' struct-members ''
# '{' struct-members '}'
# struct-name -> identifier
Node('StructDecl', kind='Decl',
children=[
@@ -175,6 +175,27 @@ DECL_NODES = [
Child('Members', kind='MemberDeclBlock'),
]),
# extension-declaration -> attributes? access-level-modifier?
# 'extension' extended-type
# type-inheritance-clause?
# generic-where-clause?
# '{' extension-members '}'
# extension-name -> identifier
Node('ExtensionDecl', kind='Decl',
children=[
Child('Attributes', kind='AttributeList',
is_optional=True),
Child('AccessLevelModifier', kind='DeclModifier',
is_optional=True),
Child('ExtensionKeyword', kind='ExtensionToken'),
Child('ExtendedType', kind='Type'),
Child('InheritanceClause', kind='TypeInheritanceClause',
is_optional=True),
Child('GenericWhereClause', kind='GenericWhereClause',
is_optional=True),
Child('Members', kind='MemberDeclBlock'),
]),
Node('MemberDeclBlock', kind='Syntax',
children=[
Child('LeftBrace', kind='LeftBraceToken'),