PorygonLang/src/Diagnostics/Diagnostic.hpp

50 lines
1.2 KiB
C++
Raw Normal View History

2019-06-18 17:56:47 +00:00
#include <utility>
2019-05-21 11:56:08 +00:00
#ifndef PORYGONLANG_DIAGNOSTIC_HPP
#define PORYGONLANG_DIAGNOSTIC_HPP
2019-06-18 17:56:47 +00:00
#include <vector>
#include <string>
2019-05-21 11:56:08 +00:00
#include "DiagnosticSeverity.hpp"
#include "DiagnosticCode.hpp"
2019-06-18 14:39:36 +00:00
namespace Porygon::Diagnostics {
class Diagnostic {
DiagnosticSeverity _severity;
DiagnosticCode _code;
unsigned int _start;
unsigned int _length;
2019-06-18 17:56:47 +00:00
std::vector<std::string> _arguments;
2019-06-18 14:39:36 +00:00
public:
2019-06-18 17:56:47 +00:00
Diagnostic(DiagnosticSeverity severity, DiagnosticCode code, unsigned int start, unsigned int length, std::vector<std::string> arguments) {
2019-06-18 14:39:36 +00:00
_severity = severity;
_code = code;
_start = start;
_length = length;
2019-06-18 17:56:47 +00:00
_arguments = std::move(arguments);
2019-06-18 14:39:36 +00:00
}
2019-06-18 14:39:36 +00:00
DiagnosticSeverity GetSeverity() {
return _severity;
}
2019-06-18 14:39:36 +00:00
DiagnosticCode GetCode() {
return _code;
}
2019-06-18 14:39:36 +00:00
unsigned int GetStartPosition() {
return _start;
}
2019-05-21 11:56:08 +00:00
2019-06-18 14:39:36 +00:00
unsigned int GetLength() {
return _length;
}
2019-06-18 17:56:47 +00:00
std::vector<std::string> GetArguments(){
return _arguments;
}
2019-06-18 14:39:36 +00:00
};
}
2019-05-21 11:56:08 +00:00
#endif //PORYGONLANG_DIAGNOSTIC_HPP