1#![allow(non_upper_case_globals)]
2
3pub const note_commence_placeholder: u32 = 1000;
5
6pub const err_commence_placeholder: u32 = 2000;
8pub const err_unexpected_control_char_0: u32 = 2001;
9pub const err_unclosed_string_literal: u32 = 2002;
10pub const err_reserved_identifier_0: u32 = 2003;
11pub const err_reserved_symbol_0: u32 = 2004;
12pub const err_expected_token_0_got_1: u32 = 2005;
13pub const err_unexpected_eoi: u32 = 2006;
14pub const err_import_decl_disallow_attr: u32 = 2007;
15pub const err_export_decl_disallow_attr: u32 = 2008;
16pub const err_expected_any_of_0_got_1: u32 = 2009;
17pub const err_no_top_level_var_decl: u32 = 2010;
18pub const err_expected_unqual_id: u32 = 2011;
19
20pub const warn_commence_placeholder: u32 = 4000;
22pub const warn_space_character_0_ignored: u32 = 4001;
23pub const warn_underscored_id_reserved: u32 = 4002;
24
25pub const fn is_error(code: u32) -> bool {
26 code >= err_commence_placeholder && code < warn_commence_placeholder
27}
28
29pub const fn diag_message(code: u32) -> &'static str {
30 if code > warn_commence_placeholder {
31 match code {
32 warn_space_character_0_ignored => "unicode space character '?0' ignored",
33 warn_underscored_id_reserved =>
34 "identifiers starting with underscore (`_`) are considered special",
35 _ => "INVALID_ERROR_CODE"
36 }
37 } else if code > err_commence_placeholder {
38 match code {
39 err_unexpected_control_char_0 => "unexpected control character '?0'",
40 err_unclosed_string_literal => "unclosed string literal",
41 err_reserved_identifier_0 => "unexpected use of reserved identifier `?0`",
42 err_reserved_symbol_0 => "unexpected use of reserved symbol `?0`",
43 err_expected_token_0_got_1 => "expected ?0, got ?1",
44 err_unexpected_eoi => "unexpected end of input",
45 err_import_decl_disallow_attr => "cannot add attribute to `import`s",
46 err_export_decl_disallow_attr => "cannot add attribute to `export`s",
47 err_expected_any_of_0_got_1 => "expected any of ?0, got ?1",
48 err_no_top_level_var_decl => "variable declaration cannot appear at top level",
49 err_expected_unqual_id => "expected unqualified identifier",
50 _ => "INVALID_ERROR_CODE"
51 }
52 } else {
53 match code {
54 _ => "INVALID_ERROR_CODE"
55 }
56 }
57}