git.delta.rocks / jrsonnet / refs/heads / master

difftreelog

source

crates/jrsonnet-lexer/src/generated/syntax_kinds.rs11.9 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(5	bad_style,6	missing_docs,7	unreachable_pub,8	clippy::manual_non_exhaustive,9	clippy::match_like_matches_macro10)]11#[doc = r" The kind of syntax node, e.g. `IDENT`, `USE_KW`, or `STRUCT`."]12#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, logos :: Logos)]13#[repr(u16)]14pub enum SyntaxKind {15	#[doc(hidden)]16	TOMBSTONE,17	#[doc(hidden)]18	EOF,19	#[token("||")]20	OR,21	#[token("??")]22	NULL_COAELSE,23	#[token("&&")]24	AND,25	#[token("|")]26	BIT_OR,27	#[token("^")]28	BIT_XOR,29	#[token("&")]30	BIT_AND,31	#[token("==")]32	EQ,33	#[token("!=")]34	NE,35	#[token("<")]36	LT,37	#[token(">")]38	GT,39	#[token("<=")]40	LE,41	#[token(">=")]42	GE,43	#[token("<<")]44	LHS,45	#[token(">>")]46	RHS,47	#[token("+")]48	PLUS,49	#[token("-")]50	MINUS,51	#[token("*")]52	MUL,53	#[token("/")]54	DIV,55	#[token("%")]56	MODULO,57	#[token("!")]58	NOT,59	#[token("~")]60	BIT_NOT,61	#[token("[")]62	L_BRACK,63	#[token("]")]64	R_BRACK,65	#[token("(")]66	L_PAREN,67	#[token(")")]68	R_PAREN,69	#[token("{")]70	L_BRACE,71	#[token("}")]72	R_BRACE,73	#[token(":")]74	COLON,75	#[token(";")]76	SEMI,77	#[token(".")]78	DOT,79	#[token("...")]80	DOTDOTDOT,81	#[token(",")]82	COMMA,83	#[token("$")]84	DOLLAR,85	#[token("=")]86	ASSIGN,87	#[token("?")]88	QUESTION_MARK,89	#[regex(90		"(?:0|[1-9][0-9]*(?:_[0-9]+)*)(?:\\.[0-9]+(?:_[0-9]+)*)?(?:[eE][+-]?[0-9]+(?:_[0-9]+)*)?"91	)]92	FLOAT,93	#[regex("(?:0|[1-9][0-9]*(?:_[0-9]+)*)\\.[^0-9]")]94	ERROR_FLOAT_JUNK_AFTER_POINT,95	#[regex("(?:0|[1-9][0-9]*(?:_[0-9]+)*)(?:\\.[0-9]+(?:_[0-9]+)*)?[eE][^+\\-0-9]")]96	ERROR_FLOAT_JUNK_AFTER_EXPONENT,97	#[regex("(?:0|[1-9][0-9]*(?:_[0-9]+)*)(?:\\.[0-9]+(?:_[0-9]+)*)?[eE][+-][^0-9]")]98	ERROR_FLOAT_JUNK_AFTER_EXPONENT_SIGN,99	#[regex("\"(?s:[^\"\\\\]|\\\\.)*\"")]100	STRING_DOUBLE,101	#[regex("\"(?s:[^\"\\\\]|\\\\.)*")]102	ERROR_STRING_DOUBLE_UNTERMINATED,103	#[regex("'(?s:[^'\\\\]|\\\\.)*'")]104	STRING_SINGLE,105	#[regex("'(?s:[^'\\\\]|\\\\.)*")]106	ERROR_STRING_SINGLE_UNTERMINATED,107	#[regex("@\"(?:[^\"]|\"\")*\"")]108	STRING_DOUBLE_VERBATIM,109	#[regex("@\"(?:[^\"]|\"\")*")]110	ERROR_STRING_DOUBLE_VERBATIM_UNTERMINATED,111	#[regex("@'(?:[^']|'')*'")]112	STRING_SINGLE_VERBATIM,113	#[regex("@'(?:[^']|'')*")]114	ERROR_STRING_SINGLE_VERBATIM_UNTERMINATED,115	#[regex("@[^\"'\\s]\\S+")]116	ERROR_STRING_VERBATIM_MISSING_QUOTES,117	#[regex("\\|\\|\\|", crate::string_block::lex_str_block_test)]118	STRING_BLOCK,119	ERROR_STRING_BLOCK_UNEXPECTED_END,120	ERROR_STRING_BLOCK_MISSING_NEW_LINE,121	ERROR_STRING_BLOCK_MISSING_TERMINATION,122	ERROR_STRING_BLOCK_MISSING_INDENT,123	#[regex("[_a-zA-Z][_a-zA-Z0-9]*")]124	IDENT,125	#[regex("[ \\t\\n\\r]+")]126	WHITESPACE,127	#[regex("//[^\\r\\n]*?(\\r\\n|\\n)?")]128	SINGLE_LINE_SLASH_COMMENT,129	#[regex("#[^\\r\\n]*?(\\r\\n|\\n)?")]130	SINGLE_LINE_HASH_COMMENT,131	#[regex("/\\*([^*]|\\*+[^*/])*\\*+/")]132	MULTI_LINE_COMMENT,133	#[regex("/\\*/")]134	ERROR_COMMENT_TOO_SHORT,135	#[regex("/\\*([^*/]|\\*[^/])+")]136	ERROR_COMMENT_UNTERMINATED,137	ERROR_NO_OPERATOR,138	ERROR_MISSING_TOKEN,139	ERROR_UNEXPECTED_TOKEN,140	ERROR_CUSTOM,141	#[token("tailstrict")]142	TAILSTRICT_KW,143	#[token("local")]144	LOCAL_KW,145	#[token("importstr")]146	IMPORTSTR_KW,147	#[token("importbin")]148	IMPORTBIN_KW,149	#[token("import")]150	IMPORT_KW,151	#[token("if")]152	IF_KW,153	#[token("then")]154	THEN_KW,155	#[token("else")]156	ELSE_KW,157	#[token("function")]158	FUNCTION_KW,159	#[token("error")]160	ERROR_KW,161	#[token("in")]162	IN_KW,163	META_OBJECT_APPLY,164	#[token("null")]165	NULL_KW,166	#[token("true")]167	TRUE_KW,168	#[token("false")]169	FALSE_KW,170	#[token("self")]171	SELF_KW,172	#[token("super")]173	SUPER_KW,174	#[token("for")]175	FOR_KW,176	#[token("assert")]177	ASSERT_KW,178	LEXING_ERROR,179	__LAST_TOKEN,180	#[doc(hidden)]181	__LAST,182}183use self::SyntaxKind::*;184impl SyntaxKind {185	pub fn is_keyword(self) -> bool {186		match self {187			OR | NULL_COAELSE | AND | BIT_OR | BIT_XOR | BIT_AND | EQ | NE | LT | GT | LE | GE188			| LHS | RHS | PLUS | MINUS | MUL | DIV | MODULO | NOT | BIT_NOT | L_BRACK | R_BRACK189			| L_PAREN | R_PAREN | L_BRACE | R_BRACE | COLON | SEMI | DOT | DOTDOTDOT | COMMA190			| DOLLAR | ASSIGN | QUESTION_MARK | TAILSTRICT_KW | LOCAL_KW | IMPORTSTR_KW191			| IMPORTBIN_KW | IMPORT_KW | IF_KW | THEN_KW | ELSE_KW | FUNCTION_KW | ERROR_KW192			| IN_KW | NULL_KW | TRUE_KW | FALSE_KW | SELF_KW | SUPER_KW | FOR_KW | ASSERT_KW => true,193			_ => false,194		}195	}196	pub fn error_description(self) -> Option<&'static str> {197		match self {198			ERROR_FLOAT_JUNK_AFTER_POINT => {199				::core::option::Option::Some("junk after decimal point in number literal")200			}201			ERROR_FLOAT_JUNK_AFTER_EXPONENT => {202				::core::option::Option::Some("junk after exponent in number literal")203			}204			ERROR_FLOAT_JUNK_AFTER_EXPONENT_SIGN => {205				::core::option::Option::Some("junk after exponent sign in number literal")206			}207			ERROR_STRING_DOUBLE_UNTERMINATED => {208				::core::option::Option::Some("unterminated double-quoted string")209			}210			ERROR_STRING_SINGLE_UNTERMINATED => {211				::core::option::Option::Some("unterminated single-quoted string")212			}213			ERROR_STRING_DOUBLE_VERBATIM_UNTERMINATED => {214				::core::option::Option::Some("unterminated verbatim double-quoted string")215			}216			ERROR_STRING_SINGLE_VERBATIM_UNTERMINATED => {217				::core::option::Option::Some("unterminated verbatim single-quoted string")218			}219			ERROR_STRING_VERBATIM_MISSING_QUOTES => {220				::core::option::Option::Some("verbatim string missing opening quotes")221			}222			ERROR_STRING_BLOCK_UNEXPECTED_END => {223				::core::option::Option::Some("unexpected end of text block")224			}225			ERROR_STRING_BLOCK_MISSING_NEW_LINE => {226				::core::option::Option::Some("text block requires new line after |||")227			}228			ERROR_STRING_BLOCK_MISSING_TERMINATION => {229				::core::option::Option::Some("unterminated text block")230			}231			ERROR_STRING_BLOCK_MISSING_INDENT => {232				::core::option::Option::Some("text block first line must be indented")233			}234			ERROR_COMMENT_TOO_SHORT => ::core::option::Option::Some("comment too short"),235			ERROR_COMMENT_UNTERMINATED => {236				::core::option::Option::Some("unterminated multi-line comment")237			}238			ERROR_NO_OPERATOR => ::core::option::Option::Some("expected operator"),239			ERROR_MISSING_TOKEN => ::core::option::Option::Some("missing token"),240			ERROR_UNEXPECTED_TOKEN => ::core::option::Option::Some("unexpected token"),241			ERROR_CUSTOM => ::core::option::Option::Some("error"),242			LEXING_ERROR => ::core::option::Option::Some("unexpected character"),243			_ => None,244		}245	}246	pub fn display_name(self) -> &'static str {247		match self {248			OR => "'||'",249			NULL_COAELSE => "'??'",250			AND => "'&&'",251			BIT_OR => "'|'",252			BIT_XOR => "'^'",253			BIT_AND => "'&'",254			EQ => "'=='",255			NE => "'!='",256			LT => "'<'",257			GT => "'>'",258			LE => "'<='",259			GE => "'>='",260			LHS => "'<<'",261			RHS => "'>>'",262			PLUS => "'+'",263			MINUS => "'-'",264			MUL => "'*'",265			DIV => "'/'",266			MODULO => "'%'",267			NOT => "'!'",268			BIT_NOT => "'~'",269			L_BRACK => "'['",270			R_BRACK => "']'",271			L_PAREN => "'('",272			R_PAREN => "')'",273			L_BRACE => "'{'",274			R_BRACE => "'}'",275			COLON => "':'",276			SEMI => "';'",277			DOT => "'.'",278			DOTDOTDOT => "'...'",279			COMMA => "','",280			DOLLAR => "'$'",281			ASSIGN => "'='",282			QUESTION_MARK => "'?'",283			FLOAT => "number",284			ERROR_FLOAT_JUNK_AFTER_POINT => "junk after decimal point in number literal",285			ERROR_FLOAT_JUNK_AFTER_EXPONENT => "junk after exponent in number literal",286			ERROR_FLOAT_JUNK_AFTER_EXPONENT_SIGN => "junk after exponent sign in number literal",287			STRING_DOUBLE => "\"string\"",288			ERROR_STRING_DOUBLE_UNTERMINATED => "unterminated double-quoted string",289			STRING_SINGLE => "'string'",290			ERROR_STRING_SINGLE_UNTERMINATED => "unterminated single-quoted string",291			STRING_DOUBLE_VERBATIM => "@\"string\"",292			ERROR_STRING_DOUBLE_VERBATIM_UNTERMINATED => {293				"unterminated verbatim double-quoted string"294			}295			STRING_SINGLE_VERBATIM => "@'string'",296			ERROR_STRING_SINGLE_VERBATIM_UNTERMINATED => {297				"unterminated verbatim single-quoted string"298			}299			ERROR_STRING_VERBATIM_MISSING_QUOTES => "verbatim string missing opening quotes",300			STRING_BLOCK => "|||string|||",301			ERROR_STRING_BLOCK_UNEXPECTED_END => "unexpected end of text block",302			ERROR_STRING_BLOCK_MISSING_NEW_LINE => "text block requires new line after |||",303			ERROR_STRING_BLOCK_MISSING_TERMINATION => "unterminated text block",304			ERROR_STRING_BLOCK_MISSING_INDENT => "text block first line must be indented",305			IDENT => "identifier",306			WHITESPACE => "whitespace",307			SINGLE_LINE_SLASH_COMMENT => "//comment",308			SINGLE_LINE_HASH_COMMENT => "#comment",309			MULTI_LINE_COMMENT => "/*comment*/",310			ERROR_COMMENT_TOO_SHORT => "comment too short",311			ERROR_COMMENT_UNTERMINATED => "unterminated multi-line comment",312			ERROR_NO_OPERATOR => "expected operator",313			ERROR_MISSING_TOKEN => "missing token",314			ERROR_UNEXPECTED_TOKEN => "unexpected token",315			ERROR_CUSTOM => "error",316			TAILSTRICT_KW => "'tailstrict'",317			LOCAL_KW => "'local'",318			IMPORTSTR_KW => "'importstr'",319			IMPORTBIN_KW => "'importbin'",320			IMPORT_KW => "'import'",321			IF_KW => "'if'",322			THEN_KW => "'then'",323			ELSE_KW => "'else'",324			FUNCTION_KW => "'function'",325			ERROR_KW => "'error'",326			IN_KW => "'in'",327			META_OBJECT_APPLY => "meta_object_apply",328			NULL_KW => "'null'",329			TRUE_KW => "'true'",330			FALSE_KW => "'false'",331			SELF_KW => "'self'",332			SUPER_KW => "'super'",333			FOR_KW => "'for'",334			ASSERT_KW => "'assert'",335			LEXING_ERROR => "unexpected character",336			_ => "unknown",337		}338	}339	pub fn from_raw(r: u16) -> Self {340		assert!(r < Self::__LAST as u16);341		unsafe { std::mem::transmute(r) }342	}343	pub fn into_raw(self) -> u16 {344		self as u16345	}346}347#[macro_export]348macro_rules ! T { [||] => { $ crate :: SyntaxKind :: OR } ; [??] => { $ crate :: SyntaxKind :: NULL_COAELSE } ; [&&] => { $ 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 :: SEMI } ; [.] => { $ crate :: SyntaxKind :: DOT } ; [...] => { $ crate :: SyntaxKind :: DOTDOTDOT } ; [,] => { $ crate :: SyntaxKind :: COMMA } ; ['$'] => { $ crate :: SyntaxKind :: DOLLAR } ; [=] => { $ crate :: SyntaxKind :: ASSIGN } ; [?] => { $ crate :: SyntaxKind :: QUESTION_MARK } ; [tailstrict] => { $ crate :: SyntaxKind :: TAILSTRICT_KW } ; [local] => { $ crate :: SyntaxKind :: LOCAL_KW } ; [importstr] => { $ crate :: SyntaxKind :: IMPORTSTR_KW } ; [importbin] => { $ crate :: SyntaxKind :: IMPORTBIN_KW } ; [import] => { $ crate :: SyntaxKind :: IMPORT_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 } }349#[allow(unused_imports)]350pub use T;