LLVM 17.0.0git
|
#include "llvm/Support/SpecialCaseList.h"
Classes | |
class | Matcher |
Represents a set of regular expressions. More... | |
struct | Section |
Public Member Functions | |
~SpecialCaseList () | |
bool | inSection (StringRef Section, StringRef Prefix, StringRef Query, StringRef Category=StringRef()) const |
Returns true, if special case list contains a line. | |
unsigned | inSectionBlame (StringRef Section, StringRef Prefix, StringRef Query, StringRef Category=StringRef()) const |
Returns the line number corresponding to the special case list entry if the special case list contains a line. | |
Static Public Member Functions | |
static std::unique_ptr< SpecialCaseList > | create (const std::vector< std::string > &Paths, llvm::vfs::FileSystem &FS, std::string &Error) |
Parses the special case list entries from files. | |
static std::unique_ptr< SpecialCaseList > | create (const MemoryBuffer *MB, std::string &Error) |
Parses the special case list from a memory buffer. | |
static std::unique_ptr< SpecialCaseList > | createOrDie (const std::vector< std::string > &Paths, llvm::vfs::FileSystem &FS) |
Parses the special case list entries from files. | |
Protected Types | |
using | SectionEntries = StringMap< StringMap< Matcher > > |
Protected Member Functions | |
bool | createInternal (const std::vector< std::string > &Paths, vfs::FileSystem &VFS, std::string &Error) |
bool | createInternal (const MemoryBuffer *MB, std::string &Error) |
SpecialCaseList ()=default | |
SpecialCaseList (SpecialCaseList const &)=delete | |
SpecialCaseList & | operator= (SpecialCaseList const &)=delete |
bool | parse (const MemoryBuffer *MB, StringMap< size_t > &SectionsMap, std::string &Error) |
Parses just-constructed SpecialCaseList entries from a memory buffer. | |
unsigned | inSectionBlame (const SectionEntries &Entries, StringRef Prefix, StringRef Query, StringRef Category) const |
Protected Attributes | |
std::vector< Section > | Sections |
Definition at line 70 of file SpecialCaseList.h.
|
protected |
Definition at line 135 of file SpecialCaseList.h.
|
default |
|
protecteddefault |
Referenced by create().
|
protecteddelete |
|
static |
Parses the special case list from a memory buffer.
On failure, returns 0 and writes an error message to string.
Definition at line 81 of file SpecialCaseList.cpp.
References SpecialCaseList().
|
static |
Parses the special case list entries from files.
On failure, returns 0 and writes an error message to string.
Definition at line 73 of file SpecialCaseList.cpp.
References Paths, and SpecialCaseList().
Referenced by createOrDie().
|
protected |
Definition at line 117 of file SpecialCaseList.cpp.
References Sections.
|
protected |
Definition at line 98 of file SpecialCaseList.cpp.
References llvm::ErrorOr< T >::get(), llvm::vfs::FileSystem::getBufferForFile(), llvm::ErrorOr< T >::getError(), Paths, and Sections.
|
static |
Parses the special case list entries from files.
On failure, reports a fatal error.
Definition at line 90 of file SpecialCaseList.cpp.
References create(), Paths, and llvm::report_fatal_error().
Referenced by llvm::SanitizerBinaryMetadataPass::run(), and llvm::SanitizerCoveragePass::SanitizerCoveragePass().
bool llvm::SpecialCaseList::inSection | ( | StringRef | Section, |
StringRef | Prefix, | ||
StringRef | Query, | ||
StringRef | Category = StringRef() |
||
) | const |
Returns true, if special case list contains a line.
where @Query satisfies wildcard expression <E> in a given @Section.
Definition at line 203 of file SpecialCaseList.cpp.
References inSectionBlame().
|
protected |
Definition at line 221 of file SpecialCaseList.cpp.
References I.
unsigned llvm::SpecialCaseList::inSectionBlame | ( | StringRef | Section, |
StringRef | Prefix, | ||
StringRef | Query, | ||
StringRef | Category = StringRef() |
||
) | const |
Returns the line number corresponding to the special case list entry if the special case list contains a line.
where @Query satisfies wildcard expression <E> in a given @Section. Returns zero if there is no exclusion entry corresponding to this expression.
Definition at line 208 of file SpecialCaseList.cpp.
References inSectionBlame(), and Sections.
Referenced by inSection(), and inSectionBlame().
|
protecteddelete |
|
protected |
Parses just-constructed SpecialCaseList entries from a memory buffer.
Definition at line 125 of file SpecialCaseList.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::contains(), E, llvm::MemoryBuffer::getBuffer(), I, llvm::Regex::isValid(), Sections, and llvm::StringRef::split().
|
protected |
Definition at line 144 of file SpecialCaseList.h.
Referenced by createInternal(), inSectionBlame(), and parse().