39 lines
2.0 KiB
C++
39 lines
2.0 KiB
C++
//============================================================================//
|
|
// //
|
|
// artichoke programming language //
|
|
// //
|
|
// Copyright (C) 2025 Erick Saul Guzman Ramos, whoami.artichoke.dev //
|
|
// //
|
|
// //
|
|
// This program is free software: you can redistribute it and/or modify //
|
|
// it under the terms of the GNU Affero General Public License as published //
|
|
// by the Free Software Foundation, either version 3 of the License, or //
|
|
// (at your option) any later version. //
|
|
// //
|
|
// This program is distributed in the hope that it will be useful, //
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
|
// GNU Affero General Public License for more details. //
|
|
// //
|
|
// You should have received a copy of the GNU Affero General Public License //
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>. //
|
|
// //
|
|
//============================================================================//
|
|
|
|
#pragma once
|
|
|
|
#include <artichoke/Util/Expected.hpp>
|
|
|
|
namespace arti::lang {
|
|
|
|
enum struct DemangleExceptCode {
|
|
ecMemAlloc,
|
|
ecInvalid,
|
|
};
|
|
|
|
Expected<std::string, DemangleExceptCode> demangle(std::string_view str);
|
|
|
|
std::string demangleErrorString(DemangleExceptCode ec);
|
|
|
|
} // namespace arti::lang
|