//===-- Demangle.cpp - Common demangling functions ------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// /// \file This file contains definitions of common demangling functions. /// //===----------------------------------------------------------------------===// #include "llvm/Demangle/Demangle.h" #include "llvm/Demangle/StringViewExtras.h" #include <cstdlib> #include <string_view> starts_with; std::string llvm::demangle(std::string_view MangledName) { … } static bool isItaniumEncoding(std::string_view S) { … } static bool isRustEncoding(std::string_view S) { … } static bool isDLangEncoding(std::string_view S) { … } bool llvm::nonMicrosoftDemangle(std::string_view MangledName, std::string &Result, bool CanHaveLeadingDot, bool ParseParams) { … }