LLVM 17.0.0git
|
Type representing the format an expression value should be textualized into for matching. More...
#include "FileCheck/FileCheckImpl.h"
Public Types | |
enum class | Kind { NoFormat , Unsigned , Signed , HexUpper , HexLower } |
Public Member Functions | |
operator bool () const | |
Evaluates a format to true if it can be used in a match. | |
bool | operator== (const ExpressionFormat &Other) const |
Define format equality: formats are equal if neither is NoFormat and their kinds and precision are the same. | |
bool | operator!= (const ExpressionFormat &Other) const |
bool | operator== (Kind OtherValue) const |
bool | operator!= (Kind OtherValue) const |
StringRef | toString () const |
ExpressionFormat () | |
ExpressionFormat (Kind Value) | |
ExpressionFormat (Kind Value, unsigned Precision) | |
ExpressionFormat (Kind Value, unsigned Precision, bool AlternateForm) | |
Expected< std::string > | getWildcardRegex () const |
Expected< std::string > | getMatchingString (ExpressionValue Value) const |
Expected< ExpressionValue > | valueFromStringRepr (StringRef StrVal, const SourceMgr &SM) const |
Type representing the format an expression value should be textualized into for matching.
Used to represent both explicit format specifiers as well as implicit format from using numeric variables.
Definition at line 39 of file FileCheckImpl.h.
|
strong |
Enumerator | |
---|---|
NoFormat | Denote absence of format. Used for implicit format of literals and empty expressions. |
Unsigned | Value is an unsigned integer and should be printed as a decimal number. |
Signed | Value is a signed integer and should be printed as a decimal number. |
HexUpper | Value should be printed as an uppercase hex number. |
HexLower | Value should be printed as a lowercase hex number. |
Definition at line 40 of file FileCheckImpl.h.
|
inline |
Definition at line 82 of file FileCheckImpl.h.
|
inlineexplicit |
Definition at line 83 of file FileCheckImpl.h.
Definition at line 84 of file FileCheckImpl.h.
|
inlineexplicit |
Definition at line 86 of file FileCheckImpl.h.
Expected< std::string > ExpressionFormat::getMatchingString | ( | ExpressionValue | Value | ) | const |
Value
in the format represented by this instance, or an error if conversion to this format failed or the format is NoFormat. Definition at line 80 of file FileCheck.cpp.
References llvm::cantFail(), llvm::createStringError(), llvm::ExpressionValue::getAbsolute(), llvm::ExpressionValue::getSignedValue(), llvm::ExpressionValue::getUnsignedValue(), HexLower, HexUpper, llvm::ExpressionValue::isNegative(), Signed, llvm::Expected< T >::takeError(), and Unsigned.
Expected< std::string > ExpressionFormat::getWildcardRegex | ( | ) | const |
Definition at line 47 of file FileCheck.cpp.
References llvm::createStringError(), HexLower, HexUpper, Signed, and Unsigned.
|
inlineexplicit |
Evaluates a format to true if it can be used in a match.
Definition at line 62 of file FileCheckImpl.h.
References NoFormat.
|
inline |
Definition at line 71 of file FileCheckImpl.h.
References llvm::Other.
Definition at line 77 of file FileCheckImpl.h.
|
inline |
Define format equality: formats are equal if neither is NoFormat and their kinds and precision are the same.
Definition at line 66 of file FileCheckImpl.h.
References NoFormat, and llvm::Other.
Definition at line 75 of file FileCheckImpl.h.
StringRef ExpressionFormat::toString | ( | ) | const |
Definition at line 31 of file FileCheck.cpp.
References HexLower, HexUpper, llvm_unreachable, NoFormat, Signed, and Unsigned.
Expected< ExpressionValue > ExpressionFormat::valueFromStringRepr | ( | StringRef | StrVal, |
const SourceMgr & | SM | ||
) | const |
StrVal
according to the matching format represented by this instance or an error with diagnostic against SM
if StrVal
does not correspond to a valid and representable value. Definition at line 128 of file FileCheck.cpp.
References assert(), llvm::ErrorDiagnostic::get(), HexLower, HexUpper, and Signed.