squawk_syntax/ast/generated/
tokens.rs

1// Generated via:
2//   cargo xtask codegen
3
4use crate::{SyntaxKind, SyntaxToken, ast::AstToken};
5
6#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7pub struct Comment {
8    pub(crate) syntax: SyntaxToken,
9}
10impl std::fmt::Display for Comment {
11    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12        std::fmt::Display::fmt(&self.syntax, f)
13    }
14}
15impl AstToken for Comment {
16    fn can_cast(kind: SyntaxKind) -> bool {
17        kind == SyntaxKind::COMMENT
18    }
19    fn cast(syntax: SyntaxToken) -> Option<Self> {
20        if Self::can_cast(syntax.kind()) {
21            Some(Self { syntax })
22        } else {
23            None
24        }
25    }
26    fn syntax(&self) -> &SyntaxToken {
27        &self.syntax
28    }
29}
30
31#[derive(Debug, Clone, PartialEq, Eq, Hash)]
32pub struct Null {
33    pub(crate) syntax: SyntaxToken,
34}
35impl std::fmt::Display for Null {
36    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
37        std::fmt::Display::fmt(&self.syntax, f)
38    }
39}
40impl AstToken for Null {
41    fn can_cast(kind: SyntaxKind) -> bool {
42        kind == SyntaxKind::NULL_KW
43    }
44    fn cast(syntax: SyntaxToken) -> Option<Self> {
45        if Self::can_cast(syntax.kind()) {
46            Some(Self { syntax })
47        } else {
48            None
49        }
50    }
51    fn syntax(&self) -> &SyntaxToken {
52        &self.syntax
53    }
54}
55
56#[derive(Debug, Clone, PartialEq, Eq, Hash)]
57pub struct String {
58    pub(crate) syntax: SyntaxToken,
59}
60impl std::fmt::Display for String {
61    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
62        std::fmt::Display::fmt(&self.syntax, f)
63    }
64}
65impl AstToken for String {
66    fn can_cast(kind: SyntaxKind) -> bool {
67        kind == SyntaxKind::STRING
68    }
69    fn cast(syntax: SyntaxToken) -> Option<Self> {
70        if Self::can_cast(syntax.kind()) {
71            Some(Self { syntax })
72        } else {
73            None
74        }
75    }
76    fn syntax(&self) -> &SyntaxToken {
77        &self.syntax
78    }
79}