MalachScript/src/Diagnostics/DiagnosticType.hpp

21 lines
750 B
C++
Raw Normal View History

2020-10-05 15:45:00 +00:00
#ifndef MALACHSCRIPT_DIAGNOSTICTYPE_HPP
#define MALACHSCRIPT_DIAGNOSTICTYPE_HPP
2020-10-04 17:38:13 +00:00
#include <string>
2020-10-05 15:45:00 +00:00
namespace MalachScript::Diagnostics {
2020-10-04 17:38:13 +00:00
enum class DiagnosticType : uint8_t { UnknownToken, InvalidNumericalBase, ExpectedEndOfString };
class DiagnosticTypeHelper {
static std::string ToEnglishString(DiagnosticType type) {
switch (type) {
case DiagnosticType::UnknownToken: return "Unknown token";
case DiagnosticType::InvalidNumericalBase: return "Invalid numerical base";
case DiagnosticType::ExpectedEndOfString: return "Expected end of string";
}
return std::to_string((uint8_t)type);
}
};
}
2020-10-05 15:45:00 +00:00
#endif // MALACHSCRIPT_DIAGNOSTICTYPE_HPP