elna/source/result.cc

37 lines
931 B
C++
Raw Normal View History

2024-12-27 10:51:46 +01:00
// This Source Code Form is subject to the terms of the Mozilla Public License
// v. 2.0. If a copy of the MPL was not distributed with this file, You can
// obtain one at http://mozilla.org/MPL/2.0/.
2024-12-23 13:54:11 +01:00
#include "elna/source/result.h"
2024-12-21 00:08:48 +01:00
2024-12-23 13:54:11 +01:00
namespace elna
{
namespace source
2024-12-21 00:08:48 +01:00
{
2024-12-27 23:38:25 +01:00
error::error(const char *path, const struct position position)
: position(position), path(path)
2024-12-21 00:08:48 +01:00
{
}
std::size_t error::line() const noexcept
{
2024-12-27 23:38:25 +01:00
return this->position.line;
2024-12-21 00:08:48 +01:00
}
std::size_t error::column() const noexcept
{
2024-12-27 23:38:25 +01:00
return this->position.column;
2024-12-21 00:08:48 +01:00
}
2024-12-27 10:51:46 +01:00
name_collision::name_collision(const std::string& name, const char *path,
2024-12-27 23:38:25 +01:00
const struct position current, const struct position previous)
2025-01-07 14:37:30 +01:00
: error(path, current), previous(previous), name(name)
2024-12-21 14:05:27 +01:00
{
}
std::string name_collision::what() const
{
return "Name '" + name + "' was already defined";
}
2024-12-21 00:08:48 +01:00
}
2024-12-23 13:54:11 +01:00
}