squawk_syntax/ast/generated/
tokens.rs1use 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}