File tree 7 files changed +63599
-63080
lines changed
7 files changed +63599
-63080
lines changed Original file line number Diff line number Diff line change @@ -340,20 +340,21 @@ let y = if x == 5 { 10 } else { 15 };
340
340
left: (identifier)
341
341
right: (integer_literal))
342
342
consequence: (block)
343
- alternative: (if_expression
344
- condition: (binary_expression
345
- left: (identifier)
346
- right: (integer_literal))
347
- consequence: (block)
348
- alternative: (block)))))
343
+ alternative: (else_clause
344
+ (if_expression
345
+ condition: (binary_expression
346
+ left: (identifier)
347
+ right: (integer_literal))
348
+ consequence: (block)
349
+ alternative: (else_clause (block)))))))
349
350
(let_declaration
350
351
pattern: (identifier)
351
352
value: (if_expression
352
353
condition: (binary_expression
353
354
left: (identifier)
354
355
right: (integer_literal))
355
356
consequence: (block (integer_literal))
356
- alternative: (block (integer_literal)))))
357
+ alternative: (else_clause ( block (integer_literal) )))))
357
358
358
359
============================================
359
360
If let expressions
Original file line number Diff line number Diff line change @@ -1065,7 +1065,7 @@ module.exports = grammar({
1065
1065
'if' ,
1066
1066
field ( 'condition' , $ . _expression ) ,
1067
1067
field ( 'consequence' , $ . block ) ,
1068
- optional ( $ . _else_tail )
1068
+ optional ( field ( "alternative" , $ . else_clause ) )
1069
1069
) ,
1070
1070
1071
1071
if_let_expression : $ => seq (
@@ -1075,16 +1075,16 @@ module.exports = grammar({
1075
1075
'=' ,
1076
1076
field ( 'value' , $ . _expression ) ,
1077
1077
field ( 'consequence' , $ . block ) ,
1078
- optional ( $ . _else_tail )
1078
+ optional ( field ( 'alternative' , $ . else_clause ) )
1079
1079
) ,
1080
1080
1081
- _else_tail : $ => seq (
1081
+ else_clause : $ => seq (
1082
1082
'else' ,
1083
- field ( 'alternative' , choice (
1083
+ choice (
1084
1084
$ . block ,
1085
1085
$ . if_expression ,
1086
1086
$ . if_let_expression
1087
- ) )
1087
+ )
1088
1088
) ,
1089
1089
1090
1090
match_expression : $ => seq (
Original file line number Diff line number Diff line change 13
13
"nan" : " ^2.8.0"
14
14
},
15
15
"devDependencies" : {
16
- "tree-sitter-cli" : " ^0.16.7 "
16
+ "tree-sitter-cli" : " ^0.17.3 "
17
17
},
18
18
"scripts" : {
19
19
"test" : " tree-sitter test && script/parse-examples" ,
Original file line number Diff line number Diff line change 6185
6185
"type" : " CHOICE" ,
6186
6186
"members" : [
6187
6187
{
6188
- "type" : " SYMBOL" ,
6189
- "name" : " _else_tail"
6188
+ "type" : " FIELD" ,
6189
+ "name" : " alternative" ,
6190
+ "content" : {
6191
+ "type" : " SYMBOL" ,
6192
+ "name" : " else_clause"
6193
+ }
6190
6194
},
6191
6195
{
6192
6196
"type" : " BLANK"
6238
6242
"type" : " CHOICE" ,
6239
6243
"members" : [
6240
6244
{
6241
- "type" : " SYMBOL" ,
6242
- "name" : " _else_tail"
6245
+ "type" : " FIELD" ,
6246
+ "name" : " alternative" ,
6247
+ "content" : {
6248
+ "type" : " SYMBOL" ,
6249
+ "name" : " else_clause"
6250
+ }
6243
6251
},
6244
6252
{
6245
6253
"type" : " BLANK"
6248
6256
}
6249
6257
]
6250
6258
},
6251
- "_else_tail " : {
6259
+ "else_clause " : {
6252
6260
"type" : " SEQ" ,
6253
6261
"members" : [
6254
6262
{
6255
6263
"type" : " STRING" ,
6256
6264
"value" : " else"
6257
6265
},
6258
6266
{
6259
- "type" : " FIELD" ,
6260
- "name" : " alternative" ,
6261
- "content" : {
6262
- "type" : " CHOICE" ,
6263
- "members" : [
6264
- {
6265
- "type" : " SYMBOL" ,
6266
- "name" : " block"
6267
- },
6268
- {
6269
- "type" : " SYMBOL" ,
6270
- "name" : " if_expression"
6271
- },
6272
- {
6273
- "type" : " SYMBOL" ,
6274
- "name" : " if_let_expression"
6275
- }
6276
- ]
6277
- }
6267
+ "type" : " CHOICE" ,
6268
+ "members" : [
6269
+ {
6270
+ "type" : " SYMBOL" ,
6271
+ "name" : " block"
6272
+ },
6273
+ {
6274
+ "type" : " SYMBOL" ,
6275
+ "name" : " if_expression"
6276
+ },
6277
+ {
6278
+ "type" : " SYMBOL" ,
6279
+ "name" : " if_let_expression"
6280
+ }
6281
+ ]
6278
6282
}
6279
6283
]
6280
6284
},
Original file line number Diff line number Diff line change 1175
1175
}
1176
1176
}
1177
1177
},
1178
+ {
1179
+ "type" : " else_clause" ,
1180
+ "named" : true ,
1181
+ "fields" : {},
1182
+ "children" : {
1183
+ "multiple" : false ,
1184
+ "required" : true ,
1185
+ "types" : [
1186
+ {
1187
+ "type" : " block" ,
1188
+ "named" : true
1189
+ },
1190
+ {
1191
+ "type" : " if_expression" ,
1192
+ "named" : true
1193
+ },
1194
+ {
1195
+ "type" : " if_let_expression" ,
1196
+ "named" : true
1197
+ }
1198
+ ]
1199
+ }
1200
+ },
1178
1201
{
1179
1202
"type" : " empty_statement" ,
1180
1203
"named" : true ,
1987
2010
"required" : false ,
1988
2011
"types" : [
1989
2012
{
1990
- "type" : " block" ,
1991
- "named" : true
1992
- },
1993
- {
1994
- "type" : " if_expression" ,
1995
- "named" : true
1996
- },
1997
- {
1998
- "type" : " if_let_expression" ,
2013
+ "type" : " else_clause" ,
1999
2014
"named" : true
2000
2015
}
2001
2016
]
2031
2046
"required" : false ,
2032
2047
"types" : [
2033
2048
{
2034
- "type" : " block" ,
2035
- "named" : true
2036
- },
2037
- {
2038
- "type" : " if_expression" ,
2039
- "named" : true
2040
- },
2041
- {
2042
- "type" : " if_let_expression" ,
2049
+ "type" : " else_clause" ,
2043
2050
"named" : true
2044
2051
}
2045
2052
]
You can’t perform that action at this time.
0 commit comments