//===-- LVSupport.cpp -----------------------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// // // This implements the supporting functions. // //===----------------------------------------------------------------------===// #include "llvm/DebugInfo/LogicalView/Core/LVSupport.h" #include "llvm/Support/FormatAdapters.h" #include "llvm/Support/FormatVariadic.h" #include <iomanip> usingnamespacellvm; usingnamespacellvm::logicalview; #define DEBUG_TYPE … namespace { // Unique string pool instance used by all logical readers. LVStringPool StringPool; } // namespace LVStringPool &llvm::logicalview::getStringPool() { … } // Perform the following transformations to the given 'Path': // - all characters to lowercase. // - '\\' into '/' (Platform independent). // - '//' into '/' std::string llvm::logicalview::transformPath(StringRef Path) { … } // Convert the given 'Path' to lowercase and change any matching character // from 'CharSet' into '_'. // The characters in 'CharSet' are: // '/', '\', '<', '>', '.', ':', '%', '*', '?', '|', '"', ' '. std::string llvm::logicalview::flattenedFilePath(StringRef Path) { … } LexicalEntry; LexicalIndexes; static LexicalIndexes getAllLexicalIndexes(StringRef Name) { … } LVLexicalComponent llvm::logicalview::getInnerComponent(StringRef Name) { … } LVStringRefs llvm::logicalview::getAllLexicalComponents(StringRef Name) { … } std::string llvm::logicalview::getScopedName(const LVStringRefs &Components, StringRef BaseName) { … }