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
|
//
// The file is meant to be included multiple times, to produce different
// pieces of declaration/definition code related to diagnostic messages
//
// Each diagnostic is declared here with:
//
// DIAGNOSTIC(id, severity, name, messageFormat)
//
// Where `id` is the unique diagnostic ID, `severity` is the default
// severity (from the `Severity` enum), `name` is a name used to refer
// to this diagnostic from code, and `messageFormat` is the default
// (non-localized) message for the diagnostic, with placeholders
// for any arguments.
#ifndef DIAGNOSTIC
#error Need to #define DIAGNOSTIC(...) before including "slang-cpp-parser/diagnostics-defs.h"
#define DIAGNOSTIC(id, severity, name, messageFormat) /* */
#endif
DIAGNOSTIC(-1, Note, seeDeclarationOf, "see declaration of '$0'")
DIAGNOSTIC(-1, Note, seeOpen, "see open $0")
DIAGNOSTIC(-1, Note, commandLine, "Command line: $0")
DIAGNOSTIC(-1, Note, previousLocation, "previous location")
DIAGNOSTIC(1, Error, cannotOpenFile, "cannot open file '$0'.")
DIAGNOSTIC(1, Error, errorAccessingFile, "error accessing file '$0'.")
DIAGNOSTIC(1, Error, extractorFailed, "C++ Extractor failed")
DIAGNOSTIC(1, Error, internalError, "Unknown internal error in C++ Extractor, aborted!")
// Parsing errors
DIAGNOSTIC(100000, Error, expectingToken, "Expecting token $0")
DIAGNOSTIC(100001, Error, typeAlreadyDeclared, "Type '$0' already declared")
DIAGNOSTIC(100002, Error, scopeNotClosed, "Scope not closed")
DIAGNOSTIC(100003, Error, typeNameDoesntMatch, "Type name doesn't match $0")
DIAGNOSTIC(100004, Error, didntFindMatchingBrace, "Didn't find brace matching $0")
DIAGNOSTIC(100005, Error, braceOpenAtEndOfFile, "Brace open at file end")
DIAGNOSTIC(100006, Error, unexpectedTemplateClose, "Unexpected template close")
DIAGNOSTIC(100007, Error, superTypeNotFound, "Super type not found for $0")
DIAGNOSTIC(100008, Error, superTypeNotAType, "Named super type is not a type $0")
DIAGNOSTIC(100009, Error, unexpectedUnbalancedToken, "Unexpected unbalanced token")
DIAGNOSTIC(100010, Error, unexpectedEndOfFile, "Unexpected end of file")
DIAGNOSTIC(
100011,
Error,
expectingTypeKeyword,
"Expecting type keyword - struct or class, found $0")
DIAGNOSTIC(
100012,
Error,
typeInDifferentTypeSet,
"Type $0 in different type set $1 from super class $2")
DIAGNOSTIC(100013, Error, expectingIdentifier, "Expecting an identifier, found $0")
DIAGNOSTIC(100014, Error, cannotDeclareTypeInScope, "Cannot declare types in this scope")
DIAGNOSTIC(100015, Error, identifierAlreadyDefined, "Identifier already defined '$0'")
DIAGNOSTIC(100016, Error, expectingType, "Expecting a type")
DIAGNOSTIC(100017, Error, cannotParseExpression, "Cannot parse expression")
DIAGNOSTIC(100018, Error, cannotOverload, "Cannot overload this declaration");
DIAGNOSTIC(
100019,
Error,
classMarkerOutsideOfClass,
"A class/struct marker is found outside of class or struct");
DIAGNOSTIC(
100020,
Error,
classMarkerAlreadyFound,
"A class/struct marker already found in type '$0'");
DIAGNOSTIC(100021, Error, cannotParseType, "Cannot parse type");
DIAGNOSTIC(
100022,
Error,
destructorNameDoesntMatch,
"Destructor name doesn't match class name '$0'");
DIAGNOSTIC(100023, Error, cannotParseCallable, "Cannot parse callable");
DIAGNOSTIC(
100024,
Error,
cannoseUseArchDependentType,
"Cannot use architecture dependent type '$0' for serializable data.")
// Command line errors 100100
DIAGNOSTIC(100101, Error, optionAlreadyDefined, "Option '$0' is already defined '$1'")
DIAGNOSTIC(100102, Error, requireValueAfterOption, "Require a value after $0 option")
DIAGNOSTIC(100103, Error, unknownOption, "Unknown option '$0'")
DIAGNOSTIC(100104, Error, noInputPathsSpecified, "No input paths specified")
DIAGNOSTIC(100105, Error, noOutputPathSpecified, "No -o output path specified")
#undef DIAGNOSTIC
|