LLDB mainline
lldb_private::SupportFile Class Reference

Wraps a FileSpec and an optional Checksum. More...

#include <SupportFile.h>

Public Types

enum  SupportFileEquality : uint8_t {
  eEqualFileSpec = (1u << 1) , eEqualChecksum = (1u << 2) , eEqualChecksumIfSet = (1u << 3) , eEqualFileSpecAndChecksum = eEqualFileSpec | eEqualChecksum ,
  eEqualFileSpecAndChecksumIfSet = eEqualFileSpec | eEqualChecksumIfSet
}

Public Member Functions

 SupportFile ()
 SupportFile (const FileSpec &spec)
 SupportFile (const FileSpec &spec, const Checksum &checksum)
 SupportFile (const SupportFile &other)=delete
 SupportFile (SupportFile &&other)=default
virtual ~SupportFile ()=default
bool Equal (const SupportFile &other, SupportFileEquality equality=eEqualFileSpecAndChecksum) const
const FileSpec & GetSpecOnly () const
 Return the file name only. Useful for resolving breakpoints by file name.
const Checksum & GetChecksum () const
 Return the checksum or all zeros if there is none.
virtual const FileSpec & Materialize ()
 Materialize the file to disk and return the path to that temporary file.

Protected Attributes

const FileSpec m_file_spec
const Checksum m_checksum

Detailed Description

Wraps a FileSpec and an optional Checksum.

The FileSpec represents either a path to a file or a source file whose contents is known (for example because it can be reconstructed from debug info), but that hasn't been written to a file yet.

Definition at line 22 of file SupportFile.h.

Member Enumeration Documentation

◆ SupportFileEquality

Enumerator
eEqualFileSpec 
eEqualChecksum 
eEqualChecksumIfSet 
eEqualFileSpecAndChecksum 
eEqualFileSpecAndChecksumIfSet 

Definition at line 34 of file SupportFile.h.

Constructor & Destructor Documentation

◆ SupportFile() [1/5]

lldb_private::SupportFile::SupportFile ( )
inline

Definition at line 24 of file SupportFile.h.

References m_checksum, and m_file_spec.

Referenced by Equal(), SupportFile(), and SupportFile().

◆ SupportFile() [2/5]

lldb_private::SupportFile::SupportFile ( const FileSpec & spec)
inline

Definition at line 25 of file SupportFile.h.

References m_checksum, and m_file_spec.

◆ SupportFile() [3/5]

lldb_private::SupportFile::SupportFile ( const FileSpec & spec,
const Checksum & checksum )
inline

Definition at line 26 of file SupportFile.h.

References m_checksum, and m_file_spec.

◆ SupportFile() [4/5]

lldb_private::SupportFile::SupportFile ( const SupportFile & other)
delete

References SupportFile().

◆ SupportFile() [5/5]

lldb_private::SupportFile::SupportFile ( SupportFile && other)
default

References SupportFile().

◆ ~SupportFile()

virtual lldb_private::SupportFile::~SupportFile ( )
virtualdefault

Member Function Documentation

◆ Equal()

bool lldb_private::SupportFile::Equal ( const SupportFile & other,
SupportFileEquality equality = eEqualFileSpecAndChecksum ) const
inline

◆ GetChecksum()

const Checksum & lldb_private::SupportFile::GetChecksum ( ) const
inline

Return the checksum or all zeros if there is none.

Definition at line 70 of file SupportFile.h.

References m_checksum.

◆ GetSpecOnly()

const FileSpec & lldb_private::SupportFile::GetSpecOnly ( ) const
inline

Return the file name only. Useful for resolving breakpoints by file name.

Definition at line 67 of file SupportFile.h.

References m_file_spec.

◆ Materialize()

virtual const FileSpec & lldb_private::SupportFile::Materialize ( )
inlinevirtual

Materialize the file to disk and return the path to that temporary file.

Definition at line 73 of file SupportFile.h.

References m_file_spec.

Member Data Documentation

◆ m_checksum

const Checksum lldb_private::SupportFile::m_checksum
protected

Definition at line 77 of file SupportFile.h.

Referenced by Equal(), GetChecksum(), SupportFile(), SupportFile(), and SupportFile().

◆ m_file_spec

const FileSpec lldb_private::SupportFile::m_file_spec
protected

Definition at line 76 of file SupportFile.h.

Referenced by Equal(), GetSpecOnly(), Materialize(), SupportFile(), SupportFile(), and SupportFile().


The documentation for this class was generated from the following file: