27 lines
718 B
C++
27 lines
718 B
C++
// Copyright 2023 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "Common/Assembler/AssemblerShared.h"
|
|
|
|
#include <fmt/format.h>
|
|
|
|
namespace Common::GekkoAssembler
|
|
{
|
|
std::string AssemblerError::FormatError() const
|
|
{
|
|
const char* space_char = col == 0 ? "" : " ";
|
|
|
|
std::string_view line_str = error_line;
|
|
if (line_str.back() == '\n')
|
|
{
|
|
line_str = line_str.substr(0, line_str.length() - 1);
|
|
}
|
|
|
|
return fmt::format("Error on line {0} col {1}:\n"
|
|
" {2}\n"
|
|
" {3:{4}}{5:^^{6}}\n"
|
|
"{7}",
|
|
line + 1, col + 1, line_str, space_char, col, '^', len, message);
|
|
}
|
|
} // namespace Common::GekkoAssembler
|