LLDB
mainline
|
#include "lldb/Utility/FileSpec.h"
Public Types | |
using | Style = llvm::sys::path::Style |
Public Member Functions | |
FileSpec () | |
FileSpec (llvm::StringRef path, Style style=Style::native) | |
Constructor with path. More... | |
FileSpec (llvm::StringRef path, const llvm::Triple &triple) | |
bool | DirectoryEquals (const FileSpec &other) const |
bool | FileEquals (const FileSpec &other) const |
bool | operator== (const FileSpec &rhs) const |
Equal to operator. More... | |
bool | operator!= (const FileSpec &rhs) const |
Not equal to operator. More... | |
bool | operator< (const FileSpec &rhs) const |
Less than to operator. More... | |
operator bool () const | |
Convert to pointer operator. More... | |
bool | operator! () const |
Logical NOT operator. More... | |
void | Clear () |
Clears the object state. More... | |
bool | IsCaseSensitive () const |
Case sensitivity of path. More... | |
void | Dump (llvm::raw_ostream &s) const |
Dump this object to a Stream. More... | |
Style | GetPathStyle () const |
ConstString & | GetDirectory () |
Directory string get accessor. More... | |
ConstString | GetDirectory () const |
Directory string const get accessor. More... | |
ConstString & | GetFilename () |
Filename string get accessor. More... | |
ConstString | GetFilename () const |
Filename string const get accessor. More... | |
bool | IsSourceImplementationFile () const |
Returns true if the filespec represents an implementation source file (files with a ".c", ".cpp", ".m", ".mm" (many more) extension). More... | |
bool | IsRelative () const |
Returns true if the filespec represents a relative path. More... | |
bool | IsAbsolute () const |
Returns true if the filespec represents an absolute path. More... | |
void | MakeAbsolute (const FileSpec &dir) |
Make the FileSpec absolute by treating it relative to dir. More... | |
void | SetPath (llvm::StringRef p) |
Temporary helper for FileSystem change. More... | |
size_t | GetPath (char *path, size_t max_path_length, bool denormalize=true) const |
Extract the full path to the file. More... | |
std::string | GetPath (bool denormalize=true) const |
Extract the full path to the file. More... | |
const char * | GetCString (bool denormalize=true) const |
void | GetPath (llvm::SmallVectorImpl< char > &path, bool denormalize=true) const |
Extract the full path to the file. More... | |
ConstString | GetFileNameExtension () const |
Extract the extension of the file. More... | |
ConstString | GetFileNameStrippingExtension () const |
Return the filename without the extension part. More... | |
size_t | MemorySize () const |
Get the memory cost of this object. More... | |
void | SetFile (llvm::StringRef path, Style style) |
Change the file specified with a new path. More... | |
void | SetFile (llvm::StringRef path, const llvm::Triple &triple) |
Change the file specified with a new path. More... | |
bool | IsResolved () const |
void | SetIsResolved (bool is_resolved) |
Set if the file path has been resolved or not. More... | |
FileSpec | CopyByAppendingPathComponent (llvm::StringRef component) const |
FileSpec | CopyByRemovingLastPathComponent () const |
void | PrependPathComponent (llvm::StringRef component) |
void | PrependPathComponent (const FileSpec &new_path) |
void | AppendPathComponent (llvm::StringRef component) |
void | AppendPathComponent (const FileSpec &new_path) |
bool | RemoveLastPathComponent () |
Removes the last path component by replacing the current path with its parent. More... | |
ConstString | GetLastPathComponent () const |
Static Public Member Functions | |
static int | Compare (const FileSpec &lhs, const FileSpec &rhs, bool full) |
Compare two FileSpec objects. More... | |
static bool | Equal (const FileSpec &a, const FileSpec &b, bool full) |
static bool | Match (const FileSpec &pattern, const FileSpec &file) |
Match FileSpec pattern against FileSpec file. More... | |
static llvm::Optional< Style > | GuessPathStyle (llvm::StringRef absolute_path) |
Attempt to guess path style for a given path string. More... | |
Protected Member Functions | |
void | SetFile (llvm::StringRef path) |
Protected Attributes | |
ConstString | m_directory |
The uniqued directory path. More... | |
ConstString | m_filename |
The uniqued filename path. More... | |
bool | m_is_resolved = false |
True if this path has been resolved. More... | |
Style | m_style |
The syntax that this path uses (e.g. Windows / Posix) More... | |
Friends | |
struct | llvm::yaml::MappingTraits< FileSpec > |
A file utility class.
A file specification class that divides paths up into a directory and basename. These string values of the paths are put into uniqued string pools for fast comparisons and efficient memory usage.
Another reason the paths are split into the directory and basename is to allow efficient debugger searching. Often in a debugger the user types in the basename of the file, for example setting a breakpoint by file and line, or specifying a module (shared library) to limit the scope in which to execute a command. The user rarely types in a full path. When the paths are already split up, it makes it easy for us to compare only the basenames of a lot of file specifications without having to split up the file path each time to get to the basename.
Definition at line 56 of file FileSpec.h.
using lldb_private::FileSpec::Style = llvm::sys::path::Style |
Definition at line 58 of file FileSpec.h.
FileSpec::FileSpec | ( | ) |
Definition at line 66 of file FileSpec.cpp.
Referenced by CopyByRemovingLastPathComponent().
|
explicit |
Constructor with path.
Takes a path to a file which can be just a filename, or a full path. If path is not nullptr or empty, this function will call FileSpec::SetFile (const char *path).
[in] | path | The full or partial path to a file. |
[in] | style | The style of the path |
Definition at line 69 of file FileSpec.cpp.
References SetFile().
|
explicit |
Definition at line 73 of file FileSpec.cpp.
void FileSpec::AppendPathComponent | ( | const FileSpec & | new_path | ) |
Definition at line 441 of file FileSpec.cpp.
References AppendPathComponent(), and GetPath().
void FileSpec::AppendPathComponent | ( | llvm::StringRef | component | ) |
Definition at line 434 of file FileSpec.cpp.
References GetPath(), m_style, and SetFile().
Referenced by lldb_private::repro::Generator::AddProvidersToIndex(), AppendPathComponent(), AppendPathComponents(), BuildCpusSection(), BuildModulesSection(), BuildThreadsSection(), lldb_private::HostInfoBase::ComputeGlobalTempFileDirectory(), lldb_private::HostInfoBase::ComputeProcessTempFileDirectory(), CopyByAppendingPathComponent(), lldb_private::TargetList::CreateTargetInternal(), lldb_private::PlatformDarwin::FindBundleBinaryInExecSearchPaths(), lldb_private::DataFileCache::GetCacheFilePath(), GetCommandLineToolsLibraryPath(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::GetDomainSocketPath(), SymbolFileDWARF::GetDwoSymbolFileForCompileUnit(), lldb_private::PlatformRemoteDarwinDevice::GetFileInSDK(), lldb_private::Platform::GetModuleCacheRoot(), lldb_private::PlatformDarwin::GetSDKDirectoryForModules(), lldb_private::PlatformDarwinDevice::GetSharedModuleWithLocalCache(), lldb_private::REPL::GetSourcePath(), lldb_private::Platform::Install(), lldb_private::Target::Install(), lldb_private::Platform::LoadImage(), lldb_private::PlatformDarwin::LocateExecutable(), LookForDsymNextToExecutablePath(), lldb_private::HostInfoAndroid::ResolveLibraryPath(), SaveTraceBundleDescription(), lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess(), SymbolFileDWARF::UpdateExternalModuleListIfNeeded(), and lldb_private::PlatformDarwinDevice::UpdateSDKDirectoryInfosIfNeeded().
void FileSpec::Clear | ( | ) |
Clears the object state.
Clear this object by releasing both the directory and filename string values and reverting them to empty strings.
Definition at line 259 of file FileSpec.cpp.
References lldb_private::ConstString::Clear(), m_directory, and m_filename.
Referenced by lldb_private::FileAction::Clear(), lldb_private::LineEntry::Clear(), lldb_private::OptionValueFileColonLine::Clear(), lldb_private::ProcessInfo::Clear(), lldb_private::FileLineResolver::Clear(), lldb_private::Declaration::Clear(), lldb_private::ProcessLaunchInfo::Clear(), lldb_private::DynamicLoaderDarwin::ImageInfo::Clear(), lldb_private::ModuleSpec::Clear(), DYLDRendezvous::SOEntry::clear(), lldb_private::HostInfoBase::ComputeGlobalTempFileDirectory(), lldb_private::PlatformWindows::DoLoadImage(), PlatformPOSIX::DoLoadImage(), lldb_private::Host::GetBundleDirectory(), lldb_private::Function::GetEndLineSourceInfo(), lldb_private::PlatformRemoteDarwinDevice::GetFileInSDK(), lldb_private::File::GetFileSpec(), lldb_private::NativeFile::GetFileSpec(), lldb_private::process_netbsd::NativeProcessNetBSD::GetLoadedModuleFileSpec(), lldb_private::process_freebsd::NativeProcessFreeBSD::GetLoadedModuleFileSpec(), lldb_private::process_linux::NativeProcessLinux::GetLoadedModuleFileSpec(), lldb_private::Function::GetStartLineSourceInfo(), LocateDSYMInVincinityOfExecutable(), LocateMacOSXFilesUsingDebugSymbols(), lldb_private::ProcessInfo::SetExecutableFile(), lldb::SBLineEntry::SetFileSpec(), lldb_private::Platform::SetWorkingDirectory(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess().
Compare two FileSpec objects.
If full is true, then both the directory and the filename must match. If full is false, then the directory names for lhs and rhs are only compared if they are both not empty. This allows a FileSpec object to only contain a filename and it can match FileSpec objects that have matching filenames with different paths.
[in] | lhs | A const reference to the Left Hand Side object to compare. |
[in] | rhs | A const reference to the Right Hand Side object to compare. |
[in] | full | If true, then both the directory and filenames will have to match for a compare to return zero (equal to). If false and either directory from lhs or rhs is empty, then only the filename will be compared, else a full comparison is done. |
Definition at line 272 of file FileSpec.cpp.
References lldb_private::ConstString::Compare(), IsCaseSensitive(), m_directory, and m_filename.
Referenced by lldb_private::Declaration::Compare(), lldb_private::LineEntry::Compare(), lldb_private::Declaration::FileAndLineEqual(), operator<(), and lldb_private::FileLineResolver::SearchCallback().
FileSpec FileSpec::CopyByAppendingPathComponent | ( | llvm::StringRef | component | ) | const |
Definition at line 399 of file FileSpec.cpp.
References AppendPathComponent().
Referenced by lldb_private::repro::MultiLoader< T >::Create(), lldb_private::repro::FileProvider::FileProvider(), ObjectFileMachO::GetDependentModules(), lldb_private::platform_android::PlatformAndroid::GetFile(), lldb_private::repro::Loader::GetFile(), ObjectFileELF::GetGnuDebugDataObjectFile(), lldb_private::repro::GDBRemoteProvider::GetHistoryStream(), lldb_private::IRExecutionUnit::GetRunnableInfo(), lldb_private::repro::FileProvider::Keep(), lldb_private::repro::GDBRemoteProvider::Keep(), lldb_private::repro::VersionProvider::Keep(), lldb_private::repro::DirectoryProvider< WorkingDirectoryProvider >::Keep(), lldb_private::repro::SymbolFileProvider::Keep(), lldb_private::repro::MultiProvider< DataRecorder, CommandProvider >::Keep(), lldb_private::repro::ProcessInfoProvider::Keep(), lldb_private::repro::Loader::LoadIndex(), and lldb_private::platform_android::PlatformAndroid::PutFile().
FileSpec FileSpec::CopyByRemovingLastPathComponent | ( | ) | const |
Definition at line 405 of file FileSpec.cpp.
References FileSpec(), GetPath(), and m_style.
Referenced by ObjectFileMachO::GetDependentModules(), loadMatchingPDBFile(), and MakeCacheFolderForFile().
bool FileSpec::DirectoryEquals | ( | const FileSpec & | other | ) | const |
Definition at line 228 of file FileSpec.cpp.
References lldb_private::ConstString::Equals(), IsCaseSensitive(), and m_directory.
Referenced by operator==().
void FileSpec::Dump | ( | llvm::raw_ostream & | s | ) | const |
Dump this object to a Stream.
Dump the object to the supplied stream s. If the object contains a valid directory name, it will be displayed followed by a directory delimiter, and the filename.
[in] | s | The stream to which to dump the object description. |
Definition at line 323 of file FileSpec.cpp.
References GetPath(), m_filename, m_style, and string().
Referenced by lldb_private::wasm::ObjectFileWasm::Dump(), lldb_private::ProcessInstanceInfo::Dump(), DumpFullpath(), lldb_private::LineEntry::DumpStopContext(), lldb_private::FormatEntity::FormatFileSpec(), lldb_private::Module::LoadScriptingResourceInTarget(), lldb_private::operator<<(), and UUIDsMatch().
Definition at line 293 of file FileSpec.cpp.
References FileEquals(), and GetDirectory().
bool FileSpec::FileEquals | ( | const FileSpec & | other | ) | const |
Definition at line 233 of file FileSpec.cpp.
References lldb_private::ConstString::Equals(), IsCaseSensitive(), and m_filename.
Referenced by Equal(), Match(), and operator==().
const char * FileSpec::GetCString | ( | bool | denormalize = true | ) | const |
Definition at line 363 of file FileSpec.cpp.
References GetPath().
Referenced by BuildCpusSection(), BuildThreadsSection(), lldb_private::HostInfoBase::ComputeGlobalTempFileDirectory(), lldb_private::HostInfoBase::ComputeProcessTempFileDirectory(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::CreateSymlink(), lldb_private::FileAction::Dump(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::GetDomainSocketPath(), lldb_private::platform_android::PlatformAndroid::GetFile(), lldb_private::NativeProcessWindows::GetFileLoadAddress(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::GetFilePermissions(), lldb_private::NativeProcessWindows::GetLoadedModuleFileSpec(), lldb_private::FileAction::GetPath(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::GetRemoteWorkingDirectory(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qModuleInfo(), lldb_private::Platform::Install(), lldb_private::ProcessLauncherWindows::LaunchProcess(), lldb_private::ProcessDebugger::LaunchProcess(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::MakeDirectory(), lldb_private::Trace::OnDataFileRead(), lldb_private::platform_android::PlatformAndroid::PutFile(), RecurseCopy_Callback(), lldb_private::FileSystem::ResolveSymbolicLink(), lldb_private::SaveMiniDump(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::SetFilePermissions(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::SetRemoteWorkingDirectory(), lldb_private::Platform::SetRemoteWorkingDirectory(), lldb_private::FileSystem::Symlink(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::Unlink(), and DYLDRendezvous::UpdateExecutablePath().
ConstString FileSpec::GetDirectory | ( | ) |
Directory string get accessor.
Definition at line 334 of file FileSpec.cpp.
References m_directory.
Referenced by lldb_private::CppModuleConfiguration::analyzeFile(), BuildModulesSection(), lldb_private::SourceManager::File::CommonInitializer(), lldb_private::ComputeClangResourceDirectory(), lldb_private::HostInfoBase::ComputeGlobalTempFileDirectory(), lldb_private::HostInfoPosix::ComputeHeaderDirectory(), lldb_private::HostInfoMacOSX::ComputeHeaderDirectory(), lldb_private::HostInfoBase::ComputePathRelativeToLibrary(), lldb_private::HostInfoBase::ComputeProcessTempFileDirectory(), lldb_private::HostInfoBase::ComputeSharedLibraryDirectory(), lldb_private::HostInfoLinux::ComputeSupportExeDirectory(), lldb_private::HostInfoMacOSX::ComputeSupportExeDirectory(), lldb_private::HostInfoLinux::ComputeSystemPluginsDirectory(), lldb_private::HostInfoMacOSX::ComputeSystemPluginsDirectory(), lldb_private::HostInfoLinux::ComputeUserPluginsDirectory(), lldb_private::HostInfoMacOSX::ComputeUserPluginsDirectory(), lldb_private::TargetList::CreateTargetInternal(), DefaultComputeClangResourceDirectory(), CommandObjectTargetCreate::DoExecute(), DumpDirectory(), DumpFile(), CommandObjectSourceInfo::DumpFileLinesInCompUnit(), Equal(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::SymbolContext::FindBestGlobalDataSymbol(), ObjectFileMachO::GetDependentModules(), lldb_private::Target::GetOrCreateModule(), lldb_private::PlatformDarwinDevice::GetSharedModuleWithLocalCache(), lldb_private::ClangExpressionDeclMap::GetSymbolAddress(), lldb_private::Platform::Install(), lldb_private::Trace::LoadPostMortemTraceFromFile(), lldb_private::PlatformDarwin::LocateExecutable(), lldb_private::PlatformDarwin::LocateExecutableScriptingResources(), lldb_private::Symbols::LocateExecutableSymbolFile(), Match(), CommandObjectSourceList::SourceInfo::operator<(), ObjectFilePECOFF::ParseDependentModules(), ObjectFileMachO::ParseSymtab(), lldb_private::minidump::ProcessMinidump::ReadModuleList(), RecurseCopy_Callback(), lldb_private::FileSystem::Resolve(), resolve_tilde(), lldb_private::FileSystem::ResolveExecutableLocation(), lldb_private::Symbol::ResolveReExportedSymbolInModuleSpec(), lldb_private::BreakpointResolverFileLine::SearchCallback(), and lldb_private::FileLineResolver::SearchCallback().
ConstString lldb_private::FileSpec::GetDirectory | ( | ) | const |
Directory string const get accessor.
ConstString FileSpec::GetFilename | ( | ) |
Filename string get accessor.
Definition at line 340 of file FileSpec.cpp.
References m_filename.
Referenced by CommandObjectTargetSymbolsAdd::AddModuleSymbols(), lldb_private::AppleObjCRuntime::AppleIsModuleObjCLibrary(), lldb_private::Target::Attach(), lldb_private::SourceManager::File::CommonInitializer(), lldb_private::Declaration::Dump(), lldb_private::ProcessInstanceInfo::Dump(), lldb_private::Target::Dump(), DumpBasename(), DumpCompileUnitLineTable(), ObjectFileELF::DumpDependentModules(), DumpFile(), CommandObjectSourceInfo::DumpFileLinesInCompUnit(), CommandObjectSourceInfo::DumpLinesInSymbolContexts(), lldb_private::Section::DumpName(), lldb_private::LineEntry::DumpStopContext(), lldb_private::Declaration::DumpStopContext(), lldb_private::RenderScriptRuntime::FixupScriptDetails(), lldb_private::FormatEntity::FormatFileSpec(), lldb_private::ModuleCache::Get(), lldb_private::Module::GetCacheKey(), lldb_private::PlatformRemoteDarwinDevice::GetConnectedSDKIndex(), lldb_private::AddressResolverFileLine::GetDescription(), lldb_private::BreakpointLocation::GetDescription(), lldb_private::Module::GetDescription(), lldb_private::Address::GetDescription(), lldb::SBProcess::GetDescription(), lldb_private::SearchFilterByModule::GetDescription(), lldb_private::Target::GetEntryPointAddress(), lldb_private::DWARFCallFrameInfo::GetFDEIndex(), GetFreeBSDProcessArgs(), lldb_private::ScriptedProcess::GetLoadedDynamicLibrariesInfos(), lldb_private::process_netbsd::NativeProcessNetBSD::GetLoadedModuleFileSpec(), lldb_private::process_freebsd::NativeProcessFreeBSD::GetLoadedModuleFileSpec(), lldb_private::process_linux::NativeProcessLinux::GetLoadedModuleFileSpec(), GetMacOSXProcessArgs(), lldb_private::Breakpoint::GetMatchingFileLine(), ObjectFilePECOFF::GetModuleSpecifications(), lldb_private::ProcessInfo::GetName(), lldb_private::ProcessInfo::GetNameAsStringRef(), GetNetBSDProcessArgs(), GetOpenBSDProcessArgs(), lldb_private::Target::GetOrCreateModule(), lldb_private::DynamicLoaderDarwin::GetPThreadLibraryModule(), lldb_private::ModuleList::GetSharedModule(), lldb_private::PlatformDarwinDevice::GetSharedModuleWithLocalCache(), lldb_private::Args::GetShellSafeArgument(), lldb_private::REPL::GetSourcePath(), lldb_private::SymbolFileOnDemand::GetSymbolFileName(), lldb_private::ClangUtilityFunction::Install(), lldb_private::Platform::Install(), lldb_private::Thread::JumpToLine(), lldb_private::formatters::LibcxxFunctionSummaryProvider(), lldb_private::Platform::LoadImage(), lldb_private::Platform::LoadImageUsingPaths(), loadMatchingPDBFile(), LocateDSYMInVincinityOfExecutable(), lldb_private::PlatformDarwin::LocateExecutable(), lldb_private::Symbols::LocateExecutableObjectFile(), lldb_private::PlatformDarwin::LocateExecutableScriptingResources(), lldb_private::Symbols::LocateExecutableSymbolFile(), LocateExecutableSymbolFileDsym(), LookForDsymNextToExecutablePath(), Match(), lldb_private::InstrumentationRuntime::ModulesDidLoad(), CommandObjectSourceList::SourceInfo::operator<(), lldb_private::ClangUserExpression::Parse(), ObjectFileMachO::ParseSymtab(), ObjectFileELF::ParseSymtab(), lldb_private::ModuleCache::Put(), RecurseCopy_Callback(), lldb_private::RegisterAssertFrameRecognizer(), RegisterObjCExceptionRecognizer(), lldb_private::Module::ReportWarningOptimization(), lldb_private::FileSystem::Resolve(), lldb_private::FileSystem::ResolveExecutableLocation(), lldb_private::AddressResolverFileLine::SearchCallback(), lldb_private::BreakpointResolverFileLine::SearchCallback(), and lldb_private::FunctionCaller::WriteFunctionWrapper().
ConstString lldb_private::FileSpec::GetFilename | ( | ) | const |
Filename string const get accessor.
ConstString FileSpec::GetFileNameExtension | ( | ) | const |
Extract the extension of the file.
Returns a ConstString that represents the extension of the filename for this FileSpec object. If this object does not represent a file, or the filename has no extension, ConstString(nullptr) is returned. The dot ('.') character is not returned as part of the extension
Definition at line 383 of file FileSpec.cpp.
References lldb_private::ConstString::GetStringRef(), m_filename, and m_style.
Referenced by IsSourceImplementationFile(), lldb_private::Lua::LoadModule(), LoadPluginCallback(), and ObjectFileELF::ParseSymbols().
ConstString FileSpec::GetFileNameStrippingExtension | ( | ) | const |
Return the filename without the extension part.
Returns a ConstString that represents the filename of this object without the extension part (e.g. for a file named "foo.bar", "foo" is returned)
Definition at line 388 of file FileSpec.cpp.
References lldb_private::ConstString::GetStringRef(), m_filename, and m_style.
Referenced by CommandObjectTargetSymbolsAdd::AddModuleSymbols(), lldb_private::Lua::LoadModule(), and lldb_private::PlatformDarwin::LocateExecutableScriptingResources().
ConstString FileSpec::GetLastPathComponent | ( | ) | const |
Definition at line 414 of file FileSpec.cpp.
References GetPath(), and m_style.
Referenced by lldb_private::PlatformDarwin::FindBundleBinaryInExecSearchPaths(), GetCoffUUID(), ObjectFilePECOFF::GetModuleSpecifications(), ObjectFileELF::GetModuleSpecifications(), RecurseCopy_Callback(), and lldb_private::XcodeSDK::SDKSupportsModules().
std::string FileSpec::GetPath | ( | bool | denormalize = true | ) | const |
Extract the full path to the file.
Extract the directory and path into a std::string, which is returned.
Definition at line 357 of file FileSpec.cpp.
size_t FileSpec::GetPath | ( | char * | path, |
size_t | max_path_length, | ||
bool | denormalize = true |
||
) | const |
Extract the full path to the file.
Extract the directory and path into a fixed buffer. This is needed as the directory and path are stored in separate string values.
[out] | path | The buffer in which to place the extracted full path. |
[in] | max_path_length | The maximum length of path. |
Definition at line 347 of file FileSpec.cpp.
References string().
Referenced by lldb_private::PlatformDarwin::AddClangModuleCompilationOptionsForSDKType(), CommandObjectTargetSymbolsAdd::AddModuleSymbols(), lldb_private::repro::Generator::AddProvidersToIndex(), lldb_private::Block::AddRange(), lldb_private::repro::SymbolFileProvider::AddSymbolFile(), lldb_private::CppModuleConfiguration::analyzeFile(), AppendPathComponent(), lldb_private::Process::Attach(), BuildCpusSection(), lldb_private::process_gdb_remote::ProcessGDBRemote::BuildDynamicRegisterInfo(), BuildModulesSection(), BuildThreadsSection(), SymbolFilePDB::CalculateAbilities(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CalculateMD5(), lldb_private::Platform::CalculateMD5(), lldb_private::TargetProperties::CheckJITObjectsDir(), lldb_private::ComputeClangResourceDirectory(), lldb_private::HostInfoBase::ComputeGlobalTempFileDirectory(), lldb_private::HostInfoPosix::ComputeHeaderDirectory(), lldb_private::HostInfoMacOSX::ComputeHeaderDirectory(), lldb_private::HostInfoBase::ComputePathRelativeToLibrary(), lldb_private::HostInfoBase::ComputeProcessTempFileDirectory(), lldb_private::HostInfoMacOSX::ComputeSupportExeDirectory(), lldb_private::HostInfoLinux::ComputeSystemPluginsDirectory(), lldb_private::HostInfoMacOSX::ComputeSystemPluginsDirectory(), lldb_private::HostInfoMacOSX::ComputeUserPluginsDirectory(), lldb_private::ProcessLaunchInfo::ConvertArgumentsForLaunchingInShell(), CopyByRemovingLastPathComponent(), lldb_private::ClangModulesDeclVendor::Create(), lldb_private::repro::MultiLoader< T >::Create(), lldb_private::Target::CreateBreakpointsFromFile(), lldb_private::FileSystem::CreateDataBuffer(), ProcessFreeBSDKernel::CreateInstance(), SymbolVendorMacOSX::CreateInstance(), ProcessMachCore::CreateInstance(), lldb_private::minidump::ProcessMinidump::CreateInstance(), lldb_private::wasm::ObjectFileWasm::CreateInstance(), ProcessElfCore::CreateInstance(), lldb_private::TypeSystemClang::CreateInstance(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CreateSymlink(), lldb_private::TargetList::CreateTargetInternal(), lldb_private::FileSystem::CreateWritableDataBuffer(), lldb_private::DebuggerThread::DebuggerThreadLaunchRoutine(), lldb_private::DebuggerThread::DebugLaunch(), lldb_private::PlatformQemuUser::DebugProcess(), DefaultComputeClangResourceDirectory(), lldb_private::FileSystem::DirBegin(), lldb_private::repro::Generator::Discard(), CommandObjectSourceList::DisplayFunctionSource(), CommandObjectTargetCreate::DoExecute(), CommandObjectMemoryRead::DoExecute(), CommandObjectSettingsWrite::DoExecute(), CommandObjectReproducerDump::DoExecute(), CommandObjectTargetVariable::DoExecute(), CommandObjectPlatformProcessLaunch::DoExecute(), CommandObjectTargetModulesAdd::DoExecute(), CommandObjectTargetModulesLoad::DoExecute(), CommandObjectTargetSymbolsAdd::DoExecute(), CommandObjectRenderScriptRuntimeAllocationDump::DoExecute(), lldb_private::PlatformWindows::DoLoadImage(), PlatformPOSIX::DoLoadImage(), lldb_private::Platform::DownloadModuleSlice(), lldb_private::Symtab::Dump(), Dump(), lldb_private::Module::Dump(), DumpFullpath(), DumpTargetInfo(), lldb_private::OptionValueFileSpec::DumpValue(), lldb_private::FileSystem::Exists(), lldb_private::repro::FileProvider::FileProvider(), lldb_private::PathMappingList::FindFile(), lldb_private::PlatformDarwin::FindSDKInXcodeForModules(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), lldb_private::Function::GetBlock(), lldb_private::FileSystem::GetByteSize(), lldb_private::GetClangResourceDir(), GetCString(), lldb_private::BreakpointResolverFileLine::GetDescription(), lldb_private::FileLineResolver::GetDescription(), lldb_private::Module::GetDescription(), lldb_private::PlatformDarwinDevice::GetDeviceSupportDirectoryForOSVersion(), GetEnvDeveloperDir(), PlatformPOSIX::GetFile(), lldb_private::platform_android::PlatformAndroid::GetFile(), lldb_private::OptionValueFileSpec::GetFileContents(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFileExists(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetFileLoadAddress(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFilePermissions(), lldb_private::Platform::GetFilePermissions(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFileSize(), lldb_private::Platform::GetFileSize(), lldb_private::repro::GDBRemoteProvider::GetHistoryStream(), GetLastPathComponent(), lldb_private::InstrumentationRuntimeTSan::GetLocationDescription(), lldb_private::FileSystem::GetModificationTime(), SymbolFileDWARFDebugMap::GetModuleByCompUnitInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::GetModuleInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetModuleInfo(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::GetModuleSpec(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetModuleSpec(), lldb_private::ObjectFilePDB::GetModuleSpecifications(), ObjectFileELF::GetModuleSpecifications(), GetModuleSpecInfoFromUUIDDictionary(), lldb_private::SymbolContext::GetParentOfInlinedScope(), GetPath(), lldb_private::FileSystem::GetPermissions(), lldb_private::platform_linux::PlatformLinux::GetResumeCountForLaunchInfo(), lldb_private::platform_netbsd::PlatformNetBSD::GetResumeCountForLaunchInfo(), lldb_private::PlatformDarwin::GetResumeCountForLaunchInfo(), lldb_private::IRExecutionUnit::GetRunnableInfo(), lldb_private::PlatformMacOSX::GetSDKDirectory(), lldb::SBSection::GetSectionData(), ObjectFileMachO::GetSharedCacheUUID(), lldb_private::PlatformRemoteDarwinDevice::GetSharedModule(), lldb_private::PlatformDarwin::GetSharedModule(), lldb_private::ModuleList::GetSharedModule(), lldb_private::PlatformDarwinDevice::GetSharedModuleWithLocalCache(), lldb_private::REPL::GetSourcePath(), lldb_private::PlatformRemoteDarwinDevice::GetStatus(), lldb_private::FileSystem::GetStatus(), lldb_private::PlatformRemoteDarwinDevice::GetSymbolFile(), lldb_private::PlatformAppleSimulator::GetSymbolFile(), lldb_private::Value::GetValueAsData(), lldb_private::HostInfoMacOSX::GetXcodeContentsDirectory(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_jModulesInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qModuleInfo(), HandleFileAction(), lldb_private::Module::Hash(), HexagonDYLDRendezvous::HexagonDYLDRendezvous(), lldb::SBPlatform::Install(), lldb_private::Platform::Install(), lldb_private::platform_android::AdbClient::SyncService::internalPullFile(), lldb_private::platform_android::AdbClient::SyncService::internalPushFile(), lldb_private::platform_android::AdbClient::SyncService::internalStat(), IsAbsolute(), lldb_private::FileSystem::IsDirectory(), lldb_private::FileSystem::IsLocal(), lldb_private::repro::FileProvider::Keep(), lldb_private::repro::GDBRemoteProvider::Keep(), lldb_private::repro::VersionProvider::Keep(), lldb_private::repro::DirectoryProvider< WorkingDirectoryProvider >::Keep(), lldb_private::repro::SymbolFileProvider::Keep(), lldb_private::repro::MultiProvider< DataRecorder, CommandProvider >::Keep(), lldb_private::repro::ProcessInfoProvider::Keep(), lldb_private::Target::Launch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::LaunchGDBServer(), lldb_private::Process::LaunchPrivate(), lldb_private::ProcessLauncherWindows::LaunchProcess(), lldb_private::ProcessDebugger::LaunchProcess(), lldb_private::Platform::LaunchProcess(), lldb_private::RenderScriptRuntime::LoadAllocation(), lldb_private::repro::Loader::LoadBuffer(), lldb_private::repro::Loader::LoadIndex(), LoadPlugin(), LoadPluginCallback(), lldb_private::Trace::LoadPostMortemTraceFromFile(), lldb_private::Module::LoadScriptingResourceInTarget(), LocateDSYMInVincinityOfExecutable(), lldb_private::PlatformDarwin::LocateExecutable(), lldb_private::PlatformDarwin::LocateExecutableScriptingResources(), lldb_private::Symbols::LocateExecutableSymbolFile(), LocateMacOSXFilesUsingDebugSymbols(), lldb_private::ModuleList::LogUUIDAndPaths(), MakeAbsolute(), lldb_private::FileSystem::MakeAbsolute(), MakeAbsoluteAndRemap(), MakeCacheFolderForFile(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::MakeDirectory(), lldb_private::Platform::MakeDirectory(), lldb_private::ObjectFile::MapFileData(), ObjectFileELF::MapFileDataWritable(), lldb_private::Module::Module(), lldb_private::ObjectFile::ObjectFile(), lldb_private::Trace::OnDataFileRead(), lldb_private::FileSystem::Open(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::OpenFile(), ObjectFilePECOFF::ParseDependentModules(), SymbolFileDWARF::ParseImportedModules(), lldb_private::StructuredData::ParseJSONFromFile(), lldb_private::lldb_renderscript::RSModuleDescriptor::ParseRSInfo(), PrependPathComponent(), lldb_private::ModuleCache::Put(), lldb::SBPlatform::Put(), PlatformPOSIX::PutFile(), lldb_private::platform_android::PlatformAndroid::PutFile(), lldb_private::Platform::PutFile(), lldb_private::FileSystem::Readable(), lldb_private::FileSystem::Readlink(), lldb_private::Process::ReadModuleFromMemory(), RecurseCopy_Callback(), lldb_private::FileSystem::RemoveFile(), RemoveLastPathComponent(), lldb_private::DebuggerStats::ReportStatistics(), lldb_private::FileSystem::Resolve(), lldb_private::RemoteAwarePlatform::ResolveExecutable(), lldb_private::PlatformRemoteDarwinDevice::ResolveExecutable(), lldb_private::PlatformAppleSimulator::ResolveExecutable(), lldb_private::Platform::ResolveExecutable(), DynamicLoaderPOSIXDYLD::ResolveExecutableModule(), lldb_private::Module::ResolveSymbolContextsForFileSpec(), lldb_private::FileSystem::ResolveSymbolicLink(), lldb_private::PathMappingList::ReverseRemapPath(), lldb_private::Host::RunShellCommand(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::RunShellCommand(), ObjectFileMachO::SaveCore(), lldb_private::PluginManager::SaveCore(), lldb_private::trace_intel_pt::TraceIntelPTBundleSaver::SaveToDisk(), SaveTraceBundleDescription(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendArgumentsPacket(), lldb_private::Target::SerializeBreakpointsToFile(), lldb_private::BreakpointResolverFileLine::SerializeToStructuredData(), lldb_private::BreakpointResolverAddress::SerializeToStructuredData(), lldb_private::SearchFilterByModule::SerializeToStructuredData(), lldb_private::ProcessInfo::SetExecutableFile(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetFilePermissions(), lldb_private::Platform::SetFilePermissions(), CommandObjectSourceList::CommandOptions::SetOptionValue(), lldb_private::Symbol::SetReExportedSymbolSharedLibrary(), lldb_private::SectionLoadList::SetSectionUnloaded(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetSTDERR(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetSTDIN(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetSTDOUT(), lldb_private::Module::SetSymbolFileFileSpec(), SetupModuleHeaderPaths(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetWorkingDir(), lldb_private::Platform::SetWorkingDirectory(), lldb_private::platform_android::AdbClient::ShellToFile(), lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess(), lldb::SBThread::StepOverUntil(), lldb_private::repro::SymbolFileLoader::SymbolFileLoader(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::Unlink(), lldb_private::Platform::Unlink(), lldb_private::DynamicLoaderDarwin::UnloadModuleSections(), SymbolFileDWARF::UpdateExternalModuleListIfNeeded(), lldb_private::PlatformDarwinDevice::UpdateSDKDirectoryInfosIfNeeded(), lldb_private::ModuleListProperties::UpdateSymlinkMappings(), WriteBytesToDisk(), and lldb_private::Module::~Module().
void FileSpec::GetPath | ( | llvm::SmallVectorImpl< char > & | path, |
bool | denormalize = true |
||
) | const |
Extract the full path to the file.
Extract the directory and path into an llvm::SmallVectorImpl<>
Definition at line 367 of file FileSpec.cpp.
References lldb_private::ConstString::GetStringRef(), m_directory, m_filename, and m_style.
FileSpec::Style FileSpec::GetPathStyle | ( | ) | const |
Definition at line 331 of file FileSpec.cpp.
References m_style.
Referenced by lldb_private::Platform::LoadImageUsingPaths(), MakeAbsolute(), and lldb_private::FileSystem::MakeAbsolute().
|
static |
Attempt to guess path style for a given path string.
It returns a style, if it was able to make a reasonable guess, or None if it wasn't. The guess will be correct if the input path was a valid absolute path on the system which produced it. On other paths the result of this function is unreliable (e.g. "c:\foo.txt" is a valid relative posix path).
Definition at line 308 of file FileSpec.cpp.
Referenced by lldb_private::PathMappingList::RemapPath(), and lldb_private::PathMappingList::ReverseRemapPath().
bool FileSpec::IsAbsolute | ( | ) | const |
Returns true if the filespec represents an absolute path.
Definition at line 478 of file FileSpec.cpp.
References GetPath(), and m_style.
Referenced by lldb_private::HostInfoLinux::ComputeSupportExeDirectory(), IsRelative(), lldb_private::Platform::LoadImageUsingPaths(), and lldb_private::Symbols::LocateExecutableSymbolFile().
|
inline |
Case sensitivity of path.
Definition at line 205 of file FileSpec.h.
References m_style.
Referenced by Compare(), DirectoryEquals(), and FileEquals().
bool FileSpec::IsRelative | ( | ) | const |
Returns true if the filespec represents a relative path.
Definition at line 474 of file FileSpec.cpp.
References IsAbsolute().
Referenced by lldb_private::ProcessLaunchInfo::ConvertArgumentsForLaunchingInShell(), lldb_private::TargetList::CreateTargetInternal(), CommandObjectCommandsSource::DoExecute(), SymbolFileDWARF::GetDwoSymbolFileForCompileUnit(), lldb_private::platform_android::PlatformAndroid::GetFile(), MakeAbsolute(), lldb_private::trace_intel_pt::TraceIntelPTBundleLoader::NormalizePath(), lldb_private::platform_android::PlatformAndroid::PutFile(), lldb_private::PathMappingList::RemapPath(), lldb_private::BreakpointResolverFileLine::SearchCallback(), and SymbolFileDWARF::UpdateExternalModuleListIfNeeded().
|
inline |
Definition at line 365 of file FileSpec.h.
References m_is_resolved.
bool FileSpec::IsSourceImplementationFile | ( | ) | const |
Returns true if the filespec represents an implementation source file (files with a ".c", ".cpp", ".m", ".mm" (many more) extension).
Definition at line 461 of file FileSpec.cpp.
References lldb_private::RegularExpression::Execute(), GetFileNameExtension(), and lldb_private::ConstString::GetStringRef().
Referenced by lldb_private::Target::CreateBreakpoint().
void FileSpec::MakeAbsolute | ( | const FileSpec & | dir | ) |
Make the FileSpec absolute by treating it relative to dir.
Absolute FileSpecs are never changed by this function.
Definition at line 493 of file FileSpec.cpp.
References IsRelative(), and PrependPathComponent().
Referenced by CommandObjectCommandsSource::DoExecute(), and MakeAbsoluteAndRemap().
Match FileSpec pattern against FileSpec file.
If pattern has a directory component, then the file must have the same directory component. Otherwise, just it matches just the filename. An empty pattern matches everything.
Definition at line 300 of file FileSpec.cpp.
References FileEquals(), GetDirectory(), and GetFilename().
Referenced by lldb_private::Module::FindCompileUnits(), lldb_private::ThreadPlanStepInRange::FrameMatchesAvoidCriteria(), lldb_private::ModuleSpec::Matches(), lldb_private::Module::MatchesModuleSpec(), lldb_private::SearchFilterByModule::ModulePasses(), lldb_private::npdb::SymbolFileNativePDB::ResolveSymbolContext(), lldb_private::CompileUnit::ResolveSymbolContext(), lldb_private::SearchFilterByModule::Search(), and lldb_private::SymbolContextSpecifier::SymbolContextMatches().
size_t FileSpec::MemorySize | ( | ) | const |
Get the memory cost of this object.
Return the size in bytes that this object takes in memory. This returns the size in bytes of this object, not any shared string values it may refer to.
Definition at line 394 of file FileSpec.cpp.
References m_directory, m_filename, and lldb_private::ConstString::MemorySize().
|
explicit |
Convert to pointer operator.
This allows code to check a FileSpec object to see if it contains anything valid using code such as:
Definition at line 219 of file FileSpec.cpp.
bool FileSpec::operator! | ( | ) | const |
Logical NOT operator.
This allows code to check a FileSpec object to see if it is invalid using code such as:
Definition at line 226 of file FileSpec.cpp.
References m_directory, and m_filename.
bool FileSpec::operator!= | ( | const FileSpec & | rhs | ) | const |
Not equal to operator.
Tests if this object is not equal to rhs.
[in] | rhs | A const FileSpec object reference to compare this object to. |
Definition at line 244 of file FileSpec.cpp.
bool FileSpec::operator< | ( | const FileSpec & | rhs | ) | const |
Less than to operator.
Tests if this object is less than rhs.
[in] | rhs | A const FileSpec object reference to compare this object to. |
Definition at line 247 of file FileSpec.cpp.
References Compare().
bool FileSpec::operator== | ( | const FileSpec & | rhs | ) | const |
Equal to operator.
Tests if this object is equal to rhs.
[in] | rhs | A const FileSpec object reference to compare this object to. |
Definition at line 239 of file FileSpec.cpp.
References DirectoryEquals(), and FileEquals().
void FileSpec::PrependPathComponent | ( | const FileSpec & | new_path | ) |
Definition at line 430 of file FileSpec.cpp.
References GetPath(), and PrependPathComponent().
void FileSpec::PrependPathComponent | ( | llvm::StringRef | component | ) |
Definition at line 420 of file FileSpec.cpp.
References GetPath(), m_style, and SetFile().
Referenced by SymbolFileDWARF::GetDwoSymbolFileForCompileUnit(), lldb_private::Platform::GetSharedModule(), MakeAbsolute(), lldb_private::trace_intel_pt::TraceIntelPTBundleLoader::NormalizePath(), and PrependPathComponent().
bool FileSpec::RemoveLastPathComponent | ( | ) |
Removes the last path component by replacing the current path with its parent.
When the current path has no parent, this is a no-op.
Definition at line 445 of file FileSpec.cpp.
References GetPath(), m_style, and SetFile().
Referenced by SymbolVendorMacOSX::CreateInstance(), lldb_private::PlatformDarwin::FindBundleBinaryInExecSearchPaths(), GetModuleSpecInfoFromUUIDDictionary(), LocateDSYMInVincinityOfExecutable(), and LookForDsymNextToExecutablePath().
|
protected |
Definition at line 167 of file FileSpec.cpp.
void FileSpec::SetFile | ( | llvm::StringRef | path, |
const llvm::Triple & | triple | ||
) |
Change the file specified with a new path.
Update the contents of this object with a new path. The path will be split up into a directory and filename and stored as uniqued string values for quick comparison and efficient memory usage.
[in] | path | A full, partial, or relative path to a file. |
[in] | triple | The triple which is used to set the Path style. |
Definition at line 210 of file FileSpec.cpp.
References SetFile().
void FileSpec::SetFile | ( | llvm::StringRef | path, |
Style | style | ||
) |
Change the file specified with a new path.
Update the contents of this object with a new path. The path will be split up into a directory and filename and stored as uniqued string values for quick comparison and efficient memory usage.
[in] | path | A full, partial, or relative path to a file. |
[in] | style | The style for the given path. |
Definition at line 172 of file FileSpec.cpp.
References lldb_private::ConstString::Clear(), m_directory, m_filename, m_is_resolved, m_style, and lldb_private::ConstString::SetString().
Referenced by lldb::SBTarget::AddModule(), AppendPathComponent(), lldb::SBTarget::AttachToProcessWithName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::AttachWaitProcess(), lldb_private::BreakpointResolverAddress::CreateFromStructuredData(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), CommandObjectTargetCreate::DoExecute(), CommandObjectTargetSymbolsAdd::DoExecute(), ProcessElfCore::DoLoadCore(), lldb_private::PlatformWindows::DoLoadImage(), PlatformPOSIX::DoLoadImage(), FileSpec(), DYLDRendezvous::FillSOEntryFromModuleInfo(), SymbolFileDWARF::GetDwoSymbolFileForCompileUnit(), GetExePathAndArch(), lldb_private::PlatformRemoteDarwinDevice::GetFileInSDK(), lldb_private::NativeFile::GetFileSpec(), GetFreeBSDProcessArgs(), GetMacOSXProcessArgs(), lldb_private::Host::GetModuleFileSpecForHostAddress(), GetModuleSpecInfoFromUUIDDictionary(), GetNetBSDProcessArgs(), GetOpenBSDProcessArgs(), lldb_private::HostInfoFreeBSD::GetProgramFileSpec(), lldb_private::HostInfoNetBSD::GetProgramFileSpec(), lldb_private::HostInfoMacOSX::GetProgramFileSpec(), lldb_private::HostInfoLinux::GetProgramFileSpec(), lldb_private::HostInfoWindows::GetProgramFileSpec(), lldb_private::PlatformRemoteDarwinDevice::GetSymbolFile(), lldb_private::PlatformAppleSimulator::GetSymbolFile(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetWorkingDir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vRun(), MakeAbsoluteAndRemap(), DynamicLoaderMacOSXDYLD::ParseLoadCommands(), ObjectFileMachO::ParseSymtab(), PrependPathComponent(), lldb_private::ProcessInstanceInfoMatch::ProcessInstanceInfoMatch(), lldb_private::FileSystem::Readlink(), DYLDRendezvous::ReadSOEntryFromMemory(), RemoveLastPathComponent(), lldb_private::RemoteAwarePlatform::ResolveExecutable(), lldb_private::PathMappingList::ReverseRemapPath(), lldb_private::ProcessInfo::SetArguments(), SetFile(), SetPath(), lldb_private::OptionValueFileSpec::SetValueFromString(), lldb_private::ObjectFile::SplitArchivePathWithObject(), lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess(), SymbolFileDWARF::UpdateExternalModuleListIfNeeded(), and DYLDRendezvous::UpdateFileSpecIfNecessary().
|
inline |
Set if the file path has been resolved or not.
If you know a file path is already resolved and avoided passing a true parameter for any functions that take a "bool resolve_path" parameter, you can set the value manually using this call to make sure we don't try and resolve it later, or try and resolve a path that has already been resolved.
[in] | is_resolved | A boolean value that will replace the current value that indicates if the paths in this object have been resolved. |
Definition at line 378 of file FileSpec.h.
References m_is_resolved.
Referenced by lldb_private::FileSystem::Resolve().
|
inline |
Temporary helper for FileSystem change.
Definition at line 270 of file FileSpec.h.
References SetFile().
Referenced by lldb_private::DataFileCache::DataFileCache(), lldb_private::PlatformQemuUser::DebugProcess(), lldb_private::FileSystem::GetHomeDirectory(), lldb_private::ScriptedProcess::GetLoadedDynamicLibrariesInfos(), lldb_private::FileSystem::Resolve(), and lldb_private::Host::RunShellCommand().
|
friend |
Definition at line 399 of file FileSpec.h.
|
protected |
The uniqued directory path.
Definition at line 405 of file FileSpec.h.
Referenced by Clear(), Compare(), DirectoryEquals(), GetDirectory(), GetPath(), MemorySize(), operator!(), and SetFile().
|
protected |
The uniqued filename path.
Definition at line 406 of file FileSpec.h.
Referenced by Clear(), Compare(), Dump(), FileEquals(), GetFilename(), GetFileNameExtension(), GetFileNameStrippingExtension(), GetPath(), MemorySize(), operator!(), and SetFile().
|
mutableprotected |
True if this path has been resolved.
Definition at line 407 of file FileSpec.h.
Referenced by IsResolved(), SetFile(), and SetIsResolved().
|
protected |
The syntax that this path uses (e.g. Windows / Posix)
Definition at line 408 of file FileSpec.h.
Referenced by AppendPathComponent(), CopyByRemovingLastPathComponent(), Dump(), GetFileNameExtension(), GetFileNameStrippingExtension(), GetLastPathComponent(), GetPath(), GetPathStyle(), IsAbsolute(), IsCaseSensitive(), PrependPathComponent(), RemoveLastPathComponent(), and SetFile().