13#ifndef LLVM_TEXTAPI_UTILS_H
14#define LLVM_TEXTAPI_UTILS_H
29#define MACCATALYST_PREFIX_PATH "/System/iOSSupport"
30#define DRIVERKIT_PREFIX_PATH "/System/DriverKit"
43 SymLink(std::string Path, std::string Link)
84using AliasMap = std::map<AliasEntry, AliasEntry>;
BlockVerifier::State From
Tagged union holding either a T or a Error.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
StringRef - Represent a constant reference to a string, i.e.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
std::map< AliasEntry, AliasEntry > AliasMap
std::error_code make_relative(StringRef From, StringRef To, SmallVectorImpl< char > &RelativePath)
Turn absolute symlink into relative.
void replace_extension(SmallVectorImpl< char > &Path, const Twine &Extension)
Replace extension considering frameworks.
std::vector< PathToPlatform > PathToPlatformSeq
bool isPrivateLibrary(StringRef Path, bool IsSymLink=false)
Determine if library is private by parsing file path.
std::vector< std::string > PathSeq
std::pair< std::string, EncodeKind > AliasEntry
llvm::Expected< llvm::Regex > createRegexFromGlob(llvm::StringRef Glob)
Create a regex rule from provided glob string.
PathSeq getPathsForPlatform(const PathToPlatformSeq &Paths, PlatformType Platform)
Pickup active paths for a given platform.
std::error_code shouldSkipSymLink(const Twine &Path, bool &Result)
Determine whether to skip over symlink due to either too many symlink levels or is cyclic.
Expected< AliasMap > parseAliasList(std::unique_ptr< llvm::MemoryBuffer > &Buffer)
Parse input list and capture symbols and their alias.
std::pair< std::string, std::optional< PlatformType > > PathToPlatform
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
SymLink(StringRef Path, StringRef Link)
SymLink(std::string Path, std::string Link)