-
Notifications
You must be signed in to change notification settings - Fork 49
Expand file tree
/
Copy pathmod.rs
More file actions
48 lines (39 loc) · 1.91 KB
/
Copy pathmod.rs
File metadata and controls
48 lines (39 loc) · 1.91 KB
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
mod expected_array_length_expression;
mod multiple_mutability_specifiers;
mod multiple_override_specifiers;
mod multiple_virtual_specifiers;
mod unexpected_eof;
mod unexpected_terminal;
mod unsupported_syntax;
pub use expected_array_length_expression::ExpectedArrayLengthExpression;
pub use multiple_mutability_specifiers::MultipleMutabilitySpecifiers;
pub use multiple_override_specifiers::MultipleOverrideSpecifiers;
pub use multiple_virtual_specifiers::MultipleVirtualSpecifiers;
use serde::Serialize;
pub use unexpected_eof::UnexpectedEof;
pub use unexpected_terminal::UnexpectedTerminal;
pub use unsupported_syntax::UnsupportedSyntax;
use crate::diagnostics::kinds::utils::define_diagnostic_kind;
use crate::diagnostics::kinds::DiagnosticKind;
define_diagnostic_kind! {
parent_kind = DiagnosticKind::Syntax;
/// Group of diagnostics produced while parsing source text.
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub enum SyntaxDiagnosticKind {
/// The parser reached end-of-file while still expecting terminals.
UnexpectedEof(UnexpectedEof),
/// The parser encountered a terminal not valid at the current position.
UnexpectedTerminal(UnexpectedTerminal),
/// A piece of syntax is not supported by the currently selected version.
UnsupportedSyntax(UnsupportedSyntax),
/// More than one mutability specifier was provided on a definition.
MultipleMutabilitySpecifiers(MultipleMutabilitySpecifiers),
/// More than one `virtual` specifier was provided on a definition.
MultipleVirtualSpecifiers(MultipleVirtualSpecifiers),
/// A range/slice index access was used where an array length
/// expression is expected
ExpectedArrayLengthExpression(ExpectedArrayLengthExpression),
/// More than one `override` specifier was provided on a definition.
MultipleOverrideSpecifiers(MultipleOverrideSpecifiers),
}
}