cairo_lang_parser/
recovery.rs1macro_rules! is_of_kind {
4 ($($element:ident),*) => {
5 |kind: SyntaxKind| {
6 match kind{
7 $($crate::recovery::$element!() => true,)*
8 SyntaxKind::TerminalEndOfFile => true,
9 _ => false
10 }
11 }
12 };
13}
14pub(crate) use is_of_kind;
15
16macro_rules! match_arrow {
17 () => {
18 SyntaxKind::TerminalMatchArrow
19 };
20}
21pub(crate) use match_arrow;
22
23macro_rules! lbrace {
24 () => {
25 SyntaxKind::TerminalLBrace
26 };
27}
28pub(crate) use lbrace;
29
30macro_rules! rbrace {
31 () => {
32 SyntaxKind::TerminalRBrace
33 };
34}
35pub(crate) use rbrace;
36
37macro_rules! rparen {
38 () => {
39 SyntaxKind::TerminalRParen
40 };
41}
42pub(crate) use rparen;
43
44macro_rules! rbrack {
45 () => {
46 SyntaxKind::TerminalRBrack
47 };
48}
49pub(crate) use rbrack;
50
51macro_rules! rangle {
52 () => {
53 SyntaxKind::TerminalGT
54 };
55}
56pub(crate) use rangle;
57
58macro_rules! or {
59 () => {
60 SyntaxKind::TerminalOr
61 };
62}
63pub(crate) use or;
64
65macro_rules! comma {
66 () => {
67 SyntaxKind::TerminalComma
68 };
69}
70pub(crate) use comma;
71
72macro_rules! semicolon {
73 () => {
74 SyntaxKind::TerminalSemicolon
75 };
76}
77pub(crate) use semicolon;
78
79macro_rules! eq {
80 () => {
81 SyntaxKind::TerminalEq
82 };
83}
84pub(crate) use eq;
85
86macro_rules! module_item_kw {
87 () => {
88 SyntaxKind::TerminalConst
89 | SyntaxKind::TerminalEnum
90 | SyntaxKind::TerminalExtern
91 | SyntaxKind::TerminalFunction
92 | SyntaxKind::TerminalImpl
93 | SyntaxKind::TerminalModule
94 | SyntaxKind::TerminalStruct
95 | SyntaxKind::TerminalTrait
96 | SyntaxKind::TerminalType
97 | SyntaxKind::TerminalUse
98 };
99}
100pub(crate) use module_item_kw;
101
102macro_rules! block {
103 () => {
104 SyntaxKind::TerminalLet | SyntaxKind::TerminalMatch | SyntaxKind::TerminalReturn
105 };
106}
107pub(crate) use block;