summaryrefslogtreecommitdiffstats
path: root/tools/slang-cpp-parser/diagnostic-defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-cpp-parser/diagnostic-defs.h')
-rw-r--r--tools/slang-cpp-parser/diagnostic-defs.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/tools/slang-cpp-parser/diagnostic-defs.h b/tools/slang-cpp-parser/diagnostic-defs.h
new file mode 100644
index 000000000..cba5a8e6f
--- /dev/null
+++ b/tools/slang-cpp-parser/diagnostic-defs.h
@@ -0,0 +1,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