git.delta.rocks / jrsonnet / refs/commits / c678cf8e698f

difftreelog

source

crates/jrsonnet-rowan-parser/src/generated/syntax_kinds.rs8.4 KiBsourcehistory
1//! This is a generated file, please do not edit manually. Changes can be2//! made in codegeneration that lives in `xtask` top-level dir.34#![allow(bad_style, missing_docs, unreachable_pub)]5use logos::Logos;6#[doc = r" The kind of syntax node, e.g. `IDENT`, `USE_KW`, or `STRUCT`."]7#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Logos)]8#[repr(u16)]9pub enum SyntaxKind {10	#[doc(hidden)]11	TOMBSTONE,12	#[doc(hidden)]13	EOF,14	#[token("||")]15	OR,16	#[token("&&")]17	AND,18	#[token("|")]19	BIT_OR,20	#[token("^")]21	BIT_XOR,22	#[token("&")]23	BIT_AND,24	#[token("==")]25	EQ,26	#[token("!=")]27	NE,28	#[token("<")]29	LT,30	#[token(">")]31	GT,32	#[token("<=")]33	LE,34	#[token(">=")]35	GE,36	#[token("<<")]37	LHS,38	#[token(">>")]39	RHS,40	#[token("+")]41	PLUS,42	#[token("-")]43	MINUS,44	#[token("*")]45	MUL,46	#[token("/")]47	DIV,48	#[token("%")]49	MODULO,50	#[token("!")]51	NOT,52	#[token("~")]53	BIT_NOT,54	#[token("[")]55	L_BRACK,56	#[token("]")]57	R_BRACK,58	#[token("(")]59	L_PAREN,60	#[token(")")]61	R_PAREN,62	#[token("{")]63	L_BRACE,64	#[token("}")]65	R_BRACE,66	#[token(":")]67	COLON,68	#[token("::")]69	COLONCOLON,70	#[token(":::")]71	COLONCOLONCOLON,72	#[token(";")]73	SEMI,74	#[token(".")]75	DOT,76	#[token("...")]77	DOTDOTDOT,78	#[token(",")]79	COMMA,80	#[token("$")]81	DOLLAR,82	#[token("=")]83	ASSIGN,84	#[token("?")]85	QUESTION_MARK,86	#[token("$intrinsicThisFile")]87	INTRINSIC_THIS_FILE,88	#[token("$intrinsicId")]89	INTRINSIC_ID,90	#[token("$intrinsic")]91	INTRINSIC,92	#[token("tailstrict")]93	TAILSTRICT_KW,94	#[token("importstr")]95	IMPORTSTR_KW,96	#[token("importbin")]97	IMPORTBIN_KW,98	#[token("import")]99	IMPORT_KW,100	#[token("local")]101	LOCAL_KW,102	#[token("if")]103	IF_KW,104	#[token("then")]105	THEN_KW,106	#[token("else")]107	ELSE_KW,108	#[token("function")]109	FUNCTION_KW,110	#[token("error")]111	ERROR_KW,112	#[token("in")]113	IN_KW,114	#[token("null")]115	NULL_KW,116	#[token("true")]117	TRUE_KW,118	#[token("false")]119	FALSE_KW,120	#[token("self")]121	SELF_KW,122	#[token("super")]123	SUPER_KW,124	#[token("for")]125	FOR_KW,126	#[token("assert")]127	ASSERT_KW,128	#[regex("(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?")]129	NUMBER,130	#[regex("\"(?s:[^\"\\\\]|\\\\.)*\"")]131	STRING_DOUBLE,132	#[regex("'(?s:[^'\\\\]|\\\\.)*'")]133	STRING_SINGLE,134	#[regex("@\"(?:[^\"]|\"\")*\"")]135	STRING_DOUBLE_VERBATIM,136	#[regex("@'(?:[^']|'')*'")]137	STRING_SINGLE_VERBATIM,138	#[regex("\\|\\|\\|")]139	STRING_BLOCK,140	#[regex("[_a-zA-Z][_a-zA-Z0-9]*")]141	IDENT,142	#[regex("[ \\t\\n\\r]+")]143	WHITESPACE,144	#[regex("//[^\\r\\n]*(\\r\\n|\\n)?")]145	SINGLE_LINE_SLASH_COMMENT,146	#[regex("#[^\\r\\n]*(\\r\\n|\\n)?")]147	SINGLE_LINE_HASH_COMMENT,148	#[regex("/\\*([^*]|\\*[^/])*\\*/")]149	MULTI_LINE_COMMENT,150	#[error]151	ERROR,152	SOURCE_FILE,153	EXPR_BINARY,154	BINARY_OPERATOR,155	EXPR_UNARY,156	UNARY_OPERATOR,157	EXPR_SLICE,158	SLICE_DESC,159	EXPR_INDEX,160	NAME,161	EXPR_INDEX_EXPR,162	EXPR_APPLY,163	ARGS_DESC,164	EXPR_OBJ_EXTEND,165	EXPR_PARENED,166	EXPR_LITERAL,167	LITERAL,168	EXPR_INTRINSIC_THIS_FILE,169	EXPR_INTRINSIC_ID,170	EXPR_INTRINSIC,171	EXPR_STRING,172	STRING,173	EXPR_NUMBER,174	EXPR_ARRAY,175	EXPR_OBJECT,176	EXPR_ARRAY_COMP,177	FOR_SPEC,178	EXPR_IMPORT,179	EXPR_VAR,180	EXPR_LOCAL,181	EXPR_IF_THEN_ELSE,182	EXPR_FUNCTION,183	PARAMS_DESC,184	EXPR_ASSERT,185	ASSERTION,186	EXPR_ERROR,187	ARG,188	OBJ_BODY_COMP,189	OBJ_LOCAL_POST_COMMA,190	OBJ_LOCAL_PRE_COMMA,191	OBJ_BODY_MEMBER_LIST,192	OBJ_LOCAL,193	MEMBER_BIND_STMT,194	MEMBER_ASSERT_STMT,195	MEMBER_FIELD,196	FIELD_NORMAL,197	VISIBILITY,198	FIELD_METHOD,199	FIELD_NAME_FIXED,200	FIELD_NAME_DYNAMIC,201	IF_SPEC,202	BIND_DESTRUCT,203	DESTRUCT,204	BIND_FUNCTION,205	PARAM,206	DESTRUCT_FULL,207	DESTRUCT_SKIP,208	DESTRUCT_ARRAY,209	DESTRUCT_REST,210	DESTRUCT_OBJECT,211	DESTRUCT_OBJECT_FIELD,212	EXPR,213	OBJ_BODY,214	COMP_SPEC,215	BIND,216	MEMBER,217	FIELD,218	FIELD_NAME,219	#[doc(hidden)]220	__LAST,221}222use self::SyntaxKind::*;223impl SyntaxKind {224	pub fn is_keyword(self) -> bool {225		match self {226			TAILSTRICT_KW | IMPORTSTR_KW | IMPORTBIN_KW | IMPORT_KW | LOCAL_KW | IF_KW227			| THEN_KW | ELSE_KW | FUNCTION_KW | ERROR_KW | IN_KW | NULL_KW | TRUE_KW | FALSE_KW228			| SELF_KW | SUPER_KW | FOR_KW | ASSERT_KW => true,229			_ => false,230		}231	}232	pub fn is_punct(self) -> bool {233		match self {234			OR | AND | BIT_OR | BIT_XOR | BIT_AND | EQ | NE | LT | GT | LE | GE | LHS | RHS235			| PLUS | MINUS | MUL | DIV | MODULO | NOT | BIT_NOT | L_BRACK | R_BRACK | L_PAREN236			| R_PAREN | L_BRACE | R_BRACE | COLON | COLONCOLON | COLONCOLONCOLON | SEMI | DOT237			| DOTDOTDOT | COMMA | DOLLAR | ASSIGN | QUESTION_MARK | INTRINSIC_THIS_FILE238			| INTRINSIC_ID | INTRINSIC => true,239			_ => false,240		}241	}242	pub fn from_keyword(ident: &str) -> Option<SyntaxKind> {243		let kw = match ident {244			"tailstrict" => TAILSTRICT_KW,245			"importstr" => IMPORTSTR_KW,246			"importbin" => IMPORTBIN_KW,247			"import" => IMPORT_KW,248			"local" => LOCAL_KW,249			"if" => IF_KW,250			"then" => THEN_KW,251			"else" => ELSE_KW,252			"function" => FUNCTION_KW,253			"error" => ERROR_KW,254			"in" => IN_KW,255			"null" => NULL_KW,256			"true" => TRUE_KW,257			"false" => FALSE_KW,258			"self" => SELF_KW,259			"super" => SUPER_KW,260			"for" => FOR_KW,261			"assert" => ASSERT_KW,262			_ => return None,263		};264		Some(kw)265	}266	pub fn from_char(c: char) -> Option<SyntaxKind> {267		let tok = match c {268			'|' => BIT_OR,269			'^' => BIT_XOR,270			'&' => BIT_AND,271			'<' => LT,272			'>' => GT,273			'+' => PLUS,274			'-' => MINUS,275			'*' => MUL,276			'/' => DIV,277			'%' => MODULO,278			'!' => NOT,279			'~' => BIT_NOT,280			'[' => L_BRACK,281			']' => R_BRACK,282			'(' => L_PAREN,283			')' => R_PAREN,284			'{' => L_BRACE,285			'}' => R_BRACE,286			':' => COLON,287			';' => SEMI,288			'.' => DOT,289			',' => COMMA,290			'$' => DOLLAR,291			'=' => ASSIGN,292			'?' => QUESTION_MARK,293			_ => return None,294		};295		Some(tok)296	}297	pub fn from_raw(r: u16) -> Self {298		assert!(r < Self::__LAST as u16);299		unsafe { std::mem::transmute(r) }300	}301	pub fn into_raw(self) -> u16 {302		self as u16303	}304}305#[macro_export]306macro_rules ! T { [||] => { $ crate :: SyntaxKind :: OR } ; [&&] => { $ crate :: SyntaxKind :: AND } ; [|] => { $ crate :: SyntaxKind :: BIT_OR } ; [^] => { $ crate :: SyntaxKind :: BIT_XOR } ; [&] => { $ crate :: SyntaxKind :: BIT_AND } ; [==] => { $ crate :: SyntaxKind :: EQ } ; [!=] => { $ crate :: SyntaxKind :: NE } ; [<] => { $ crate :: SyntaxKind :: LT } ; [>] => { $ crate :: SyntaxKind :: GT } ; [<=] => { $ crate :: SyntaxKind :: LE } ; [>=] => { $ crate :: SyntaxKind :: GE } ; [<<] => { $ crate :: SyntaxKind :: LHS } ; [>>] => { $ crate :: SyntaxKind :: RHS } ; [+] => { $ crate :: SyntaxKind :: PLUS } ; [-] => { $ crate :: SyntaxKind :: MINUS } ; [*] => { $ crate :: SyntaxKind :: MUL } ; [/] => { $ crate :: SyntaxKind :: DIV } ; [%] => { $ crate :: SyntaxKind :: MODULO } ; [!] => { $ crate :: SyntaxKind :: NOT } ; [~] => { $ crate :: SyntaxKind :: BIT_NOT } ; ['['] => { $ crate :: SyntaxKind :: L_BRACK } ; [']'] => { $ crate :: SyntaxKind :: R_BRACK } ; ['('] => { $ crate :: SyntaxKind :: L_PAREN } ; [')'] => { $ crate :: SyntaxKind :: R_PAREN } ; ['{'] => { $ crate :: SyntaxKind :: L_BRACE } ; ['}'] => { $ crate :: SyntaxKind :: R_BRACE } ; [:] => { $ crate :: SyntaxKind :: COLON } ; [::] => { $ crate :: SyntaxKind :: COLONCOLON } ; [:::] => { $ crate :: SyntaxKind :: COLONCOLONCOLON } ; [;] => { $ crate :: SyntaxKind :: SEMI } ; [.] => { $ crate :: SyntaxKind :: DOT } ; [...] => { $ crate :: SyntaxKind :: DOTDOTDOT } ; [,] => { $ crate :: SyntaxKind :: COMMA } ; ['$'] => { $ crate :: SyntaxKind :: DOLLAR } ; [=] => { $ crate :: SyntaxKind :: ASSIGN } ; [?] => { $ crate :: SyntaxKind :: QUESTION_MARK } ; ["$intrinsicThisFile"] => { $ crate :: SyntaxKind :: INTRINSIC_THIS_FILE } ; ["$intrinsicId"] => { $ crate :: SyntaxKind :: INTRINSIC_ID } ; ["$intrinsic"] => { $ crate :: SyntaxKind :: INTRINSIC } ; [tailstrict] => { $ crate :: SyntaxKind :: TAILSTRICT_KW } ; [importstr] => { $ crate :: SyntaxKind :: IMPORTSTR_KW } ; [importbin] => { $ crate :: SyntaxKind :: IMPORTBIN_KW } ; [import] => { $ crate :: SyntaxKind :: IMPORT_KW } ; [local] => { $ crate :: SyntaxKind :: LOCAL_KW } ; [if] => { $ crate :: SyntaxKind :: IF_KW } ; [then] => { $ crate :: SyntaxKind :: THEN_KW } ; [else] => { $ crate :: SyntaxKind :: ELSE_KW } ; [function] => { $ crate :: SyntaxKind :: FUNCTION_KW } ; [error] => { $ crate :: SyntaxKind :: ERROR_KW } ; [in] => { $ crate :: SyntaxKind :: IN_KW } ; [null] => { $ crate :: SyntaxKind :: NULL_KW } ; [true] => { $ crate :: SyntaxKind :: TRUE_KW } ; [false] => { $ crate :: SyntaxKind :: FALSE_KW } ; [self] => { $ crate :: SyntaxKind :: SELF_KW } ; [super] => { $ crate :: SyntaxKind :: SUPER_KW } ; [for] => { $ crate :: SyntaxKind :: FOR_KW } ; [assert] => { $ crate :: SyntaxKind :: ASSERT_KW } ; [lifetime_ident] => { $ crate :: SyntaxKind :: LIFETIME_IDENT } ; [ident] => { $ crate :: SyntaxKind :: IDENT } ; [shebang] => { $ crate :: SyntaxKind :: SHEBANG } ; }307pub use T;