blob: 0483adc776fa6a122cebbecc2b9f7bb93968a7fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
//! Defines [`SyntaxKind`] -- a fieldless enum of all possible syntactic
//! constructs of the Rust language.
mod generated;
#[allow(unreachable_pub)]
pub use self::generated::{SyntaxKind, T};
impl From<u16> for SyntaxKind {
#[inline]
fn from(d: u16) -> SyntaxKind {
assert!(d <= (SyntaxKind::__LAST as u16));
unsafe { std::mem::transmute::<u16, SyntaxKind>(d) }
}
}
impl From<SyntaxKind> for u16 {
#[inline]
fn from(k: SyntaxKind) -> u16 {
k as u16
}
}
impl SyntaxKind {
#[inline]
pub fn is_trivia(self) -> bool {
matches!(self, SyntaxKind::WHITESPACE | SyntaxKind::COMMENT)
}
}
|