#ifndef ASLSP_NATIVE_DIAGNOSTIC_HPP
#define ASLSP_NATIVE_DIAGNOSTIC_HPP

#include <angelscript.h>
#include <string>
class Diagnostic {
private:
    std::string _section;
    int _row{};
    int _col{};
    asEMsgType _type;
    std::string _message;

public:
    Diagnostic(const std::string& section, int row, int col, asEMsgType type, const std::string& message)
        : _section(section), _row(row), _col(col), _type(type), _message(message) {}

    const std::string& GetSection() const noexcept { return _section; }
    int GetRow() const noexcept { return _row; }
    int GetCol() const noexcept { return _col; }
    asEMsgType GetType() const noexcept { return _type; }
    const std::string& GetMessage() const noexcept { return _message; }
};

#endif // ASLSP_NATIVE_DIAGNOSTIC_HPP
