lib_ruby_parser_ast/error/messages/
message_enum.rs

1// This file is autogenerated by codegen/diagnostic_message.liquid
2
3/// Enum of all possible diagnostic message (both warnings and errors)
4#[derive(Debug, Clone, PartialEq, Eq)]
5#[allow(missing_docs)]
6#[repr(C)]
7pub enum DiagnosticMessage {
8
9    /// Emitted for code
10    ///
11    /// ```text
12    /// 1.2.3
13    /// ```
14    FractionAfterNumeric {
15        
16    },
17
18    /// Emitted for code like
19    ///
20    /// ```text
21    /// foo.2
22    /// ```
23    NoDigitsAfterDot {
24        
25    },
26
27    /// Emitted for code like
28    ///
29    /// ```text
30    /// %k[foo]
31    /// ```
32    UnknownTypeOfPercentString {
33        
34    },
35
36    /// Emitted for code like
37    ///
38    /// ```text
39    /// 0b
40    /// ```
41    NumericLiteralWithoutDigits {
42        
43    },
44
45    /// Emitted for code like
46    ///
47    /// ```text
48    /// %w[foo bar
49    /// ```
50    UnterminatedList {
51        
52    },
53
54    /// Emitted for code like
55    ///
56    /// ```text
57    /// /foo
58    /// ```
59    UnterminatedRegexp {
60        
61    },
62
63    /// Emitted for code like
64    ///
65    /// ```text
66    /// "foo
67    /// ```
68    UnterminatedString {
69        
70    },
71
72    /// Emitted for code like
73    ///
74    /// ```text
75    /// %s
76    /// //    ^ EOF, not "
77    ///
78    /// ```
79    UnterminatedQuotedString {
80        
81    },
82
83    /// Emitted for code like
84    ///
85    /// ```text
86    /// "\ufoo"
87    /// ```
88    InvalidUnicodeEscape {
89        
90    },
91
92    /// Emitted for code like
93    ///
94    /// ```text
95    /// "\u{999999}"
96    /// ```
97    TooLargeUnicodeCodepoint {
98        
99    },
100
101    /// Emitted for code like
102    ///
103    /// ```text
104    /// "\u{d800}"
105    /// ```
106    InvalidUnicodeCodepoint {
107        
108    },
109
110    /// Emitted for code like
111    ///
112    /// ```text
113    /// ?\u{41 42}
114    /// ```
115    MultipleCodepointAtSingleChar {
116        
117    },
118
119    /// Emitted for code like
120    ///
121    /// ```text
122    /// "\M-"
123    /// ```
124    InvalidEscapeCharacter {
125        
126    },
127
128    /// Emitted for code like
129    ///
130    /// ```text
131    /// "\xZZ"
132    /// ```
133    InvalidHexEscape {
134        
135    },
136
137    /// Emitted for code like
138    ///
139    /// ```text
140    /// <<-HERE
141    /// ```
142    UnterminatedHeredoc {
143        
144        /// Heredoc identifier
145        heredoc_id:String,
146    },
147
148    /// Emitted for code like
149    ///
150    /// ```text
151    /// <<-"HERE
152    /// ```
153    UnterminatedHeredocId {
154        
155    },
156
157    /// Emitted for code like
158    ///
159    /// ```text
160    /// eval("foo \r = 42")
161    /// ```
162    SlashRAtMiddleOfLine {
163        
164    },
165
166    /// Emitted for code like (only in $VERBOSE mode)
167    ///
168    /// ```text
169    /// foo **arg
170    /// ```
171    DStarInterpretedAsArgPrefix {
172        
173    },
174
175    /// Emitted for code like (only in $VERBOSE mode)
176    ///
177    /// ```text
178    /// foo *arg
179    /// ```
180    StarInterpretedAsArgPrefix {
181        
182    },
183
184    /// Emitted for code like (only in $VERBOSE mode)
185    ///
186    /// ```text
187    /// foo &arg
188    /// ```
189    AmpersandInterpretedAsArgPrefix {
190        
191    },
192
193    /// Emitted for code like
194    ///
195    /// ```text
196    /// range = 1...
197    /// ```
198    TripleDotAtEol {
199        
200    },
201
202    /// Emitted for code like (only in $VERBOSE mode)
203    ///
204    /// ```text
205    /// def m (a, b, c); end
206    /// ```
207    ParenthesesIterpretedAsArglist {
208        
209    },
210
211    /// Emitted for code like (only in $VERBOSE mode)
212    ///
213    /// ```text
214    /// m +foo
215    /// ```
216    AmbiguousFirstArgument {
217        
218        /// Operator that is ambiguous
219        operator:u8,
220    },
221
222    /// Emitted for code like (only in $VERBOSE mode)
223    ///
224    /// ```text
225    /// 1 *2
226    /// ```
227    AmbiguousOperator {
228        
229        /// Operator that is ambiguous
230        operator:String,
231        /// Interpretation of this operator
232        interpreted_as:String,
233    },
234
235    /// Emitted for code like
236    ///
237    /// ```text
238    /// "\M- "
239    /// ```
240    InvalidCharacterSyntax {
241        
242        /// Valid syntax sugestions
243        suggestion:String,
244    },
245
246    /// Emitted for code like
247    ///
248    /// ```text
249    /// 09
250    /// ```
251    InvalidOctalDigit {
252        
253    },
254
255    /// Emitted for code like
256    ///
257    /// ```text
258    /// 0_a
259    /// ```
260    TrailingCharInNumber {
261        
262        /// Invalid trailing char
263        c:u8,
264    },
265
266    /// Emitted for code like
267    ///
268    /// ```text
269    /// =begin
270    /// ```
271    EmbeddedDocumentMeetsEof {
272        
273    },
274
275    /// Emitted for code like
276    ///
277    /// ```text
278    /// eval("\x01foo")
279    /// ```
280    InvalidChar {
281        
282        /// char
283        c:u8,
284    },
285
286    /// It is unknown how to trigger this error.
287    /// Code that triggers it in MRI can be dead.
288    IncompleteCharacterSyntax {
289        
290    },
291
292    /// Emitted for code like
293    ///
294    /// ```text
295    /// $
296    /// ```
297    GvarWithoutId {
298        
299    },
300
301    /// Emitted for code like
302    ///
303    /// ```text
304    /// $@
305    /// ```
306    InvalidGvarName {
307        
308        /// char after `$`
309        c:u8,
310    },
311
312    /// Emitted for code like
313    ///
314    /// ```text
315    /// @
316    /// ```
317    IvarWithoutId {
318        
319    },
320
321    /// Emitted for code like
322    ///
323    /// ```text
324    /// @1
325    /// ```
326    InvalidIvarName {
327        
328        /// char after `@`
329        c:u8,
330    },
331
332    /// Emitted for code like
333    ///
334    /// ```text
335    /// @@
336    /// ```
337    CvarWithoutId {
338        
339    },
340
341    /// Emitted for code like
342    ///
343    /// ```text
344    /// @@1
345    /// ```
346    InvalidCvarName {
347        
348        /// char after `@@`
349        c:u8,
350    },
351
352    /// Emitted for code like
353    ///
354    /// ```text
355    /// /re/foo
356    /// ```
357    UnknownRegexOptions {
358        
359        /// Concatenated unknown options
360        options:String,
361    },
362
363    /// Emitted for code like
364    ///
365    /// ```text
366    /// "\u{1234"
367    /// ```
368    UnterminatedUnicodeEscape {
369        
370    },
371
372    /// Emitted for code like
373    ///
374    /// ```text
375    /// # encoding: foo
376    /// ```
377    EncodingError {
378        
379        /// Error from decoder
380        error:String,
381    },
382
383    /// Emitter for code like
384    ///
385    /// ```text
386    /// eval("\xFF = 42")
387    /// ```
388    InvalidMultibyteChar {
389        
390    },
391
392    /// Emitted for code like
393    ///
394    /// ```text
395    /// a ?AA : 2
396    /// ```
397    AmbiguousTernaryOperator {
398        
399        /// Source of the condition expression
400        condition:String,
401    },
402
403    /// Emitted for code like
404    ///
405    /// ```text
406    /// m /foo/
407    /// ```
408    AmbiguousRegexp {
409        
410    },
411
412    /// Emitted for code like
413    ///
414    /// ```text
415    /// begin; else; end
416    /// ```
417    ElseWithoutRescue {
418        
419    },
420
421    /// Emitted for code like
422    ///
423    /// ```text
424    /// def f; BEGIN{}; end
425    /// ```
426    BeginNotAtTopLevel {
427        
428    },
429
430    /// Emitted for code like
431    ///
432    /// ```text
433    /// alias $a $1
434    /// ```
435    AliasNthRef {
436        
437    },
438
439    /// Emitted for code like
440    ///
441    /// ```text
442    /// *a&.x = 0
443    /// ```
444    CsendInsideMasgn {
445        
446    },
447
448    /// Emitted for code like
449    ///
450    /// ```text
451    /// module foo; end
452    /// ```
453    ClassOrModuleNameMustBeConstant {
454        
455    },
456
457    /// Emitted for code like
458    ///
459    /// ```text
460    /// def foo=() = 42
461    /// ```
462    EndlessSetterDefinition {
463        
464    },
465
466    /// Emitted for any code that produces invalid sequence of tokens
467    UnexpectedToken {
468        
469        /// Name of the token
470        token_name:String,
471    },
472
473    /// Emitted for code like
474    ///
475    /// ```text
476    /// def a; class Foo; end; end
477    /// ```
478    ClassDefinitionInMethodBody {
479        
480    },
481
482    /// Emitted for code like
483    ///
484    /// ```text
485    /// def a; module Foo; end; end
486    /// ```
487    ModuleDefinitionInMethodBody {
488        
489    },
490
491    /// Emitted for code like
492    ///
493    /// ```text
494    /// class A; return; end
495    /// ```
496    InvalidReturnInClassOrModuleBody {
497        
498    },
499
500    /// Emitted for code like
501    ///
502    /// ```text
503    /// def foo(Abc); end
504    /// ```
505    ConstArgument {
506        
507    },
508
509    /// Emitted for code like
510    ///
511    /// ```text
512    /// def foo(@abc); end
513    /// ```
514    IvarArgument {
515        
516    },
517
518    /// Emitted for code like
519    ///
520    /// ```text
521    /// def foo($abc); end
522    /// ```
523    GvarArgument {
524        
525    },
526
527    /// Emitted for code like
528    ///
529    /// ```text
530    /// def foo(@@abc); end
531    /// ```
532    CvarArgument {
533        
534    },
535
536    /// Emitted for code like
537    ///
538    /// ```text
539    /// case 0; in ^a; true; end
540    /// ```
541    NoSuchLocalVariable {
542        
543        /// Variable name
544        var_name:String,
545    },
546
547    /// Emitted for code like
548    ///
549    /// ```text
550    /// m { |a| _1 }
551    /// ```
552    OrdinaryParamDefined {
553        
554    },
555
556    /// Emitted for code like
557    ///
558    /// ```text
559    /// foo { _1; bar { _2 }; }
560    /// ```
561    NumparamUsed {
562        
563    },
564
565    /// Emitted for code like (only in $VERBOSE mode)
566    ///
567    /// ```text
568    /// if
569    /// 42
570    /// end
571    /// ```
572    TokAtEolWithoutExpression {
573        
574        /// Name of the token
575        token_name:String,
576    },
577
578    /// Emitted for code like
579    ///
580    /// ```text
581    /// { foo?: }
582    /// # or
583    /// { foo!: }
584    /// ```
585    InvalidIdToGet {
586        
587        /// Identifier
588        identifier:String,
589    },
590
591    /// Emitted for code like
592    ///
593    /// ```text
594    /// def foo *rest, ...
595    /// end
596    /// ```
597    ForwardArgAfterRestarg {
598        
599    },
600
601    /// Emitted for code like
602    ///
603    /// ```text
604    /// def foo(); bar(&); end
605    /// ```
606    NoAnonymousBlockarg {
607        
608    },
609
610    /// Emitted for code like
611    ///
612    /// ```text
613    /// def m; END {}; end
614    /// ```
615    EndInMethod {
616        
617    },
618
619    /// Emitted for code like (only in $VERBOSE mode)
620    ///
621    /// ```text
622    /// a < b < c
623    /// ```
624    ComparisonAfterComparison {
625        
626        /// Source of the first comparison
627        comparison:String,
628    },
629
630    /// Emitted for code like
631    ///
632    /// ```text
633    /// { 42 => value, 42 => another_value }
634    /// ```
635    DuplicateHashKey {
636        
637    },
638
639    /// Emitted for code like
640    ///
641    /// ```text
642    /// def m(foo = foo) end
643    /// ```
644    CircularArgumentReference {
645        
646        /// Name of the argument
647        arg_name:String,
648    },
649
650    /// Emitted for code like
651    ///
652    /// ```text
653    /// def m; FOO = 1; end
654    /// ```
655    DynamicConstantAssignment {
656        
657    },
658
659    /// Emitted for code like
660    ///
661    /// ```text
662    /// self = foo
663    /// ```
664    CantAssignToSelf {
665        
666    },
667
668    /// Emitted for code like
669    ///
670    /// ```text
671    /// nil = foo
672    /// ```
673    CantAssignToNil {
674        
675    },
676
677    /// Emitted for code like
678    ///
679    /// ```text
680    /// true = foo
681    /// ```
682    CantAssignToTrue {
683        
684    },
685
686    /// Emitted for code like
687    ///
688    /// ```text
689    /// false = foo
690    /// ```
691    CantAssignToFalse {
692        
693    },
694
695    /// Emitted for code like
696    ///
697    /// ```text
698    /// __FILE__ = foo
699    /// ```
700    CantAssignToFile {
701        
702    },
703
704    /// Emitted for code like
705    ///
706    /// ```text
707    /// __LINE__ = foo
708    /// ```
709    CantAssignToLine {
710        
711    },
712
713    /// Emitted for code like
714    ///
715    /// ```text
716    /// __ENCODING__ = foo
717    /// ```
718    CantAssignToEncoding {
719        
720    },
721
722    /// Emitted for code like
723    ///
724    /// ```text
725    /// proc {_1; _1 = nil}
726    /// ```
727    CantAssignToNumparam {
728        
729        /// Source of the numbered parameter
730        numparam:String,
731    },
732
733    /// Emitted for code like
734    ///
735    /// ```text
736    /// $1 = foo
737    /// ```
738    CantSetVariable {
739        
740        /// Source of the read-only variable that is assigned
741        var_name:String,
742    },
743
744    /// Emitted for code like
745    ///
746    /// ```text
747    /// yield(&foo)
748    /// ```
749    BlockGivenToYield {
750        
751    },
752
753    /// Emitted for code like
754    ///
755    /// ```text
756    /// fun(&bar) do end
757    /// ```
758    BlockAndBlockArgGiven {
759        
760    },
761
762    /// Emitted for code like
763    ///
764    /// ```text
765    /// case a; in "#{a}": 1; end
766    /// ```
767    SymbolLiteralWithInterpolation {
768        
769    },
770
771    /// Emitted for code like
772    ///
773    /// ```text
774    /// _1 = 1
775    /// ```
776    ReservedForNumparam {
777        
778        /// Numbered parameter that is treated as a local variable
779        numparam:String,
780    },
781
782    /// Emitted for code like
783    ///
784    /// ```text
785    /// case a; in a?:; end
786    /// ```
787    KeyMustBeValidAsLocalVariable {
788        
789    },
790
791    /// Emitted for code like
792    ///
793    /// ```text
794    /// case 0; in a, a; end
795    /// ```
796    DuplicateVariableName {
797        
798    },
799
800    /// Emitted for code like
801    ///
802    /// ```text
803    /// case 0; in a: 1, a: 2; end
804    /// ```
805    DuplicateKeyName {
806        
807    },
808
809    /// Emitted for code like
810    ///
811    /// ```text
812    /// def (1).foo; end
813    /// ```
814    SingletonLiteral {
815        
816    },
817
818    /// Emitted for code like (only in $VERBOSE mode)
819    ///
820    /// ```text
821    /// $100
822    /// ```
823    NthRefIsTooBig {
824        
825        /// Source of the nth_ref that is techincally a regular global variable
826        nth_ref:String,
827    },
828
829    /// Emitted for code like
830    ///
831    /// ```text
832    /// def foo(aa, aa); end
833    /// ```
834    DuplicatedArgumentName {
835        
836    },
837
838    /// Emitted for code like
839    ///
840    /// ```text
841    /// /[/
842    /// ```
843    RegexError {
844        
845        /// Error from Onigurama engine
846        error:String,
847    },
848
849    /// Emitted for code like
850    ///
851    /// ```text
852    /// %I"x .\xc3."
853    /// ```
854    InvalidSymbol {
855        
856        /// Source of the symbol
857        symbol:String,
858    },
859
860    /// Emitted for code like
861    ///
862    /// ```text
863    /// a = return
864    /// ```
865    VoidValueExpression {
866        
867    },
868
869}