LLVM  13.0.0git
llvm::FileCheckDiag Struct Reference

Summary of a FileCheck diagnostic. More...

#include "llvm/FileCheck/FileCheck.h"

Collaboration diagram for llvm::FileCheckDiag:
[legend]

## Public Types

enum  MatchType {
MatchFoundErrorNote, MatchNoneAndExcluded, MatchNoneButExpected, MatchNoneForInvalidPattern,
MatchFuzzy
}
What type of match result does this diagnostic describe? More...

## Public Member Functions

FileCheckDiag (const SourceMgr &SM, const Check::FileCheckType &CheckTy, SMLoc CheckLoc, MatchType MatchTy, SMRange InputRange, StringRef Note="")

## Public Attributes

Check::FileCheckType CheckTy
What is the FileCheck directive for this diagnostic? More...

SMLoc CheckLoc
Where is the FileCheck directive for this diagnostic? More...

enum llvm::FileCheckDiag::MatchType MatchTy

unsigned InputStartLine
The search range if MatchTy starts with MatchNone, or the match range otherwise. More...

unsigned InputStartCol

unsigned InputEndLine

unsigned InputEndCol

std::string Note
A note to replace the one normally indicated by MatchTy, or the empty string if none. More...

## Detailed Description

Summary of a FileCheck diagnostic.

Definition at line 110 of file FileCheck.h.

## ◆ MatchType

What type of match result does this diagnostic describe?

A directive's supplied pattern is said to be either expected or excluded depending on whether the pattern must have or must not have a match in order for the directive to succeed. For example, a CHECK directive's pattern is expected, and a CHECK-NOT directive's pattern is excluded.

There might be more than one match result for a single pattern. For example, there might be several discarded matches (MatchFoundButDiscarded) before either a good match (MatchFoundAndExpected) or a failure to match (MatchNoneButExpected), and there might be a fuzzy match (MatchFuzzy) after the latter.

Enumerator
MatchFoundAndExpected

Indicates a good match for an expected pattern.

MatchFoundButExcluded

Indicates a match for an excluded pattern.

MatchFoundButWrongLine

Indicates a match for an expected pattern, but the match is on the wrong line.

Indicates a discarded match for an expected pattern.

MatchFoundErrorNote

Indicates an error while processing a match after the match was found for an expected or excluded pattern.

The error is specified by Note, to which it should be appropriate to prepend "error: " later. The full match itself should be recorded in a preceding diagnostic of a different MatchFound match type.

MatchNoneAndExcluded

Indicates no match for an excluded pattern.

MatchNoneButExpected

Indicates no match for an expected pattern, but this might follow good matches when multiple matches are expected for the pattern, or it might follow discarded matches for the pattern.

MatchNoneForInvalidPattern

Indicates no match due to an expected or excluded pattern that has proven to be invalid at match time.

The exact problems are usually reported in subsequent diagnostics of the same match type but with Note set.

MatchFuzzy

Indicates a fuzzy match that serves as a suggestion for the next intended match for an expected pattern with too few or no good matches.

Definition at line 127 of file FileCheck.h.

## ◆ FileCheckDiag()

 llvm::FileCheckDiag::FileCheckDiag ( const SourceMgr & SM, const Check::FileCheckType & CheckTy, SMLoc CheckLoc, MatchType MatchTy, SMRange InputRange, StringRef Note = "" )

## ◆ CheckLoc

 SMLoc llvm::FileCheckDiag::CheckLoc

Where is the FileCheck directive for this diagnostic?

Definition at line 114 of file FileCheck.h.

## ◆ CheckTy

 Check::FileCheckType llvm::FileCheckDiag::CheckTy

What is the FileCheck directive for this diagnostic?

Definition at line 112 of file FileCheck.h.

## ◆ InputEndCol

 unsigned llvm::FileCheckDiag::InputEndCol

Definition at line 163 of file FileCheck.h.

## ◆ InputEndLine

 unsigned llvm::FileCheckDiag::InputEndLine

Definition at line 162 of file FileCheck.h.

## ◆ InputStartCol

 unsigned llvm::FileCheckDiag::InputStartCol

Definition at line 161 of file FileCheck.h.

## ◆ InputStartLine

 unsigned llvm::FileCheckDiag::InputStartLine

The search range if MatchTy starts with MatchNone, or the match range otherwise.

Definition at line 160 of file FileCheck.h.

## ◆ MatchTy

 enum llvm::FileCheckDiag::MatchType llvm::FileCheckDiag::MatchTy

## ◆ Note

 std::string llvm::FileCheckDiag::Note

A note to replace the one normally indicated by MatchTy, or the empty string if none.

Definition at line 166 of file FileCheck.h.

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