squawk_syntax/ast/generated/
tokens.rs

1use crate::{SyntaxKind, SyntaxToken, ast::AstToken};
2
3#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4pub struct Comment {
5    pub(crate) syntax: SyntaxToken,
6}
7impl std::fmt::Display for Comment {
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 Comment {
13    fn can_cast(kind: SyntaxKind) -> bool {
14        kind == SyntaxKind::COMMENT
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 Null {
30    pub(crate) syntax: SyntaxToken,
31}
32impl std::fmt::Display for Null {
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 Null {
38    fn can_cast(kind: SyntaxKind) -> bool {
39        kind == SyntaxKind::NULL_KW
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}
52
53#[derive(Debug, Clone, PartialEq, Eq, Hash)]
54pub struct String {
55    pub(crate) syntax: SyntaxToken,
56}
57impl std::fmt::Display for String {
58    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
59        std::fmt::Display::fmt(&self.syntax, f)
60    }
61}
62impl AstToken for String {
63    fn can_cast(kind: SyntaxKind) -> bool {
64        kind == SyntaxKind::STRING
65    }
66    fn cast(syntax: SyntaxToken) -> Option<Self> {
67        if Self::can_cast(syntax.kind()) {
68            Some(Self { syntax })
69        } else {
70            None
71        }
72    }
73    fn syntax(&self) -> &SyntaxToken {
74        &self.syntax
75    }
76}