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