ra_ap_parser/
syntax_kind.rs1mod generated;
5
6use crate::Edition;
7
8#[allow(unreachable_pub)]
9pub use self::generated::SyntaxKind;
10
11impl From<u16> for SyntaxKind {
12 #[inline]
13 fn from(d: u16) -> SyntaxKind {
14 assert!(d <= (SyntaxKind::__LAST as u16));
15 unsafe { std::mem::transmute::<u16, SyntaxKind>(d) }
16 }
17}
18
19impl From<SyntaxKind> for u16 {
20 #[inline]
21 fn from(k: SyntaxKind) -> u16 {
22 k as u16
23 }
24}
25
26impl SyntaxKind {
27 #[inline]
28 pub fn is_trivia(self) -> bool {
29 matches!(self, SyntaxKind::WHITESPACE | SyntaxKind::COMMENT)
30 }
31
32 #[inline]
34 pub fn is_any_identifier(self) -> bool {
35 self == SyntaxKind::IDENT || self.is_keyword(Edition::LATEST)
37 }
38}