LLVM 17.0.0git
Public Member Functions | List of all members
llvm::FileCheck Class Reference

FileCheck class takes the request and exposes various methods that use information from the request. More...

#include "llvm/FileCheck/FileCheck.h"

Public Member Functions

 FileCheck (FileCheckRequest Req)
 
 ~FileCheck ()
 
Regex buildCheckPrefixRegex ()
 
bool readCheckFile (SourceMgr &SM, StringRef Buffer, Regex &PrefixRE, std::pair< unsigned, unsigned > *ImpPatBufferIDRange=nullptr)
 Reads the check file from Buffer and records the expected strings it contains.
 
bool ValidateCheckPrefixes ()
 
StringRef CanonicalizeFile (MemoryBuffer &MB, SmallVectorImpl< char > &OutputBuffer)
 Canonicalizes whitespaces in the file.
 
bool checkInput (SourceMgr &SM, StringRef Buffer, std::vector< FileCheckDiag > *Diags=nullptr)
 Checks the input to FileCheck provided in the Buffer against the expected strings read from the check file and record diagnostics emitted in Diags.
 

Detailed Description

FileCheck class takes the request and exposes various methods that use information from the request.

Definition at line 180 of file FileCheck.h.

Constructor & Destructor Documentation

◆ FileCheck()

FileCheck::FileCheck ( FileCheckRequest  Req)
explicit

Definition at line 1866 of file FileCheck.cpp.

◆ ~FileCheck()

FileCheck::~FileCheck ( )
default

Member Function Documentation

◆ buildCheckPrefixRegex()

Regex FileCheck::buildCheckPrefixRegex ( )

◆ CanonicalizeFile()

StringRef FileCheck::CanonicalizeFile ( MemoryBuffer MB,
SmallVectorImpl< char > &  OutputBuffer 
)

◆ checkInput()

bool FileCheck::checkInput ( SourceMgr SM,
StringRef  Buffer,
std::vector< FileCheckDiag > *  Diags = nullptr 
)

Checks the input to FileCheck provided in the Buffer against the expected strings read from the check file and record diagnostics emitted in Diags.

Errors are recorded against SM.

Returns
false if the input fails to satisfy the checks.

Definition at line 2796 of file FileCheck.cpp.

References llvm::FileCheckString::Check(), llvm::Check::CheckLabel, llvm::FileCheckRequest::EnableVarScope, llvm::Pattern::getCheckTy(), llvm::StringRef::npos, llvm::FileCheckString::Pat, and llvm::StringRef::substr().

◆ readCheckFile()

bool FileCheck::readCheckFile ( SourceMgr SM,
StringRef  Buffer,
Regex PrefixRE,
std::pair< unsigned, unsigned > *  ImpPatBufferIDRange = nullptr 
)

Reads the check file from Buffer and records the expected strings it contains.

Errors are reported against SM.

Only expected strings whose prefix is one of those listed in PrefixRE are recorded.

Returns
true in case of an error, false otherwise.

If ImpPatBufferIDRange, then the range (inclusive start, exclusive end) of IDs for source buffers added to SM for implicit patterns are recorded in it. The range is empty if there are none.

Definition at line 1872 of file FileCheck.cpp.

References llvm::SourceMgr::AddNewSourceBuffer(), llvm::FileCheckRequest::AllowUnusedPrefixes, assert(), llvm::Check::CheckBadCount, llvm::Check::CheckBadNot, llvm::Check::CheckComment, llvm::Check::CheckDAG, llvm::Check::CheckEmpty, llvm::Check::CheckEOF, llvm::Check::CheckLabel, llvm::Check::CheckMisspelled, llvm::Check::CheckNext, llvm::Check::CheckNot, llvm::FileCheckRequest::CheckPrefixes, llvm::Check::CheckSame, llvm::StringRef::data(), llvm::SourceMgr::DK_Error, llvm::StringRef::drop_front(), llvm::StringRef::empty(), llvm::errs(), llvm::StringRef::find_first_not_of(), llvm::StringRef::find_first_of(), FindFirstMatchingPrefix(), llvm::SMLoc::getFromPointer(), llvm::MemoryBuffer::getMemBufferCopy(), llvm::FileCheckRequest::GlobalDefines, llvm::FileCheckRequest::ImplicitCheckNot, llvm::FileCheckRequest::IsDefaultCheckPrefix, llvm::logAllUnhandledErrors(), llvm::FileCheckRequest::MatchFullLines, llvm::FileCheckRequest::NoCanonicalizeWhiteSpace, P, llvm::SourceMgr::PrintMessage(), llvm::StringRef::size(), llvm::StringRef::substr(), and std::swap().

◆ ValidateCheckPrefixes()

bool FileCheck::ValidateCheckPrefixes ( )

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