apollo_parser/parser/generated/
syntax_kind.rs

1//! This is a generated file, please do not edit manually. Changes can be
2//! made in codegeneration that lives in `xtask` top-level dir.
3
4#![allow(
5    bad_style,
6    missing_docs,
7    unreachable_pub,
8    clippy::manual_non_exhaustive,
9    clippy::upper_case_acronyms
10)]
11#[doc = r" A token generated by the `Parser`."]
12#[non_exhaustive]
13#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
14#[repr(u16)]
15pub enum SyntaxKind {
16    #[doc(hidden)]
17    TOMBSTONE,
18    #[doc(hidden)]
19    EOF,
20    BANG,
21    L_PAREN,
22    R_PAREN,
23    L_CURLY,
24    R_CURLY,
25    L_BRACK,
26    R_BRACK,
27    COMMA,
28    AT,
29    DOLLAR,
30    AMP,
31    PIPE,
32    SPREAD,
33    EQ,
34    COLON,
35    query_KW,
36    mutation_KW,
37    repeatable_KW,
38    subscription_KW,
39    fragment_KW,
40    on_KW,
41    null_KW,
42    extend_KW,
43    schema_KW,
44    scalar_KW,
45    implements_KW,
46    interface_KW,
47    union_KW,
48    enum_KW,
49    input_KW,
50    directive_KW,
51    type_KW,
52    true_KW,
53    false_KW,
54    QUERY_KW,
55    MUTATION_KW,
56    SUBSCRIPTION_KW,
57    FIELD_KW,
58    FRAGMENT_DEFINITION_KW,
59    FRAGMENT_SPREAD_KW,
60    INLINE_FRAGMENT_KW,
61    VARIABLE_DEFINITION_KW,
62    SCHEMA_KW,
63    SCALAR_KW,
64    OBJECT_KW,
65    FIELD_DEFINITION_KW,
66    ARGUMENT_DEFINITION_KW,
67    INTERFACE_KW,
68    UNION_KW,
69    ENUM_KW,
70    ENUM_VALUE_KW,
71    INPUT_OBJECT_KW,
72    INPUT_FIELD_DEFINITION_KW,
73    INT,
74    FLOAT,
75    STRING,
76    IDENT,
77    WHITESPACE,
78    COMMENT,
79    ERROR,
80    NAME,
81    INTEGER_PART,
82    NEGATIVE_SIGN,
83    NON_ZERO_DIGIT,
84    DIGIT,
85    FRACTIONAL_PART,
86    EXPONENT_PART,
87    EXPONENT_INDICATOR,
88    SIGN,
89    DOCUMENT,
90    DEFINITION,
91    EXECUTABLE_DEFINITION,
92    TYPE_SYSTEM_DEFINITION,
93    TYPE_SYSTEM_EXTENSION,
94    OPERATION_DEFINITION,
95    FRAGMENT_DEFINITION,
96    OPERATION_TYPE,
97    DIRECTIVE,
98    DIRECTIVES,
99    SELECTION_SET,
100    SELECTION,
101    FIELD,
102    FRAGMENT_SPREAD,
103    INLINE_FRAGMENT,
104    ALIAS,
105    ARGUMENTS,
106    ARGUMENT,
107    VALUE,
108    STRING_VALUE,
109    INT_VALUE,
110    FLOAT_VALUE,
111    FRAGMENT_NAME,
112    TYPE_CONDITION,
113    VARIABLE,
114    BOOLEAN_VALUE,
115    NULL_VALUE,
116    ENUM_VALUE,
117    LIST_VALUE,
118    OBJECT_VALUE,
119    OBJECT_FIELD,
120    VARIABLE_DEFINITIONS,
121    VARIABLE_DEFINITION,
122    TYPE,
123    DEFAULT_VALUE,
124    NAMED_TYPE,
125    LIST_TYPE,
126    NON_NULL_TYPE,
127    SCHEMA_DEFINITION,
128    TYPE_DEFINITION,
129    DIRECTIVE_DEFINITION,
130    SCHEMA_EXTENSION,
131    TYPE_EXTENSION,
132    ROOT_OPERATION_TYPE_DEFINITION,
133    DESCRIPTION,
134    SCALAR_TYPE_DEFINITION,
135    OBJECT_TYPE_DEFINITION,
136    INTERFACE_TYPE_DEFINITION,
137    UNION_TYPE_DEFINITION,
138    ENUM_TYPE_DEFINITION,
139    INPUT_OBJECT_TYPE_DEFINITION,
140    SCALAR_TYPE_EXTENSION,
141    OBJECT_TYPE_EXTENSION,
142    INTERFACE_TYPE_EXTENSION,
143    UNION_TYPE_EXTENSION,
144    ENUM_TYPE_EXTENSION,
145    INPUT_OBJECT_TYPE_EXTENSION,
146    IMPLEMENTS_INTERFACES,
147    FIELDS_DEFINITION,
148    FIELD_DEFINITION,
149    ARGUMENTS_DEFINITION,
150    UNION_MEMBER_TYPES,
151    ENUM_VALUES_DEFINITION,
152    ENUM_VALUE_DEFINITION,
153    INPUT_FIELDS_DEFINITION,
154    INPUT_VALUE_DEFINITION,
155    DIRECTIVE_LOCATIONS,
156    DIRECTIVE_LOCATION,
157    EXECUTABLE_DIRECTIVE_LOCATION,
158    TYPE_SYSTEM_DIRECTIVE_LOCATION,
159    #[doc(hidden)]
160    __LAST,
161}
162use self::SyntaxKind::*;
163impl SyntaxKind {
164    pub fn is_keyword(self) -> bool {
165        matches!(
166            self,
167            query_KW
168                | mutation_KW
169                | repeatable_KW
170                | subscription_KW
171                | fragment_KW
172                | on_KW
173                | null_KW
174                | extend_KW
175                | schema_KW
176                | scalar_KW
177                | implements_KW
178                | interface_KW
179                | union_KW
180                | enum_KW
181                | input_KW
182                | directive_KW
183                | type_KW
184                | true_KW
185                | false_KW
186                | QUERY_KW
187                | MUTATION_KW
188                | SUBSCRIPTION_KW
189                | FIELD_KW
190                | FRAGMENT_DEFINITION_KW
191                | FRAGMENT_SPREAD_KW
192                | INLINE_FRAGMENT_KW
193                | VARIABLE_DEFINITION_KW
194                | SCHEMA_KW
195                | SCALAR_KW
196                | OBJECT_KW
197                | FIELD_DEFINITION_KW
198                | ARGUMENT_DEFINITION_KW
199                | INTERFACE_KW
200                | UNION_KW
201                | ENUM_KW
202                | ENUM_VALUE_KW
203                | INPUT_OBJECT_KW
204                | INPUT_FIELD_DEFINITION_KW
205        )
206    }
207    pub fn is_punct(self) -> bool {
208        matches!(
209            self,
210            BANG | L_PAREN
211                | R_PAREN
212                | L_CURLY
213                | R_CURLY
214                | L_BRACK
215                | R_BRACK
216                | COMMA
217                | AT
218                | DOLLAR
219                | AMP
220                | PIPE
221                | SPREAD
222                | EQ
223                | COLON
224        )
225    }
226    pub fn is_literal(self) -> bool {
227        matches!(self, INT | FLOAT | STRING)
228    }
229    pub fn from_keyword(ident: &str) -> Option<SyntaxKind> {
230        let kw = match ident {
231            "query" => query_KW,
232            "mutation" => mutation_KW,
233            "repeatable" => repeatable_KW,
234            "subscription" => subscription_KW,
235            "fragment" => fragment_KW,
236            "on" => on_KW,
237            "null" => null_KW,
238            "extend" => extend_KW,
239            "schema" => schema_KW,
240            "scalar" => scalar_KW,
241            "implements" => implements_KW,
242            "interface" => interface_KW,
243            "union" => union_KW,
244            "enum" => enum_KW,
245            "input" => input_KW,
246            "directive" => directive_KW,
247            "type" => type_KW,
248            "true" => true_KW,
249            "false" => false_KW,
250            "QUERY" => QUERY_KW,
251            "MUTATION" => MUTATION_KW,
252            "SUBSCRIPTION" => SUBSCRIPTION_KW,
253            "FIELD" => FIELD_KW,
254            "FRAGMENT_DEFINITION" => FRAGMENT_DEFINITION_KW,
255            "FRAGMENT_SPREAD" => FRAGMENT_SPREAD_KW,
256            "INLINE_FRAGMENT" => INLINE_FRAGMENT_KW,
257            "VARIABLE_DEFINITION" => VARIABLE_DEFINITION_KW,
258            "SCHEMA" => SCHEMA_KW,
259            "SCALAR" => SCALAR_KW,
260            "OBJECT" => OBJECT_KW,
261            "FIELD_DEFINITION" => FIELD_DEFINITION_KW,
262            "ARGUMENT_DEFINITION" => ARGUMENT_DEFINITION_KW,
263            "INTERFACE" => INTERFACE_KW,
264            "UNION" => UNION_KW,
265            "ENUM" => ENUM_KW,
266            "ENUM_VALUE" => ENUM_VALUE_KW,
267            "INPUT_OBJECT" => INPUT_OBJECT_KW,
268            "INPUT_FIELD_DEFINITION" => INPUT_FIELD_DEFINITION_KW,
269            _ => return None,
270        };
271        Some(kw)
272    }
273    pub fn from_char(c: char) -> Option<SyntaxKind> {
274        let tok = match c {
275            '!' => BANG,
276            '(' => L_PAREN,
277            ')' => R_PAREN,
278            '{' => L_CURLY,
279            '}' => R_CURLY,
280            '[' => L_BRACK,
281            ']' => R_BRACK,
282            ',' => COMMA,
283            '@' => AT,
284            '$' => DOLLAR,
285            '&' => AMP,
286            '|' => PIPE,
287            '=' => EQ,
288            ':' => COLON,
289            _ => return None,
290        };
291        Some(tok)
292    }
293}
294#[doc = r" Create a new `SyntaxKind`."]
295#[macro_export]
296macro_rules ! S { [!] => { $ crate :: SyntaxKind :: BANG } ; ['('] => { $ crate :: SyntaxKind :: L_PAREN } ; [')'] => { $ crate :: SyntaxKind :: R_PAREN } ; ['{'] => { $ crate :: SyntaxKind :: L_CURLY } ; ['}'] => { $ crate :: SyntaxKind :: R_CURLY } ; ['['] => { $ crate :: SyntaxKind :: L_BRACK } ; [']'] => { $ crate :: SyntaxKind :: R_BRACK } ; [,] => { $ crate :: SyntaxKind :: COMMA } ; [@] => { $ crate :: SyntaxKind :: AT } ; [$] => { $ crate :: SyntaxKind :: DOLLAR } ; [&] => { $ crate :: SyntaxKind :: AMP } ; [|] => { $ crate :: SyntaxKind :: PIPE } ; [...] => { $ crate :: SyntaxKind :: SPREAD } ; [=] => { $ crate :: SyntaxKind :: EQ } ; [:] => { $ crate :: SyntaxKind :: COLON } ; [query] => { $ crate :: SyntaxKind :: query_KW } ; [mutation] => { $ crate :: SyntaxKind :: mutation_KW } ; [repeatable] => { $ crate :: SyntaxKind :: repeatable_KW } ; [subscription] => { $ crate :: SyntaxKind :: subscription_KW } ; [fragment] => { $ crate :: SyntaxKind :: fragment_KW } ; [on] => { $ crate :: SyntaxKind :: on_KW } ; [null] => { $ crate :: SyntaxKind :: null_KW } ; [extend] => { $ crate :: SyntaxKind :: extend_KW } ; [schema] => { $ crate :: SyntaxKind :: schema_KW } ; [scalar] => { $ crate :: SyntaxKind :: scalar_KW } ; [implements] => { $ crate :: SyntaxKind :: implements_KW } ; [interface] => { $ crate :: SyntaxKind :: interface_KW } ; [union] => { $ crate :: SyntaxKind :: union_KW } ; [enum] => { $ crate :: SyntaxKind :: enum_KW } ; [input] => { $ crate :: SyntaxKind :: input_KW } ; [directive] => { $ crate :: SyntaxKind :: directive_KW } ; [type] => { $ crate :: SyntaxKind :: type_KW } ; [true] => { $ crate :: SyntaxKind :: true_KW } ; [false] => { $ crate :: SyntaxKind :: false_KW } ; [QUERY] => { $ crate :: SyntaxKind :: QUERY_KW } ; [MUTATION] => { $ crate :: SyntaxKind :: MUTATION_KW } ; [SUBSCRIPTION] => { $ crate :: SyntaxKind :: SUBSCRIPTION_KW } ; [FIELD] => { $ crate :: SyntaxKind :: FIELD_KW } ; [FRAGMENT_DEFINITION] => { $ crate :: SyntaxKind :: FRAGMENT_DEFINITION_KW } ; [FRAGMENT_SPREAD] => { $ crate :: SyntaxKind :: FRAGMENT_SPREAD_KW } ; [INLINE_FRAGMENT] => { $ crate :: SyntaxKind :: INLINE_FRAGMENT_KW } ; [VARIABLE_DEFINITION] => { $ crate :: SyntaxKind :: VARIABLE_DEFINITION_KW } ; [SCHEMA] => { $ crate :: SyntaxKind :: SCHEMA_KW } ; [SCALAR] => { $ crate :: SyntaxKind :: SCALAR_KW } ; [OBJECT] => { $ crate :: SyntaxKind :: OBJECT_KW } ; [FIELD_DEFINITION] => { $ crate :: SyntaxKind :: FIELD_DEFINITION_KW } ; [ARGUMENT_DEFINITION] => { $ crate :: SyntaxKind :: ARGUMENT_DEFINITION_KW } ; [INTERFACE] => { $ crate :: SyntaxKind :: INTERFACE_KW } ; [UNION] => { $ crate :: SyntaxKind :: UNION_KW } ; [ENUM] => { $ crate :: SyntaxKind :: ENUM_KW } ; [ENUM_VALUE] => { $ crate :: SyntaxKind :: ENUM_VALUE_KW } ; [INPUT_OBJECT] => { $ crate :: SyntaxKind :: INPUT_OBJECT_KW } ; [INPUT_FIELD_DEFINITION] => { $ crate :: SyntaxKind :: INPUT_FIELD_DEFINITION_KW } ; [ident] => { $ crate :: SyntaxKind :: IDENT } ; [float] => { $ crate :: SyntaxKind :: FLOAT } ; [string_value] => { $ crate :: SyntaxKind :: STRING_VALUE } ; [int] => { $ crate :: SyntaxKind :: INT } ; }