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}