[SE-0290] Add #unavailable

This commit is contained in:
Bruno Rocha
2021-06-13 00:28:11 +02:00
parent 92b7e135b8
commit 1fe3857735
22 changed files with 591 additions and 101 deletions

View File

@@ -198,6 +198,7 @@ STMT_NODES = [
node_choices=[
Child('Expression', kind='Expr'),
Child('Availablity', kind='AvailabilityCondition'),
Child('Unavailablity', kind='UnavailabilityCondition'),
Child('MatchingPattern',
kind='MatchingPatternCondition'),
Child('OptionalBinding',
@@ -236,6 +237,16 @@ STMT_NODES = [
Child('Initializer', kind='InitializerClause'),
]),
# unavailability-condition -> '#unavailable' '(' availability-spec ')'
Node('UnavailabilityCondition', kind='Syntax',
children=[
Child('PoundUnavailableKeyword', kind='PoundUnavailableToken'),
Child('LeftParen', kind='LeftParenToken'),
Child('AvailabilitySpec', kind='AvailabilitySpecList',
collection_element_name='AvailabilityArgument'),
Child('RightParen', kind='RightParenToken'),
]),
# condition-list -> condition
# | condition ','? condition-list
Node('ConditionElementList', kind='SyntaxCollection',