Skip to content

Commit deb6657

Browse files
committed
rename EXPRESSION_EXCEPT_STRUCT into SCRUTINEE
1 parent ba0a8ee commit deb6657

File tree

2 files changed

+178
-178
lines changed

2 files changed

+178
-178
lines changed

community-rust-frontend/src/main/java/org/sonar/rust/RustGrammar.java

Lines changed: 73 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public enum RustGrammar implements GrammarRuleKey {
9696
EQ_EXPRESSION,
9797
ERROR_PROPAGATION_EXPRESSION,
9898
EXPRESSION,
99-
EXPRESSION_EXCEPT_STRUCT,
99+
SCRUTINEE,
100100
EXPRESSION_STATEMENT,
101101
EXPRESSION_TERM,
102102
EXPRESSION_TERM_EXCEPT_STRUCT,
@@ -1122,16 +1122,16 @@ public static void expressions(LexerlessGrammarBuilder b) {
11221122

11231123
));
11241124

1125-
b.rule(EXPRESSION_EXCEPT_STRUCT).is(
1125+
b.rule(SCRUTINEE).is(
11261126
b.zeroOrMore(OUTER_ATTRIBUTE, SPC),
11271127
b.firstOf(
1128-
b.sequence(RustKeyword.KW_BREAK, SPC, b.optional(LIFETIME_OR_LABEL, SPC), b.optional(EXPRESSION_EXCEPT_STRUCT, SPC), b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
1128+
b.sequence(RustKeyword.KW_BREAK, SPC, b.optional(LIFETIME_OR_LABEL, SPC), b.optional(SCRUTINEE, SPC), b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11291129
b.sequence(BOX_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11301130
b.sequence(CONTINUE_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11311131
b.sequence(RustPunctuator.DOTDOT, b.next(")")),
11321132
b.sequence(RANGE_TO_INCLUSIVE_EXPR, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11331133
b.sequence(RustPunctuator.DOTDOT, b.nextNot(RustPunctuator.EQ), b.endOfInput()),
1134-
b.sequence(RustPunctuator.DOTDOT, b.nextNot(RustPunctuator.EQ), EXPRESSION_EXCEPT_STRUCT),
1134+
b.sequence(RustPunctuator.DOTDOT, b.nextNot(RustPunctuator.EQ), SCRUTINEE),
11351135
b.sequence(LITERAL_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11361136
b.sequence(BLOCK_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11371137
b.sequence(MATCH_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
@@ -1142,7 +1142,7 @@ public static void expressions(LexerlessGrammarBuilder b) {
11421142
b.sequence(IF_LET_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11431143
b.sequence(CLOSURE_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11441144
b.sequence(BORROW_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
1145-
b.sequence(RustPunctuator.STAR, EXPRESSION_EXCEPT_STRUCT, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
1145+
b.sequence(RustPunctuator.STAR, SCRUTINEE, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11461146
b.sequence(NEGATION_EXPRESSION_EXCEPT_STRUCT, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11471147
b.sequence(MACRO_INVOCATION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
11481148
b.sequence(RETURN_EXPRESSION, b.zeroOrMore(SPC, EXPRESSION_TERM_EXCEPT_STRUCT)),
@@ -1235,44 +1235,44 @@ public static void expressions(LexerlessGrammarBuilder b) {
12351235
b.rule(EXPRESSION_TERM_EXCEPT_STRUCT).is(
12361236
b.firstOf(
12371237
b.sequence(RustPunctuator.DOTDOT, b.nextNot(RustPunctuator.EQ), b.endOfInput()),
1238-
b.sequence(RustPunctuator.DOTDOTEQ, EXPRESSION_EXCEPT_STRUCT),
1239-
b.sequence(RustPunctuator.DOTDOT, b.nextNot(RustPunctuator.EQ), b.optional(EXPRESSION_EXCEPT_STRUCT)),
1238+
b.sequence(RustPunctuator.DOTDOTEQ, SCRUTINEE),
1239+
b.sequence(RustPunctuator.DOTDOT, b.nextNot(RustPunctuator.EQ), b.optional(SCRUTINEE)),
12401240
b.sequence(RustPunctuator.DOT, RustKeyword.KW_AWAIT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
12411241
b.sequence(RustPunctuator.DOT, PATH_EXPR_SEGMENT, SPC, "(", SPC, b.optional(CALL_PARAMS, SPC), ")", SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
12421242
b.sequence(RustPunctuator.DOT, TUPLE_INDEX, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
12431243
b.sequence(RustPunctuator.DOT, IDENTIFIER, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
12441244
b.sequence("(", SPC, b.optional(CALL_PARAMS), SPC, ")", SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
12451245
b.sequence(RustPunctuator.QUESTION, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
12461246
b.sequence(RustKeyword.KW_AS, SPC, TYPE_NO_BOUNDS, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1247-
b.sequence("[", SPC, EXPRESSION_EXCEPT_STRUCT, SPC, "]", SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1248-
b.sequence(RustPunctuator.OROR, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1249-
b.sequence(RustPunctuator.ANDAND, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1250-
b.sequence(RustPunctuator.NE, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1251-
b.sequence(RustPunctuator.GT, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1252-
b.sequence(RustPunctuator.LT, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1253-
b.sequence(RustPunctuator.GE, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1254-
b.sequence(RustPunctuator.LE, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1255-
b.sequence(RustPunctuator.PLUS, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1256-
b.sequence(RustPunctuator.MINUS, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1257-
b.sequence(RustPunctuator.STAR, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1258-
b.sequence(RustPunctuator.SLASH, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1259-
b.sequence(RustPunctuator.PERCENT, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1260-
b.sequence(RustPunctuator.AND, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1261-
b.sequence(RustPunctuator.OR, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1262-
b.sequence(RustPunctuator.CARET, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1263-
b.sequence(RustPunctuator.SHL, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1264-
b.sequence(RustPunctuator.SHR, SPC, EXPRESSION_EXCEPT_STRUCT, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1265-
b.sequence(RustPunctuator.EQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1266-
b.sequence(RustPunctuator.PLUSEQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1267-
b.sequence(RustPunctuator.MINUSEQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1268-
b.sequence(RustPunctuator.STAREQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1269-
b.sequence(RustPunctuator.SLASHEQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1270-
b.sequence(RustPunctuator.PERCENTEQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1271-
b.sequence(RustPunctuator.ANDEQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1272-
b.sequence(RustPunctuator.OREQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1273-
b.sequence(RustPunctuator.CARETEQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1274-
b.sequence(RustPunctuator.SHLEQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1275-
b.sequence(RustPunctuator.SHREQ, SPC, EXPRESSION_EXCEPT_STRUCT, EXPRESSION_TERM_EXCEPT_STRUCT),
1247+
b.sequence("[", SPC, SCRUTINEE, SPC, "]", SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1248+
b.sequence(RustPunctuator.OROR, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1249+
b.sequence(RustPunctuator.ANDAND, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1250+
b.sequence(RustPunctuator.NE, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1251+
b.sequence(RustPunctuator.GT, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1252+
b.sequence(RustPunctuator.LT, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1253+
b.sequence(RustPunctuator.GE, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1254+
b.sequence(RustPunctuator.LE, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1255+
b.sequence(RustPunctuator.PLUS, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1256+
b.sequence(RustPunctuator.MINUS, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1257+
b.sequence(RustPunctuator.STAR, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1258+
b.sequence(RustPunctuator.SLASH, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1259+
b.sequence(RustPunctuator.PERCENT, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1260+
b.sequence(RustPunctuator.AND, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1261+
b.sequence(RustPunctuator.OR, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1262+
b.sequence(RustPunctuator.CARET, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1263+
b.sequence(RustPunctuator.SHL, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1264+
b.sequence(RustPunctuator.SHR, SPC, SCRUTINEE, SPC, EXPRESSION_TERM_EXCEPT_STRUCT),
1265+
b.sequence(RustPunctuator.EQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1266+
b.sequence(RustPunctuator.PLUSEQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1267+
b.sequence(RustPunctuator.MINUSEQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1268+
b.sequence(RustPunctuator.STAREQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1269+
b.sequence(RustPunctuator.SLASHEQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1270+
b.sequence(RustPunctuator.PERCENTEQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1271+
b.sequence(RustPunctuator.ANDEQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1272+
b.sequence(RustPunctuator.OREQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1273+
b.sequence(RustPunctuator.CARETEQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1274+
b.sequence(RustPunctuator.SHLEQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
1275+
b.sequence(RustPunctuator.SHREQ, SPC, SCRUTINEE, EXPRESSION_TERM_EXCEPT_STRUCT),
12761276
b.sequence(RustPunctuator.DOT, RustKeyword.KW_AWAIT),
12771277
b.sequence(RustPunctuator.DOT, PATH_EXPR_SEGMENT, SPC, "(", SPC, b.optional(CALL_PARAMS, SPC), ")"),
12781278
b.sequence(RustPunctuator.DOT, TUPLE_INDEX),
@@ -1281,35 +1281,35 @@ public static void expressions(LexerlessGrammarBuilder b) {
12811281
RustPunctuator.QUESTION,
12821282
b.sequence(RustKeyword.KW_AS, SPC, TYPE_NO_BOUNDS),
12831283
b.sequence("[", SPC, EXPRESSION, SPC, "]"),
1284-
b.sequence(RustPunctuator.OROR, SPC, EXPRESSION_EXCEPT_STRUCT),
1285-
b.sequence(RustPunctuator.ANDAND, SPC, EXPRESSION_EXCEPT_STRUCT),
1286-
b.sequence(RustPunctuator.EQEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1287-
b.sequence(RustPunctuator.NE, SPC, EXPRESSION_EXCEPT_STRUCT),
1288-
b.sequence(RustPunctuator.GT, SPC, EXPRESSION_EXCEPT_STRUCT),
1289-
b.sequence(RustPunctuator.LT, SPC, EXPRESSION_EXCEPT_STRUCT),
1290-
b.sequence(RustPunctuator.GE, SPC, EXPRESSION_EXCEPT_STRUCT),
1291-
b.sequence(RustPunctuator.LE, SPC, EXPRESSION_EXCEPT_STRUCT),
1292-
b.sequence(RustPunctuator.PLUS, SPC, EXPRESSION_EXCEPT_STRUCT),
1293-
b.sequence(RustPunctuator.MINUS, SPC, EXPRESSION_EXCEPT_STRUCT),
1294-
b.sequence(RustPunctuator.STAR, SPC, EXPRESSION_EXCEPT_STRUCT),
1295-
b.sequence(RustPunctuator.SLASH, SPC, EXPRESSION_EXCEPT_STRUCT),
1296-
b.sequence(RustPunctuator.PERCENT, SPC, EXPRESSION_EXCEPT_STRUCT),
1297-
b.sequence(RustPunctuator.AND, SPC, EXPRESSION_EXCEPT_STRUCT),
1298-
b.sequence(RustPunctuator.OR, SPC, EXPRESSION_EXCEPT_STRUCT),
1299-
b.sequence(RustPunctuator.CARET, SPC, EXPRESSION_EXCEPT_STRUCT),
1300-
b.sequence(RustPunctuator.SHL, SPC, EXPRESSION_EXCEPT_STRUCT),
1301-
b.sequence(RustPunctuator.SHR, SPC, EXPRESSION_EXCEPT_STRUCT),
1302-
b.sequence(RustPunctuator.EQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1303-
b.sequence(RustPunctuator.PLUSEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1304-
b.sequence(RustPunctuator.MINUSEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1305-
b.sequence(RustPunctuator.STAREQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1306-
b.sequence(RustPunctuator.SLASHEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1307-
b.sequence(RustPunctuator.PERCENTEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1308-
b.sequence(RustPunctuator.ANDEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1309-
b.sequence(RustPunctuator.OREQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1310-
b.sequence(RustPunctuator.CARETEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1311-
b.sequence(RustPunctuator.SHLEQ, SPC, EXPRESSION_EXCEPT_STRUCT),
1312-
b.sequence(RustPunctuator.SHREQ, SPC, EXPRESSION_EXCEPT_STRUCT)));
1284+
b.sequence(RustPunctuator.OROR, SPC, SCRUTINEE),
1285+
b.sequence(RustPunctuator.ANDAND, SPC, SCRUTINEE),
1286+
b.sequence(RustPunctuator.EQEQ, SPC, SCRUTINEE),
1287+
b.sequence(RustPunctuator.NE, SPC, SCRUTINEE),
1288+
b.sequence(RustPunctuator.GT, SPC, SCRUTINEE),
1289+
b.sequence(RustPunctuator.LT, SPC, SCRUTINEE),
1290+
b.sequence(RustPunctuator.GE, SPC, SCRUTINEE),
1291+
b.sequence(RustPunctuator.LE, SPC, SCRUTINEE),
1292+
b.sequence(RustPunctuator.PLUS, SPC, SCRUTINEE),
1293+
b.sequence(RustPunctuator.MINUS, SPC, SCRUTINEE),
1294+
b.sequence(RustPunctuator.STAR, SPC, SCRUTINEE),
1295+
b.sequence(RustPunctuator.SLASH, SPC, SCRUTINEE),
1296+
b.sequence(RustPunctuator.PERCENT, SPC, SCRUTINEE),
1297+
b.sequence(RustPunctuator.AND, SPC, SCRUTINEE),
1298+
b.sequence(RustPunctuator.OR, SPC, SCRUTINEE),
1299+
b.sequence(RustPunctuator.CARET, SPC, SCRUTINEE),
1300+
b.sequence(RustPunctuator.SHL, SPC, SCRUTINEE),
1301+
b.sequence(RustPunctuator.SHR, SPC, SCRUTINEE),
1302+
b.sequence(RustPunctuator.EQ, SPC, SCRUTINEE),
1303+
b.sequence(RustPunctuator.PLUSEQ, SPC, SCRUTINEE),
1304+
b.sequence(RustPunctuator.MINUSEQ, SPC, SCRUTINEE),
1305+
b.sequence(RustPunctuator.STAREQ, SPC, SCRUTINEE),
1306+
b.sequence(RustPunctuator.SLASHEQ, SPC, SCRUTINEE),
1307+
b.sequence(RustPunctuator.PERCENTEQ, SPC, SCRUTINEE),
1308+
b.sequence(RustPunctuator.ANDEQ, SPC, SCRUTINEE),
1309+
b.sequence(RustPunctuator.OREQ, SPC, SCRUTINEE),
1310+
b.sequence(RustPunctuator.CARETEQ, SPC, SCRUTINEE),
1311+
b.sequence(RustPunctuator.SHLEQ, SPC, SCRUTINEE),
1312+
b.sequence(RustPunctuator.SHREQ, SPC, SCRUTINEE)));
13131313

13141314
b.rule(EXPRESSION_WITHOUT_BLOCK).is(b.zeroOrMore(OUTER_ATTRIBUTE, SPC),
13151315
b.firstOf(
@@ -1361,7 +1361,7 @@ private static void match(LexerlessGrammarBuilder b) {
13611361
b.rule(MATCH_EXPRESSION).is(
13621362
RustKeyword.KW_MATCH, SPC,
13631363
b.optional(RustKeyword.KW_MATCH, b.next(IDENTIFIER)),
1364-
EXPRESSION_EXCEPT_STRUCT,
1364+
SCRUTINEE,
13651365
SPC, "{", SPC,
13661366
b.zeroOrMore(INNER_ATTRIBUTE, SPC),
13671367
b.optional(MATCH_ARMS, SPC),
@@ -1385,12 +1385,12 @@ private static void ifExpr(LexerlessGrammarBuilder b) {
13851385
b.rule(IF_EXPRESSION).is(
13861386
RustKeyword.KW_IF, SPC,
13871387
b.optional(RustKeyword.KW_IF, b.next(IDENTIFIER)),
1388-
EXPRESSION_EXCEPT_STRUCT, b.next(SPC, "{"), SPC, BLOCK_EXPRESSION, SPC,
1388+
SCRUTINEE, b.next(SPC, "{"), SPC, BLOCK_EXPRESSION, SPC,
13891389
b.optional(
13901390

13911391
RustKeyword.KW_ELSE, SPC, b.firstOf(BLOCK_EXPRESSION, IF_EXPRESSION, IF_LET_EXPRESSION)));
13921392
b.rule(IF_LET_EXPRESSION).is(
1393-
RustKeyword.KW_IF, SPC, RustKeyword.KW_LET, SPC, PATTERN, SPC, RustPunctuator.EQ, SPC, EXPRESSION_EXCEPT_STRUCT, // except struct or lazy boolean operator expression
1393+
RustKeyword.KW_IF, SPC, RustKeyword.KW_LET, SPC, PATTERN, SPC, RustPunctuator.EQ, SPC, SCRUTINEE, // except struct or lazy boolean operator expression
13941394
SPC, BLOCK_EXPRESSION, SPC,
13951395
b.optional(RustKeyword.KW_ELSE, SPC, b.firstOf(BLOCK_EXPRESSION, IF_EXPRESSION, IF_LET_EXPRESSION)));
13961396
}
@@ -1423,14 +1423,14 @@ private static void loops(LexerlessGrammarBuilder b) {
14231423
b.rule(INFINITE_LOOP_EXPRESSION).is(
14241424
RustKeyword.KW_LOOP, SPC, BLOCK_EXPRESSION);
14251425
b.rule(PREDICATE_LOOP_EXPRESSION).is(
1426-
RustKeyword.KW_WHILE, SPC, EXPRESSION_EXCEPT_STRUCT, SPC,
1426+
RustKeyword.KW_WHILE, SPC, SCRUTINEE, SPC,
14271427
BLOCK_EXPRESSION);
14281428
b.rule(PREDICATE_PATTERN_LOOP_EXPRESSION).is(
14291429
RustKeyword.KW_WHILE, SPC, RustKeyword.KW_LET, SPC, PATTERN, SPC, RustPunctuator.EQ,
1430-
SPC, EXPRESSION_EXCEPT_STRUCT,
1430+
SPC, SCRUTINEE,
14311431
SPC, BLOCK_EXPRESSION);
14321432
b.rule(ITERATOR_LOOP_EXPRESSION).is(
1433-
RustKeyword.KW_FOR, SPC, PATTERN, SPC, RustKeyword.KW_IN, SPC, EXPRESSION_EXCEPT_STRUCT,
1433+
RustKeyword.KW_FOR, SPC, PATTERN, SPC, RustKeyword.KW_IN, SPC, SCRUTINEE,
14341434
SPC, BLOCK_EXPRESSION);
14351435
b.rule(LOOP_LABEL).is(LIFETIME_OR_LABEL, SPC, RustPunctuator.COLON);
14361436
b.rule(BREAK_EXPRESSION).is(RustKeyword.KW_BREAK, SPC, b.optional(LIFETIME_OR_LABEL, SPC), b.optional(EXPRESSION, SPC));
@@ -1500,7 +1500,7 @@ private static void operator(LexerlessGrammarBuilder b) {
15001500
b.sequence(RustPunctuator.NOT, SPC, EXPRESSION), b.sequence("-", SPC, EXPRESSION)));
15011501

15021502
b.rule(NEGATION_EXPRESSION_EXCEPT_STRUCT).is(b.firstOf(
1503-
b.sequence(RustPunctuator.NOT, SPC, EXPRESSION_EXCEPT_STRUCT), b.sequence("-", SPC, EXPRESSION_EXCEPT_STRUCT)));
1503+
b.sequence(RustPunctuator.NOT, SPC, SCRUTINEE), b.sequence("-", SPC, SCRUTINEE)));
15041504

15051505
b.rule(ARITHMETIC_OR_LOGICAL_EXPRESSION).is(b.firstOf(
15061506
SHL_EXPRESSION,
@@ -2020,7 +2020,7 @@ private static void integerliteral(LexerlessGrammarBuilder b) {
20202020
b.firstOf(HEX_LITERAL, OCT_LITERAL, BIN_LITERAL, DEC_LITERAL),
20212021
b.optional(INTEGER_SUFFIX), SPC)));
20222022
b.rule(DEC_LITERAL).is(DEC_DIGIT, b.zeroOrMore(b.firstOf(DEC_DIGIT, RustPunctuator.UNDERSCORE)));
2023-
b.rule(TUPLE_INDEX).is(b.firstOf("0", b.sequence(b.oneOrMore(NON_ZERO_DEC_DIGIT), b.optional(DEC_DIGIT))));
2023+
b.rule(TUPLE_INDEX).is(INTEGER_LITERAL);
20242024

20252025
b.rule(BIN_LITERAL).is("0b", b.zeroOrMore(b.firstOf(BIN_DIGIT, RustPunctuator.UNDERSCORE)));
20262026
b.rule(OCT_LITERAL).is("0o", b.zeroOrMore(b.firstOf(OCT_DIGIT, RustPunctuator.UNDERSCORE)));

0 commit comments

Comments
 (0)