glsl_lang_pp/parser/lang.rs
1use super::SyntaxKind;
2
3#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
4pub struct PreprocessorLang;
5
6impl rowan::Language for PreprocessorLang {
7 type Kind = SyntaxKind;
8
9 fn kind_from_raw(raw: rowan::SyntaxKind) -> Self::Kind {
10 assert!(raw.0 < SyntaxKind::_LAST as u16);
11 unsafe { std::mem::transmute::<u16, SyntaxKind>(raw.0) }
12 }
13
14 fn kind_to_raw(kind: Self::Kind) -> rowan::SyntaxKind {
15 kind.into()
16 }
17}