LLVM  8.0.1
Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
llvm::SpecialCaseList Class Reference

#include "llvm/Support/SpecialCaseList.h"

Collaboration diagram for llvm::SpecialCaseList:
Collaboration graph
[legend]

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. More...
 
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. More...
 

Static Public Member Functions

static std::unique_ptr< SpecialCaseListcreate (const std::vector< std::string > &Paths, std::string &Error)
 Parses the special case list entries from files. More...
 
static std::unique_ptr< SpecialCaseListcreate (const MemoryBuffer *MB, std::string &Error)
 Parses the special case list from a memory buffer. More...
 
static std::unique_ptr< SpecialCaseListcreateOrDie (const std::vector< std::string > &Paths)
 Parses the special case list entries from files. More...
 

Protected Types

using SectionEntries = StringMap< StringMap< Matcher > >
 

Protected Member Functions

bool createInternal (const std::vector< std::string > &Paths, std::string &Error)
 
bool createInternal (const MemoryBuffer *MB, std::string &Error)
 
 SpecialCaseList ()=default
 
 SpecialCaseList (SpecialCaseList const &)=delete
 
SpecialCaseListoperator= (SpecialCaseList const &)=delete
 
bool parse (const MemoryBuffer *MB, StringMap< size_t > &SectionsMap, std::string &Error)
 Parses just-constructed SpecialCaseList entries from a memory buffer. More...
 
unsigned inSectionBlame (const SectionEntries &Entries, StringRef Prefix, StringRef Query, StringRef Category) const
 

Protected Attributes

std::vector< SectionSections
 

Detailed Description

Definition at line 67 of file SpecialCaseList.h.

Member Typedef Documentation

◆ SectionEntries

Definition at line 131 of file SpecialCaseList.h.

Constructor & Destructor Documentation

◆ ~SpecialCaseList()

llvm::SpecialCaseList::~SpecialCaseList ( )

Definition at line 201 of file SpecialCaseList.cpp.

◆ SpecialCaseList() [1/2]

llvm::SpecialCaseList::SpecialCaseList ( )
protecteddefault

Referenced by create().

◆ SpecialCaseList() [2/2]

llvm::SpecialCaseList::SpecialCaseList ( SpecialCaseList const )
protecteddelete

Member Function Documentation

◆ create() [1/2]

std::unique_ptr< SpecialCaseList > llvm::SpecialCaseList::create ( const std::vector< std::string > &  Paths,
std::string &  Error 
)
static

Parses the special case list entries from files.

On failure, returns 0 and writes an error message to string.

Definition at line 74 of file SpecialCaseList.cpp.

References SpecialCaseList().

Referenced by createOrDie().

◆ create() [2/2]

std::unique_ptr< SpecialCaseList > llvm::SpecialCaseList::create ( const MemoryBuffer MB,
std::string &  Error 
)
static

Parses the special case list from a memory buffer.

On failure, returns 0 and writes an error message to string.

Definition at line 82 of file SpecialCaseList.cpp.

References SpecialCaseList().

◆ createInternal() [1/2]

bool llvm::SpecialCaseList::createInternal ( const std::vector< std::string > &  Paths,
std::string &  Error 
)
protected

◆ createInternal() [2/2]

bool llvm::SpecialCaseList::createInternal ( const MemoryBuffer MB,
std::string &  Error 
)
protected

Definition at line 117 of file SpecialCaseList.cpp.

References parse(), and Sections.

◆ createOrDie()

std::unique_ptr< SpecialCaseList > llvm::SpecialCaseList::createOrDie ( const std::vector< std::string > &  Paths)
static

Parses the special case list entries from files.

On failure, reports a fatal error.

Definition at line 91 of file SpecialCaseList.cpp.

References create(), llvm::Error, and llvm::report_fatal_error().

Referenced by INITIALIZE_PASS().

◆ inSection()

bool llvm::SpecialCaseList::inSection ( StringRef  Section,
StringRef  Prefix,
StringRef  Query,
StringRef  Category = StringRef() 
) const

Returns true, if special case list contains a line.

@Prefix:<E>=@Category

where satisfies wildcard expression <E> in a given .

Definition at line 203 of file SpecialCaseList.cpp.

References inSectionBlame().

◆ inSectionBlame() [1/2]

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.

@Prefix:<E>=@Category

where satisfies wildcard expression <E> in a given . Returns zero if there is no blacklist entry corresponding to this expression.

Definition at line 208 of file SpecialCaseList.cpp.

References Sections.

Referenced by inSection().

◆ inSectionBlame() [2/2]

unsigned llvm::SpecialCaseList::inSectionBlame ( const SectionEntries Entries,
StringRef  Prefix,
StringRef  Query,
StringRef  Category 
) const
protected

◆ operator=()

SpecialCaseList& llvm::SpecialCaseList::operator= ( SpecialCaseList const )
protecteddelete

◆ parse()

bool llvm::SpecialCaseList::parse ( const MemoryBuffer MB,
StringMap< size_t > &  SectionsMap,
std::string &  Error 
)
protected

Member Data Documentation

◆ Sections

std::vector<Section> llvm::SpecialCaseList::Sections
protected

Definition at line 140 of file SpecialCaseList.h.

Referenced by createInternal(), inSectionBlame(), and parse().


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