lib-ruby-parser 3.0.11

Ruby parser
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
// This file is auto-generated by codegen/rust/messages/external/predicates.rs

use crate::blobs::Blob;
use super::DiagnosticMessage;

extern "C" {
    fn lib_ruby_parser__external__diagnotic_messages__is_fraction_after_numeric(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_no_digits_after_dot(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unknown_type_of_percent_string(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_numeric_literal_without_digits(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unterminated_list(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unterminated_regexp(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unterminated_string(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unterminated_quoted_string(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_unicode_escape(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_too_large_unicode_codepoint(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_unicode_codepoint(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_multiple_codepoint_at_single_char(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_escape_character(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_hex_escape(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unterminated_heredoc(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unterminated_heredoc_id(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_slash_r_at_middle_of_line(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_d_star_interpreted_as_arg_prefix(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_star_interpreted_as_arg_prefix(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ampersand_interpreted_as_arg_prefix(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_triple_dot_at_eol(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_parentheses_iterpreted_as_arglist(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ambiguous_first_argument(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ambiguous_operator(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_character_syntax(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_octal_digit(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_trailing_char_in_number(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_embedded_document_meets_eof(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_char(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_incomplete_character_syntax(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_gvar_without_id(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_gvar_name(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ivar_without_id(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_ivar_name(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cvar_without_id(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_cvar_name(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unknown_regex_options(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unterminated_unicode_escape(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_encoding_error(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_multibyte_char(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ambiguous_ternary_operator(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ambiguous_regexp(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_else_without_rescue(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_begin_not_at_top_level(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_alias_nth_ref(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_csend_inside_masgn(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_class_or_module_name_must_be_constant(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_endless_setter_definition(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_unexpected_token(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_class_definition_in_method_body(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_module_definition_in_method_body(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_return_in_class_or_module_body(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_const_argument(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ivar_argument(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_gvar_argument(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cvar_argument(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_no_such_local_variable(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_ordinary_param_defined(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_numparam_used(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_tok_at_eol_without_expression(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_end_in_method(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_comparison_after_comparison(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_circular_argument_reference(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_dynamic_constant_assignment(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_self(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_nil(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_true(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_false(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_file(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_line(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_encoding(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_numparam(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_cant_set_variable(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_block_given_to_yield(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_block_and_block_arg_given(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_symbol_literal_with_interpolation(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_reserved_for_numparam(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_key_must_be_valid_as_local_variable(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_duplicate_variable_name(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_duplicate_key_name(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_singleton_literal(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_nth_ref_is_too_big(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_duplicated_argument_name(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_regex_error(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_invalid_symbol(blob: *const Blob<DiagnosticMessage>) -> bool;
    fn lib_ruby_parser__external__diagnotic_messages__is_void_value_expression(blob: *const Blob<DiagnosticMessage>) -> bool;
}

impl DiagnosticMessage {
    /// Returns true if current variant is FractionAfterNumeric
    pub fn is_fraction_after_numeric(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_fraction_after_numeric(&self.blob) }
    }
    /// Returns true if current variant is NoDigitsAfterDot
    pub fn is_no_digits_after_dot(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_no_digits_after_dot(&self.blob) }
    }
    /// Returns true if current variant is UnknownTypeOfPercentString
    pub fn is_unknown_type_of_percent_string(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unknown_type_of_percent_string(&self.blob) }
    }
    /// Returns true if current variant is NumericLiteralWithoutDigits
    pub fn is_numeric_literal_without_digits(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_numeric_literal_without_digits(&self.blob) }
    }
    /// Returns true if current variant is UnterminatedList
    pub fn is_unterminated_list(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unterminated_list(&self.blob) }
    }
    /// Returns true if current variant is UnterminatedRegexp
    pub fn is_unterminated_regexp(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unterminated_regexp(&self.blob) }
    }
    /// Returns true if current variant is UnterminatedString
    pub fn is_unterminated_string(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unterminated_string(&self.blob) }
    }
    /// Returns true if current variant is UnterminatedQuotedString
    pub fn is_unterminated_quoted_string(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unterminated_quoted_string(&self.blob) }
    }
    /// Returns true if current variant is InvalidUnicodeEscape
    pub fn is_invalid_unicode_escape(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_unicode_escape(&self.blob) }
    }
    /// Returns true if current variant is TooLargeUnicodeCodepoint
    pub fn is_too_large_unicode_codepoint(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_too_large_unicode_codepoint(&self.blob) }
    }
    /// Returns true if current variant is InvalidUnicodeCodepoint
    pub fn is_invalid_unicode_codepoint(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_unicode_codepoint(&self.blob) }
    }
    /// Returns true if current variant is MultipleCodepointAtSingleChar
    pub fn is_multiple_codepoint_at_single_char(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_multiple_codepoint_at_single_char(&self.blob) }
    }
    /// Returns true if current variant is InvalidEscapeCharacter
    pub fn is_invalid_escape_character(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_escape_character(&self.blob) }
    }
    /// Returns true if current variant is InvalidHexEscape
    pub fn is_invalid_hex_escape(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_hex_escape(&self.blob) }
    }
    /// Returns true if current variant is UnterminatedHeredoc
    pub fn is_unterminated_heredoc(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unterminated_heredoc(&self.blob) }
    }
    /// Returns true if current variant is UnterminatedHeredocId
    pub fn is_unterminated_heredoc_id(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unterminated_heredoc_id(&self.blob) }
    }
    /// Returns true if current variant is SlashRAtMiddleOfLine
    pub fn is_slash_r_at_middle_of_line(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_slash_r_at_middle_of_line(&self.blob) }
    }
    /// Returns true if current variant is DStarInterpretedAsArgPrefix
    pub fn is_d_star_interpreted_as_arg_prefix(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_d_star_interpreted_as_arg_prefix(&self.blob) }
    }
    /// Returns true if current variant is StarInterpretedAsArgPrefix
    pub fn is_star_interpreted_as_arg_prefix(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_star_interpreted_as_arg_prefix(&self.blob) }
    }
    /// Returns true if current variant is AmpersandInterpretedAsArgPrefix
    pub fn is_ampersand_interpreted_as_arg_prefix(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ampersand_interpreted_as_arg_prefix(&self.blob) }
    }
    /// Returns true if current variant is TripleDotAtEol
    pub fn is_triple_dot_at_eol(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_triple_dot_at_eol(&self.blob) }
    }
    /// Returns true if current variant is ParenthesesIterpretedAsArglist
    pub fn is_parentheses_iterpreted_as_arglist(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_parentheses_iterpreted_as_arglist(&self.blob) }
    }
    /// Returns true if current variant is AmbiguousFirstArgument
    pub fn is_ambiguous_first_argument(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ambiguous_first_argument(&self.blob) }
    }
    /// Returns true if current variant is AmbiguousOperator
    pub fn is_ambiguous_operator(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ambiguous_operator(&self.blob) }
    }
    /// Returns true if current variant is InvalidCharacterSyntax
    pub fn is_invalid_character_syntax(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_character_syntax(&self.blob) }
    }
    /// Returns true if current variant is InvalidOctalDigit
    pub fn is_invalid_octal_digit(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_octal_digit(&self.blob) }
    }
    /// Returns true if current variant is TrailingCharInNumber
    pub fn is_trailing_char_in_number(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_trailing_char_in_number(&self.blob) }
    }
    /// Returns true if current variant is EmbeddedDocumentMeetsEof
    pub fn is_embedded_document_meets_eof(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_embedded_document_meets_eof(&self.blob) }
    }
    /// Returns true if current variant is InvalidChar
    pub fn is_invalid_char(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_char(&self.blob) }
    }
    /// Returns true if current variant is IncompleteCharacterSyntax
    pub fn is_incomplete_character_syntax(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_incomplete_character_syntax(&self.blob) }
    }
    /// Returns true if current variant is GvarWithoutId
    pub fn is_gvar_without_id(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_gvar_without_id(&self.blob) }
    }
    /// Returns true if current variant is InvalidGvarName
    pub fn is_invalid_gvar_name(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_gvar_name(&self.blob) }
    }
    /// Returns true if current variant is IvarWithoutId
    pub fn is_ivar_without_id(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ivar_without_id(&self.blob) }
    }
    /// Returns true if current variant is InvalidIvarName
    pub fn is_invalid_ivar_name(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_ivar_name(&self.blob) }
    }
    /// Returns true if current variant is CvarWithoutId
    pub fn is_cvar_without_id(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cvar_without_id(&self.blob) }
    }
    /// Returns true if current variant is InvalidCvarName
    pub fn is_invalid_cvar_name(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_cvar_name(&self.blob) }
    }
    /// Returns true if current variant is UnknownRegexOptions
    pub fn is_unknown_regex_options(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unknown_regex_options(&self.blob) }
    }
    /// Returns true if current variant is UnterminatedUnicodeEscape
    pub fn is_unterminated_unicode_escape(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unterminated_unicode_escape(&self.blob) }
    }
    /// Returns true if current variant is EncodingError
    pub fn is_encoding_error(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_encoding_error(&self.blob) }
    }
    /// Returns true if current variant is InvalidMultibyteChar
    pub fn is_invalid_multibyte_char(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_multibyte_char(&self.blob) }
    }
    /// Returns true if current variant is AmbiguousTernaryOperator
    pub fn is_ambiguous_ternary_operator(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ambiguous_ternary_operator(&self.blob) }
    }
    /// Returns true if current variant is AmbiguousRegexp
    pub fn is_ambiguous_regexp(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ambiguous_regexp(&self.blob) }
    }
    /// Returns true if current variant is ElseWithoutRescue
    pub fn is_else_without_rescue(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_else_without_rescue(&self.blob) }
    }
    /// Returns true if current variant is BeginNotAtTopLevel
    pub fn is_begin_not_at_top_level(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_begin_not_at_top_level(&self.blob) }
    }
    /// Returns true if current variant is AliasNthRef
    pub fn is_alias_nth_ref(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_alias_nth_ref(&self.blob) }
    }
    /// Returns true if current variant is CsendInsideMasgn
    pub fn is_csend_inside_masgn(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_csend_inside_masgn(&self.blob) }
    }
    /// Returns true if current variant is ClassOrModuleNameMustBeConstant
    pub fn is_class_or_module_name_must_be_constant(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_class_or_module_name_must_be_constant(&self.blob) }
    }
    /// Returns true if current variant is EndlessSetterDefinition
    pub fn is_endless_setter_definition(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_endless_setter_definition(&self.blob) }
    }
    /// Returns true if current variant is UnexpectedToken
    pub fn is_unexpected_token(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_unexpected_token(&self.blob) }
    }
    /// Returns true if current variant is ClassDefinitionInMethodBody
    pub fn is_class_definition_in_method_body(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_class_definition_in_method_body(&self.blob) }
    }
    /// Returns true if current variant is ModuleDefinitionInMethodBody
    pub fn is_module_definition_in_method_body(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_module_definition_in_method_body(&self.blob) }
    }
    /// Returns true if current variant is InvalidReturnInClassOrModuleBody
    pub fn is_invalid_return_in_class_or_module_body(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_return_in_class_or_module_body(&self.blob) }
    }
    /// Returns true if current variant is ConstArgument
    pub fn is_const_argument(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_const_argument(&self.blob) }
    }
    /// Returns true if current variant is IvarArgument
    pub fn is_ivar_argument(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ivar_argument(&self.blob) }
    }
    /// Returns true if current variant is GvarArgument
    pub fn is_gvar_argument(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_gvar_argument(&self.blob) }
    }
    /// Returns true if current variant is CvarArgument
    pub fn is_cvar_argument(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cvar_argument(&self.blob) }
    }
    /// Returns true if current variant is NoSuchLocalVariable
    pub fn is_no_such_local_variable(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_no_such_local_variable(&self.blob) }
    }
    /// Returns true if current variant is OrdinaryParamDefined
    pub fn is_ordinary_param_defined(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_ordinary_param_defined(&self.blob) }
    }
    /// Returns true if current variant is NumparamUsed
    pub fn is_numparam_used(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_numparam_used(&self.blob) }
    }
    /// Returns true if current variant is TokAtEolWithoutExpression
    pub fn is_tok_at_eol_without_expression(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_tok_at_eol_without_expression(&self.blob) }
    }
    /// Returns true if current variant is EndInMethod
    pub fn is_end_in_method(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_end_in_method(&self.blob) }
    }
    /// Returns true if current variant is ComparisonAfterComparison
    pub fn is_comparison_after_comparison(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_comparison_after_comparison(&self.blob) }
    }
    /// Returns true if current variant is CircularArgumentReference
    pub fn is_circular_argument_reference(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_circular_argument_reference(&self.blob) }
    }
    /// Returns true if current variant is DynamicConstantAssignment
    pub fn is_dynamic_constant_assignment(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_dynamic_constant_assignment(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToSelf
    pub fn is_cant_assign_to_self(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_self(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToNil
    pub fn is_cant_assign_to_nil(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_nil(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToTrue
    pub fn is_cant_assign_to_true(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_true(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToFalse
    pub fn is_cant_assign_to_false(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_false(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToFile
    pub fn is_cant_assign_to_file(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_file(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToLine
    pub fn is_cant_assign_to_line(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_line(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToEncoding
    pub fn is_cant_assign_to_encoding(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_encoding(&self.blob) }
    }
    /// Returns true if current variant is CantAssignToNumparam
    pub fn is_cant_assign_to_numparam(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_assign_to_numparam(&self.blob) }
    }
    /// Returns true if current variant is CantSetVariable
    pub fn is_cant_set_variable(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_cant_set_variable(&self.blob) }
    }
    /// Returns true if current variant is BlockGivenToYield
    pub fn is_block_given_to_yield(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_block_given_to_yield(&self.blob) }
    }
    /// Returns true if current variant is BlockAndBlockArgGiven
    pub fn is_block_and_block_arg_given(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_block_and_block_arg_given(&self.blob) }
    }
    /// Returns true if current variant is SymbolLiteralWithInterpolation
    pub fn is_symbol_literal_with_interpolation(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_symbol_literal_with_interpolation(&self.blob) }
    }
    /// Returns true if current variant is ReservedForNumparam
    pub fn is_reserved_for_numparam(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_reserved_for_numparam(&self.blob) }
    }
    /// Returns true if current variant is KeyMustBeValidAsLocalVariable
    pub fn is_key_must_be_valid_as_local_variable(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_key_must_be_valid_as_local_variable(&self.blob) }
    }
    /// Returns true if current variant is DuplicateVariableName
    pub fn is_duplicate_variable_name(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_duplicate_variable_name(&self.blob) }
    }
    /// Returns true if current variant is DuplicateKeyName
    pub fn is_duplicate_key_name(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_duplicate_key_name(&self.blob) }
    }
    /// Returns true if current variant is SingletonLiteral
    pub fn is_singleton_literal(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_singleton_literal(&self.blob) }
    }
    /// Returns true if current variant is NthRefIsTooBig
    pub fn is_nth_ref_is_too_big(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_nth_ref_is_too_big(&self.blob) }
    }
    /// Returns true if current variant is DuplicatedArgumentName
    pub fn is_duplicated_argument_name(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_duplicated_argument_name(&self.blob) }
    }
    /// Returns true if current variant is RegexError
    pub fn is_regex_error(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_regex_error(&self.blob) }
    }
    /// Returns true if current variant is InvalidSymbol
    pub fn is_invalid_symbol(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_invalid_symbol(&self.blob) }
    }
    /// Returns true if current variant is VoidValueExpression
    pub fn is_void_value_expression(&self) -> bool {
        unsafe { lib_ruby_parser__external__diagnotic_messages__is_void_value_expression(&self.blob) }
    }
}