#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