Skip to content

Commit d6dc1bf

Browse files
committed
refactor: Reduce codegen burden for SyntaxKind
1 parent 8316ffe commit d6dc1bf

File tree

6 files changed

+76
-38
lines changed

6 files changed

+76
-38
lines changed

crates/ide/src/syntax_highlighting/highlight.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ fn highlight_name_ref_by_syntax(
852852
}
853853
}
854854
ASSOC_TYPE_ARG => SymbolKind::TypeAlias.into(),
855-
USE_BOUND_GENERIC_ARG => SymbolKind::TypeParam.into(),
855+
USE_BOUND_GENERIC_ARGS => SymbolKind::TypeParam.into(),
856856
_ => default.into(),
857857
}
858858
}

crates/parser/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ mod shortcuts;
3535
mod syntax_kind;
3636
mod token_set;
3737

38+
pub use T_ as T;
39+
3840
#[cfg(test)]
3941
mod tests;
4042

crates/parser/src/syntax_kind/generated.rs

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#![allow(bad_style, missing_docs, unreachable_pub)]
44
use crate::Edition;
55
#[doc = r" The kind of syntax node, e.g. `IDENT`, `USE_KW`, or `STRUCT`."]
6-
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
6+
#[derive(Debug)]
77
#[repr(u16)]
88
pub enum SyntaxKind {
99
#[doc(hidden)]
@@ -156,7 +156,6 @@ pub enum SyntaxKind {
156156
SHEBANG,
157157
WHITESPACE,
158158
ABI,
159-
ADT,
160159
ARG_LIST,
161160
ARRAY_EXPR,
162161
ARRAY_TYPE,
@@ -165,16 +164,13 @@ pub enum SyntaxKind {
165164
ASM_DIR_SPEC,
166165
ASM_EXPR,
167166
ASM_LABEL,
168-
ASM_OPERAND,
169167
ASM_OPERAND_EXPR,
170168
ASM_OPERAND_NAMED,
171169
ASM_OPTION,
172170
ASM_OPTIONS,
173-
ASM_PIECE,
174171
ASM_REG_OPERAND,
175172
ASM_REG_SPEC,
176173
ASM_SYM,
177-
ASSOC_ITEM,
178174
ASSOC_ITEM_LIST,
179175
ASSOC_TYPE_ARG,
180176
ATTR,
@@ -195,31 +191,25 @@ pub enum SyntaxKind {
195191
CONTINUE_EXPR,
196192
DYN_TRAIT_TYPE,
197193
ENUM,
198-
EXPR,
199194
EXPR_STMT,
200195
EXTERN_BLOCK,
201196
EXTERN_CRATE,
202-
EXTERN_ITEM,
203197
EXTERN_ITEM_LIST,
204198
FIELD_EXPR,
205-
FIELD_LIST,
206199
FN,
207200
FN_PTR_TYPE,
208201
FORMAT_ARGS_ARG,
209202
FORMAT_ARGS_EXPR,
210203
FOR_EXPR,
211204
FOR_TYPE,
212-
GENERIC_ARG,
213205
GENERIC_ARG_LIST,
214-
GENERIC_PARAM,
215206
GENERIC_PARAM_LIST,
216207
IDENT_PAT,
217208
IF_EXPR,
218209
IMPL,
219210
IMPL_TRAIT_TYPE,
220211
INDEX_EXPR,
221212
INFER_TYPE,
222-
ITEM,
223213
ITEM_LIST,
224214
LABEL,
225215
LET_ELSE,
@@ -257,7 +247,6 @@ pub enum SyntaxKind {
257247
PAREN_EXPR,
258248
PAREN_PAT,
259249
PAREN_TYPE,
260-
PAT,
261250
PATH,
262251
PATH_EXPR,
263252
PATH_PAT,
@@ -288,7 +277,6 @@ pub enum SyntaxKind {
288277
SLICE_TYPE,
289278
SOURCE_FILE,
290279
STATIC,
291-
STMT,
292280
STMT_LIST,
293281
STRUCT,
294282
TOKEN_TREE,
@@ -301,7 +289,6 @@ pub enum SyntaxKind {
301289
TUPLE_PAT,
302290
TUPLE_STRUCT_PAT,
303291
TUPLE_TYPE,
304-
TYPE,
305292
TYPE_ALIAS,
306293
TYPE_ARG,
307294
TYPE_BOUND,
@@ -310,12 +297,10 @@ pub enum SyntaxKind {
310297
UNDERSCORE_EXPR,
311298
UNION,
312299
USE,
313-
USE_BOUND_GENERIC_ARG,
314300
USE_BOUND_GENERIC_ARGS,
315301
USE_TREE,
316302
USE_TREE_LIST,
317303
VARIANT,
318-
VARIANT_DEF,
319304
VARIANT_LIST,
320305
VISIBILITY,
321306
WHERE_CLAUSE,
@@ -343,7 +328,6 @@ impl SyntaxKind {
343328
| INT_NUMBER
344329
| STRING
345330
| ABI
346-
| ADT
347331
| ARG_LIST
348332
| ARRAY_EXPR
349333
| ARRAY_TYPE
@@ -352,16 +336,13 @@ impl SyntaxKind {
352336
| ASM_DIR_SPEC
353337
| ASM_EXPR
354338
| ASM_LABEL
355-
| ASM_OPERAND
356339
| ASM_OPERAND_EXPR
357340
| ASM_OPERAND_NAMED
358341
| ASM_OPTION
359342
| ASM_OPTIONS
360-
| ASM_PIECE
361343
| ASM_REG_OPERAND
362344
| ASM_REG_SPEC
363345
| ASM_SYM
364-
| ASSOC_ITEM
365346
| ASSOC_ITEM_LIST
366347
| ASSOC_TYPE_ARG
367348
| ATTR
@@ -382,31 +363,25 @@ impl SyntaxKind {
382363
| CONTINUE_EXPR
383364
| DYN_TRAIT_TYPE
384365
| ENUM
385-
| EXPR
386366
| EXPR_STMT
387367
| EXTERN_BLOCK
388368
| EXTERN_CRATE
389-
| EXTERN_ITEM
390369
| EXTERN_ITEM_LIST
391370
| FIELD_EXPR
392-
| FIELD_LIST
393371
| FN
394372
| FN_PTR_TYPE
395373
| FORMAT_ARGS_ARG
396374
| FORMAT_ARGS_EXPR
397375
| FOR_EXPR
398376
| FOR_TYPE
399-
| GENERIC_ARG
400377
| GENERIC_ARG_LIST
401-
| GENERIC_PARAM
402378
| GENERIC_PARAM_LIST
403379
| IDENT_PAT
404380
| IF_EXPR
405381
| IMPL
406382
| IMPL_TRAIT_TYPE
407383
| INDEX_EXPR
408384
| INFER_TYPE
409-
| ITEM
410385
| ITEM_LIST
411386
| LABEL
412387
| LET_ELSE
@@ -444,7 +419,6 @@ impl SyntaxKind {
444419
| PAREN_EXPR
445420
| PAREN_PAT
446421
| PAREN_TYPE
447-
| PAT
448422
| PATH
449423
| PATH_EXPR
450424
| PATH_PAT
@@ -475,7 +449,6 @@ impl SyntaxKind {
475449
| SLICE_TYPE
476450
| SOURCE_FILE
477451
| STATIC
478-
| STMT
479452
| STMT_LIST
480453
| STRUCT
481454
| TOKEN_TREE
@@ -488,7 +461,6 @@ impl SyntaxKind {
488461
| TUPLE_PAT
489462
| TUPLE_STRUCT_PAT
490463
| TUPLE_TYPE
491-
| TYPE
492464
| TYPE_ALIAS
493465
| TYPE_ARG
494466
| TYPE_BOUND
@@ -497,12 +469,10 @@ impl SyntaxKind {
497469
| UNDERSCORE_EXPR
498470
| UNION
499471
| USE
500-
| USE_BOUND_GENERIC_ARG
501472
| USE_BOUND_GENERIC_ARGS
502473
| USE_TREE
503474
| USE_TREE_LIST
504475
| VARIANT
505-
| VARIANT_DEF
506476
| VARIANT_LIST
507477
| VISIBILITY
508478
| WHERE_CLAUSE
@@ -1024,4 +994,29 @@ impl SyntaxKind {
1024994
}
1025995
}
1026996
#[macro_export]
1027-
macro_rules ! T { [$] => { $ crate :: SyntaxKind :: DOLLAR } ; [;] => { $ crate :: SyntaxKind :: SEMICOLON } ; [,] => { $ crate :: SyntaxKind :: COMMA } ; ['('] => { $ crate :: SyntaxKind :: L_PAREN } ; [')'] => { $ crate :: SyntaxKind :: R_PAREN } ; ['{'] => { $ crate :: SyntaxKind :: L_CURLY } ; ['}'] => { $ crate :: SyntaxKind :: R_CURLY } ; ['['] => { $ crate :: SyntaxKind :: L_BRACK } ; [']'] => { $ crate :: SyntaxKind :: R_BRACK } ; [<] => { $ crate :: SyntaxKind :: L_ANGLE } ; [>] => { $ crate :: SyntaxKind :: R_ANGLE } ; [@] => { $ crate :: SyntaxKind :: AT } ; [#] => { $ crate :: SyntaxKind :: POUND } ; [~] => { $ crate :: SyntaxKind :: TILDE } ; [?] => { $ crate :: SyntaxKind :: QUESTION } ; [&] => { $ crate :: SyntaxKind :: AMP } ; [|] => { $ crate :: SyntaxKind :: PIPE } ; [+] => { $ crate :: SyntaxKind :: PLUS } ; [*] => { $ crate :: SyntaxKind :: STAR } ; [/] => { $ crate :: SyntaxKind :: SLASH } ; [^] => { $ crate :: SyntaxKind :: CARET } ; [%] => { $ crate :: SyntaxKind :: PERCENT } ; [_] => { $ crate :: SyntaxKind :: UNDERSCORE } ; [.] => { $ crate :: SyntaxKind :: DOT } ; [..] => { $ crate :: SyntaxKind :: DOT2 } ; [...] => { $ crate :: SyntaxKind :: DOT3 } ; [..=] => { $ crate :: SyntaxKind :: DOT2EQ } ; [:] => { $ crate :: SyntaxKind :: COLON } ; [::] => { $ crate :: SyntaxKind :: COLON2 } ; [=] => { $ crate :: SyntaxKind :: EQ } ; [==] => { $ crate :: SyntaxKind :: EQ2 } ; [=>] => { $ crate :: SyntaxKind :: FAT_ARROW } ; [!] => { $ crate :: SyntaxKind :: BANG } ; [!=] => { $ crate :: SyntaxKind :: NEQ } ; [-] => { $ crate :: SyntaxKind :: MINUS } ; [->] => { $ crate :: SyntaxKind :: THIN_ARROW } ; [<=] => { $ crate :: SyntaxKind :: LTEQ } ; [>=] => { $ crate :: SyntaxKind :: GTEQ } ; [+=] => { $ crate :: SyntaxKind :: PLUSEQ } ; [-=] => { $ crate :: SyntaxKind :: MINUSEQ } ; [|=] => { $ crate :: SyntaxKind :: PIPEEQ } ; [&=] => { $ crate :: SyntaxKind :: AMPEQ } ; [^=] => { $ crate :: SyntaxKind :: CARETEQ } ; [/=] => { $ crate :: SyntaxKind :: SLASHEQ } ; [*=] => { $ crate :: SyntaxKind :: STAREQ } ; [%=] => { $ crate :: SyntaxKind :: PERCENTEQ } ; [&&] => { $ crate :: SyntaxKind :: AMP2 } ; [||] => { $ crate :: SyntaxKind :: PIPE2 } ; [<<] => { $ crate :: SyntaxKind :: SHL } ; [>>] => { $ crate :: SyntaxKind :: SHR } ; [<<=] => { $ crate :: SyntaxKind :: SHLEQ } ; [>>=] => { $ crate :: SyntaxKind :: SHREQ } ; [Self] => { $ crate :: SyntaxKind :: SELF_TYPE_KW } ; [abstract] => { $ crate :: SyntaxKind :: ABSTRACT_KW } ; [as] => { $ crate :: SyntaxKind :: AS_KW } ; [become] => { $ crate :: SyntaxKind :: BECOME_KW } ; [box] => { $ crate :: SyntaxKind :: BOX_KW } ; [break] => { $ crate :: SyntaxKind :: BREAK_KW } ; [const] => { $ crate :: SyntaxKind :: CONST_KW } ; [continue] => { $ crate :: SyntaxKind :: CONTINUE_KW } ; [crate] => { $ crate :: SyntaxKind :: CRATE_KW } ; [do] => { $ crate :: SyntaxKind :: DO_KW } ; [else] => { $ crate :: SyntaxKind :: ELSE_KW } ; [enum] => { $ crate :: SyntaxKind :: ENUM_KW } ; [extern] => { $ crate :: SyntaxKind :: EXTERN_KW } ; [false] => { $ crate :: SyntaxKind :: FALSE_KW } ; [final] => { $ crate :: SyntaxKind :: FINAL_KW } ; [fn] => { $ crate :: SyntaxKind :: FN_KW } ; [for] => { $ crate :: SyntaxKind :: FOR_KW } ; [if] => { $ crate :: SyntaxKind :: IF_KW } ; [impl] => { $ crate :: SyntaxKind :: IMPL_KW } ; [in] => { $ crate :: SyntaxKind :: IN_KW } ; [let] => { $ crate :: SyntaxKind :: LET_KW } ; [loop] => { $ crate :: SyntaxKind :: LOOP_KW } ; [macro] => { $ crate :: SyntaxKind :: MACRO_KW } ; [match] => { $ crate :: SyntaxKind :: MATCH_KW } ; [mod] => { $ crate :: SyntaxKind :: MOD_KW } ; [move] => { $ crate :: SyntaxKind :: MOVE_KW } ; [mut] => { $ crate :: SyntaxKind :: MUT_KW } ; [override] => { $ crate :: SyntaxKind :: OVERRIDE_KW } ; [priv] => { $ crate :: SyntaxKind :: PRIV_KW } ; [pub] => { $ crate :: SyntaxKind :: PUB_KW } ; [ref] => { $ crate :: SyntaxKind :: REF_KW } ; [return] => { $ crate :: SyntaxKind :: RETURN_KW } ; [self] => { $ crate :: SyntaxKind :: SELF_KW } ; [static] => { $ crate :: SyntaxKind :: STATIC_KW } ; [struct] => { $ crate :: SyntaxKind :: STRUCT_KW } ; [super] => { $ crate :: SyntaxKind :: SUPER_KW } ; [trait] => { $ crate :: SyntaxKind :: TRAIT_KW } ; [true] => { $ crate :: SyntaxKind :: TRUE_KW } ; [type] => { $ crate :: SyntaxKind :: TYPE_KW } ; [typeof] => { $ crate :: SyntaxKind :: TYPEOF_KW } ; [unsafe] => { $ crate :: SyntaxKind :: UNSAFE_KW } ; [unsized] => { $ crate :: SyntaxKind :: UNSIZED_KW } ; [use] => { $ crate :: SyntaxKind :: USE_KW } ; [virtual] => { $ crate :: SyntaxKind :: VIRTUAL_KW } ; [where] => { $ crate :: SyntaxKind :: WHERE_KW } ; [while] => { $ crate :: SyntaxKind :: WHILE_KW } ; [yield] => { $ crate :: SyntaxKind :: YIELD_KW } ; [asm] => { $ crate :: SyntaxKind :: ASM_KW } ; [att_syntax] => { $ crate :: SyntaxKind :: ATT_SYNTAX_KW } ; [auto] => { $ crate :: SyntaxKind :: AUTO_KW } ; [builtin] => { $ crate :: SyntaxKind :: BUILTIN_KW } ; [clobber_abi] => { $ crate :: SyntaxKind :: CLOBBER_ABI_KW } ; [default] => { $ crate :: SyntaxKind :: DEFAULT_KW } ; [dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [format_args] => { $ crate :: SyntaxKind :: FORMAT_ARGS_KW } ; [inlateout] => { $ crate :: SyntaxKind :: INLATEOUT_KW } ; [inout] => { $ crate :: SyntaxKind :: INOUT_KW } ; [label] => { $ crate :: SyntaxKind :: LABEL_KW } ; [lateout] => { $ crate :: SyntaxKind :: LATEOUT_KW } ; [macro_rules] => { $ crate :: SyntaxKind :: MACRO_RULES_KW } ; [may_unwind] => { $ crate :: SyntaxKind :: MAY_UNWIND_KW } ; [nomem] => { $ crate :: SyntaxKind :: NOMEM_KW } ; [noreturn] => { $ crate :: SyntaxKind :: NORETURN_KW } ; [nostack] => { $ crate :: SyntaxKind :: NOSTACK_KW } ; [offset_of] => { $ crate :: SyntaxKind :: OFFSET_OF_KW } ; [options] => { $ crate :: SyntaxKind :: OPTIONS_KW } ; [out] => { $ crate :: SyntaxKind :: OUT_KW } ; [preserves_flags] => { $ crate :: SyntaxKind :: PRESERVES_FLAGS_KW } ; [pure] => { $ crate :: SyntaxKind :: PURE_KW } ; [raw] => { $ crate :: SyntaxKind :: RAW_KW } ; [readonly] => { $ crate :: SyntaxKind :: READONLY_KW } ; [safe] => { $ crate :: SyntaxKind :: SAFE_KW } ; [sym] => { $ crate :: SyntaxKind :: SYM_KW } ; [union] => { $ crate :: SyntaxKind :: UNION_KW } ; [yeet] => { $ crate :: SyntaxKind :: YEET_KW } ; [async] => { $ crate :: SyntaxKind :: ASYNC_KW } ; [await] => { $ crate :: SyntaxKind :: AWAIT_KW } ; [dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [gen] => { $ crate :: SyntaxKind :: GEN_KW } ; [try] => { $ crate :: SyntaxKind :: TRY_KW } ; [lifetime_ident] => { $ crate :: SyntaxKind :: LIFETIME_IDENT } ; [int_number] => { $ crate :: SyntaxKind :: INT_NUMBER } ; [ident] => { $ crate :: SyntaxKind :: IDENT } ; [string] => { $ crate :: SyntaxKind :: STRING } ; [shebang] => { $ crate :: SyntaxKind :: SHEBANG } ; }
997+
macro_rules ! T_ { [$] => { $ crate :: SyntaxKind :: DOLLAR } ; [;] => { $ crate :: SyntaxKind :: SEMICOLON } ; [,] => { $ crate :: SyntaxKind :: COMMA } ; ['('] => { $ crate :: SyntaxKind :: L_PAREN } ; [')'] => { $ crate :: SyntaxKind :: R_PAREN } ; ['{'] => { $ crate :: SyntaxKind :: L_CURLY } ; ['}'] => { $ crate :: SyntaxKind :: R_CURLY } ; ['['] => { $ crate :: SyntaxKind :: L_BRACK } ; [']'] => { $ crate :: SyntaxKind :: R_BRACK } ; [<] => { $ crate :: SyntaxKind :: L_ANGLE } ; [>] => { $ crate :: SyntaxKind :: R_ANGLE } ; [@] => { $ crate :: SyntaxKind :: AT } ; [#] => { $ crate :: SyntaxKind :: POUND } ; [~] => { $ crate :: SyntaxKind :: TILDE } ; [?] => { $ crate :: SyntaxKind :: QUESTION } ; [&] => { $ crate :: SyntaxKind :: AMP } ; [|] => { $ crate :: SyntaxKind :: PIPE } ; [+] => { $ crate :: SyntaxKind :: PLUS } ; [*] => { $ crate :: SyntaxKind :: STAR } ; [/] => { $ crate :: SyntaxKind :: SLASH } ; [^] => { $ crate :: SyntaxKind :: CARET } ; [%] => { $ crate :: SyntaxKind :: PERCENT } ; [_] => { $ crate :: SyntaxKind :: UNDERSCORE } ; [.] => { $ crate :: SyntaxKind :: DOT } ; [..] => { $ crate :: SyntaxKind :: DOT2 } ; [...] => { $ crate :: SyntaxKind :: DOT3 } ; [..=] => { $ crate :: SyntaxKind :: DOT2EQ } ; [:] => { $ crate :: SyntaxKind :: COLON } ; [::] => { $ crate :: SyntaxKind :: COLON2 } ; [=] => { $ crate :: SyntaxKind :: EQ } ; [==] => { $ crate :: SyntaxKind :: EQ2 } ; [=>] => { $ crate :: SyntaxKind :: FAT_ARROW } ; [!] => { $ crate :: SyntaxKind :: BANG } ; [!=] => { $ crate :: SyntaxKind :: NEQ } ; [-] => { $ crate :: SyntaxKind :: MINUS } ; [->] => { $ crate :: SyntaxKind :: THIN_ARROW } ; [<=] => { $ crate :: SyntaxKind :: LTEQ } ; [>=] => { $ crate :: SyntaxKind :: GTEQ } ; [+=] => { $ crate :: SyntaxKind :: PLUSEQ } ; [-=] => { $ crate :: SyntaxKind :: MINUSEQ } ; [|=] => { $ crate :: SyntaxKind :: PIPEEQ } ; [&=] => { $ crate :: SyntaxKind :: AMPEQ } ; [^=] => { $ crate :: SyntaxKind :: CARETEQ } ; [/=] => { $ crate :: SyntaxKind :: SLASHEQ } ; [*=] => { $ crate :: SyntaxKind :: STAREQ } ; [%=] => { $ crate :: SyntaxKind :: PERCENTEQ } ; [&&] => { $ crate :: SyntaxKind :: AMP2 } ; [||] => { $ crate :: SyntaxKind :: PIPE2 } ; [<<] => { $ crate :: SyntaxKind :: SHL } ; [>>] => { $ crate :: SyntaxKind :: SHR } ; [<<=] => { $ crate :: SyntaxKind :: SHLEQ } ; [>>=] => { $ crate :: SyntaxKind :: SHREQ } ; [Self] => { $ crate :: SyntaxKind :: SELF_TYPE_KW } ; [abstract] => { $ crate :: SyntaxKind :: ABSTRACT_KW } ; [as] => { $ crate :: SyntaxKind :: AS_KW } ; [become] => { $ crate :: SyntaxKind :: BECOME_KW } ; [box] => { $ crate :: SyntaxKind :: BOX_KW } ; [break] => { $ crate :: SyntaxKind :: BREAK_KW } ; [const] => { $ crate :: SyntaxKind :: CONST_KW } ; [continue] => { $ crate :: SyntaxKind :: CONTINUE_KW } ; [crate] => { $ crate :: SyntaxKind :: CRATE_KW } ; [do] => { $ crate :: SyntaxKind :: DO_KW } ; [else] => { $ crate :: SyntaxKind :: ELSE_KW } ; [enum] => { $ crate :: SyntaxKind :: ENUM_KW } ; [extern] => { $ crate :: SyntaxKind :: EXTERN_KW } ; [false] => { $ crate :: SyntaxKind :: FALSE_KW } ; [final] => { $ crate :: SyntaxKind :: FINAL_KW } ; [fn] => { $ crate :: SyntaxKind :: FN_KW } ; [for] => { $ crate :: SyntaxKind :: FOR_KW } ; [if] => { $ crate :: SyntaxKind :: IF_KW } ; [impl] => { $ crate :: SyntaxKind :: IMPL_KW } ; [in] => { $ crate :: SyntaxKind :: IN_KW } ; [let] => { $ crate :: SyntaxKind :: LET_KW } ; [loop] => { $ crate :: SyntaxKind :: LOOP_KW } ; [macro] => { $ crate :: SyntaxKind :: MACRO_KW } ; [match] => { $ crate :: SyntaxKind :: MATCH_KW } ; [mod] => { $ crate :: SyntaxKind :: MOD_KW } ; [move] => { $ crate :: SyntaxKind :: MOVE_KW } ; [mut] => { $ crate :: SyntaxKind :: MUT_KW } ; [override] => { $ crate :: SyntaxKind :: OVERRIDE_KW } ; [priv] => { $ crate :: SyntaxKind :: PRIV_KW } ; [pub] => { $ crate :: SyntaxKind :: PUB_KW } ; [ref] => { $ crate :: SyntaxKind :: REF_KW } ; [return] => { $ crate :: SyntaxKind :: RETURN_KW } ; [self] => { $ crate :: SyntaxKind :: SELF_KW } ; [static] => { $ crate :: SyntaxKind :: STATIC_KW } ; [struct] => { $ crate :: SyntaxKind :: STRUCT_KW } ; [super] => { $ crate :: SyntaxKind :: SUPER_KW } ; [trait] => { $ crate :: SyntaxKind :: TRAIT_KW } ; [true] => { $ crate :: SyntaxKind :: TRUE_KW } ; [type] => { $ crate :: SyntaxKind :: TYPE_KW } ; [typeof] => { $ crate :: SyntaxKind :: TYPEOF_KW } ; [unsafe] => { $ crate :: SyntaxKind :: UNSAFE_KW } ; [unsized] => { $ crate :: SyntaxKind :: UNSIZED_KW } ; [use] => { $ crate :: SyntaxKind :: USE_KW } ; [virtual] => { $ crate :: SyntaxKind :: VIRTUAL_KW } ; [where] => { $ crate :: SyntaxKind :: WHERE_KW } ; [while] => { $ crate :: SyntaxKind :: WHILE_KW } ; [yield] => { $ crate :: SyntaxKind :: YIELD_KW } ; [asm] => { $ crate :: SyntaxKind :: ASM_KW } ; [att_syntax] => { $ crate :: SyntaxKind :: ATT_SYNTAX_KW } ; [auto] => { $ crate :: SyntaxKind :: AUTO_KW } ; [builtin] => { $ crate :: SyntaxKind :: BUILTIN_KW } ; [clobber_abi] => { $ crate :: SyntaxKind :: CLOBBER_ABI_KW } ; [default] => { $ crate :: SyntaxKind :: DEFAULT_KW } ; [dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [format_args] => { $ crate :: SyntaxKind :: FORMAT_ARGS_KW } ; [inlateout] => { $ crate :: SyntaxKind :: INLATEOUT_KW } ; [inout] => { $ crate :: SyntaxKind :: INOUT_KW } ; [label] => { $ crate :: SyntaxKind :: LABEL_KW } ; [lateout] => { $ crate :: SyntaxKind :: LATEOUT_KW } ; [macro_rules] => { $ crate :: SyntaxKind :: MACRO_RULES_KW } ; [may_unwind] => { $ crate :: SyntaxKind :: MAY_UNWIND_KW } ; [nomem] => { $ crate :: SyntaxKind :: NOMEM_KW } ; [noreturn] => { $ crate :: SyntaxKind :: NORETURN_KW } ; [nostack] => { $ crate :: SyntaxKind :: NOSTACK_KW } ; [offset_of] => { $ crate :: SyntaxKind :: OFFSET_OF_KW } ; [options] => { $ crate :: SyntaxKind :: OPTIONS_KW } ; [out] => { $ crate :: SyntaxKind :: OUT_KW } ; [preserves_flags] => { $ crate :: SyntaxKind :: PRESERVES_FLAGS_KW } ; [pure] => { $ crate :: SyntaxKind :: PURE_KW } ; [raw] => { $ crate :: SyntaxKind :: RAW_KW } ; [readonly] => { $ crate :: SyntaxKind :: READONLY_KW } ; [safe] => { $ crate :: SyntaxKind :: SAFE_KW } ; [sym] => { $ crate :: SyntaxKind :: SYM_KW } ; [union] => { $ crate :: SyntaxKind :: UNION_KW } ; [yeet] => { $ crate :: SyntaxKind :: YEET_KW } ; [async] => { $ crate :: SyntaxKind :: ASYNC_KW } ; [await] => { $ crate :: SyntaxKind :: AWAIT_KW } ; [dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [gen] => { $ crate :: SyntaxKind :: GEN_KW } ; [try] => { $ crate :: SyntaxKind :: TRY_KW } ; [lifetime_ident] => { $ crate :: SyntaxKind :: LIFETIME_IDENT } ; [int_number] => { $ crate :: SyntaxKind :: INT_NUMBER } ; [ident] => { $ crate :: SyntaxKind :: IDENT } ; [string] => { $ crate :: SyntaxKind :: STRING } ; [shebang] => { $ crate :: SyntaxKind :: SHEBANG } ; }
998+
impl ::core::marker::Copy for SyntaxKind {}
999+
impl ::core::clone::Clone for SyntaxKind {
1000+
#[inline]
1001+
fn clone(&self) -> Self { *self }
1002+
}
1003+
impl ::core::cmp::PartialEq for SyntaxKind {
1004+
#[inline]
1005+
fn eq(&self, other: &Self) -> bool { (*self as u16) == (*other as u16) }
1006+
}
1007+
impl ::core::cmp::Eq for SyntaxKind {}
1008+
impl ::core::cmp::PartialOrd for SyntaxKind {
1009+
#[inline]
1010+
fn partial_cmp(&self, other: &Self) -> core::option::Option<core::cmp::Ordering> {
1011+
(*self as u16).partial_cmp(&(*other as u16))
1012+
}
1013+
}
1014+
impl ::core::cmp::Ord for SyntaxKind {
1015+
#[inline]
1016+
fn cmp(&self, other: &Self) -> core::cmp::Ordering { (*self as u16).cmp(&(*other as u16)) }
1017+
}
1018+
impl ::core::hash::Hash for SyntaxKind {
1019+
fn hash<H: ::core::hash::Hasher>(&self, state: &mut H) {
1020+
::core::mem::discriminant(self).hash(state);
1021+
}
1022+
}

xtask/src/codegen.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ impl flags::Codegen {
2121
pub(crate) fn run(self, _sh: &Shell) -> anyhow::Result<()> {
2222
match self.codegen_type.unwrap_or_default() {
2323
flags::CodegenType::All => {
24-
diagnostics_docs::generate(self.check);
24+
grammar::generate(self.check);
2525
assists_doc_tests::generate(self.check);
2626
parser_inline_tests::generate(self.check);
2727
feature_docs::generate(self.check)

0 commit comments

Comments
 (0)