Go to the documentation of this file.
9 #ifndef LLDB_UTILITY_SDK_H
10 #define LLDB_UTILITY_SDK_H
13 #include "llvm/ADT/StringRef.h"
14 #include "llvm/Support/VersionTuple.h"
47 bool internal =
false;
bool SupportsSwift() const
Whether this Xcode SDK supports Swift.
static XcodeSDK::Type GetSDKTypeForTriple(const llvm::Triple &triple)
Return the best-matching SDK type for a specific triple.
void Merge(const XcodeSDK &other)
The merge function follows a strict order to maintain monotonicity:
XcodeSDK()=default
Default constructor, constructs an empty string.
An abstraction for Xcode-style SDKs that works like ArchSpec.
static bool SDKSupportsModules(Type type, llvm::VersionTuple version)
Whether LLDB feels confident importing Clang modules from this SDK.
Info Parse() const
Return parsed SDK type and version number.
llvm::StringRef GetString() const
A parsed SDK directory name.
static XcodeSDK GetAnyMacOS()
bool IsAppleInternalSDK() const
XcodeSDK(std::string &&name)
Initialize an XcodeSDK object with an SDK name.
static constexpr int numSDKTypes
static std::string FindXcodeContentsDirectoryInPath(llvm::StringRef path)
XcodeSDK & operator=(const XcodeSDK &other)
string(SUBSTRING ${p} 10 -1 pStripped) if($
llvm::VersionTuple GetVersion() const
llvm::VersionTuple version
bool operator==(const XcodeSDK &other)
Type
Different types of Xcode SDKs.
bool operator<(const Info &other) const
static std::string GetCanonicalName(Info info)
Return the canonical SDK name, such as "macosx" for the macOS SDK.
bool operator==(const Info &other) const
A class that represents a running process on the host machine.