workspacer_syntax/
maybe_has_syntax_kind.rs

1// ---------------- [ File: workspacer-syntax/src/maybe_has_syntax_kind.rs ]
2crate::ix!();
3
4pub trait MaybeHasSyntaxKind {
5    fn syntax_kind(&self) -> Option<SyntaxKind>;
6}
7
8impl MaybeHasSyntaxKind for ast::Fn {
9    fn syntax_kind(&self) -> Option<SyntaxKind> {
10        Some(self.syntax().kind())
11    }
12}
13
14impl MaybeHasSyntaxKind for ast::Enum {
15    fn syntax_kind(&self) -> Option<SyntaxKind> {
16        Some(self.syntax().kind())
17    }
18}
19
20impl MaybeHasSyntaxKind for ast::MacroRules {
21    fn syntax_kind(&self) -> Option<SyntaxKind> {
22        Some(self.syntax().kind())
23    }
24}
25
26impl MaybeHasSyntaxKind for ast::MacroCall {
27    fn syntax_kind(&self) -> Option<SyntaxKind> {
28        Some(self.syntax().kind())
29    }
30}
31
32impl MaybeHasSyntaxKind for ast::Struct {
33    fn syntax_kind(&self) -> Option<SyntaxKind> {
34        Some(self.syntax().kind())
35    }
36}
37
38impl MaybeHasSyntaxKind for ast::Trait {
39    fn syntax_kind(&self) -> Option<SyntaxKind> {
40        Some(self.syntax().kind())
41    }
42}
43
44impl MaybeHasSyntaxKind for ast::TypeAlias {
45    fn syntax_kind(&self) -> Option<SyntaxKind> {
46        Some(self.syntax().kind())
47    }
48}