squawk_syntax/ast/generated/
tokens.rs

1use crate::{SyntaxKind, SyntaxToken, ast::AstToken};
2
3#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4pub struct Null {
5    pub(crate) syntax: SyntaxToken,
6}
7impl std::fmt::Display for Null {
8    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9        std::fmt::Display::fmt(&self.syntax, f)
10    }
11}
12impl AstToken for Null {
13    fn can_cast(kind: SyntaxKind) -> bool {
14        kind == SyntaxKind::NULL_KW
15    }
16    fn cast(syntax: SyntaxToken) -> Option<Self> {
17        if Self::can_cast(syntax.kind()) {
18            Some(Self { syntax })
19        } else {
20            None
21        }
22    }
23    fn syntax(&self) -> &SyntaxToken {
24        &self.syntax
25    }
26}
27
28#[derive(Debug, Clone, PartialEq, Eq, Hash)]
29pub struct String {
30    pub(crate) syntax: SyntaxToken,
31}
32impl std::fmt::Display for String {
33    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
34        std::fmt::Display::fmt(&self.syntax, f)
35    }
36}
37impl AstToken for String {
38    fn can_cast(kind: SyntaxKind) -> bool {
39        kind == SyntaxKind::STRING
40    }
41    fn cast(syntax: SyntaxToken) -> Option<Self> {
42        if Self::can_cast(syntax.kind()) {
43            Some(Self { syntax })
44        } else {
45            None
46        }
47    }
48    fn syntax(&self) -> &SyntaxToken {
49        &self.syntax
50    }
51}