PorygonLang/src/Diagnostics/DiagnosticCode.hpp

42 lines
996 B
C++

#ifndef PORYGONLANG_DIAGNOSTICCODE_HPP
#define PORYGONLANG_DIAGNOSTICCODE_HPP
namespace Porygon::Diagnostics {
enum class DiagnosticCode : uint8_t {
// Lex diagnostics
UnexpectedCharacter,
InvalidStringControlCharacter,
// Parse diagnostics
UnexpectedToken,
// Bind errors
NoBinaryOperationFound,
NoUnaryOperationFound,
CantAssignVariable,
VariableNotFound,
ExpressionIsNotAFunction,
CantIndex,
CantIndexAssign,
InvalidReturnType,
ConditionNotABool,
InvalidTableValueType,
InvalidTypeName,
UserDataFieldNoGetter,
UserDataFieldNoSetter,
NumericalForArgumentNotANumber,
CantIterateExpression,
InvalidFunctionParameters,
ModuleDoesntExist,
InvalidCast,
// Bind warnings
DataLossOnCast,
// Bind info
UnvalidatedCast,
};
}
#endif //PORYGONLANG_DIAGNOSTICCODE_HPP