================
@@ -125,111 +125,192 @@ class MatchResultDiag;
/// - \c MatchNoteDiag provides an additional note about the most recent
/// \c MatchResultDiag emitted by a FileCheck invocation. For example, there
/// might be a fuzzy match after a failure to match.
+///
+/// Throughout this class hierarchy, a 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 it to succeed. For example, a \c CHECK directive's pattern is
+/// expected, and a \c CHECK-NOT directive's pattern is excluded.
class FileCheckDiag {
public:
- enum FileCheckDiagKind { FCDK_MatchResultDiag, FCDK_MatchNoteDiag };
-
- /// 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.
- enum MatchType {
- /// Indicates a good match for an expected pattern.
- MatchFoundAndExpected,
- /// Indicates a match for an excluded pattern.
- MatchFoundButExcluded,
- /// Indicates a match for an expected pattern, but the match is on the
- /// wrong line.
- MatchFoundButWrongLine,
- /// Indicates a discarded match for an expected pattern.
- MatchFoundButDiscarded,
- /// Indicates an error while processing a match after the match was found
- /// for an expected or excluded pattern. The error is specified by \c
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
- /// \c MatchFound match type.
- MatchFoundErrorNote,
- /// Indicates no match for an excluded pattern.
- MatchNoneAndExcluded,
- /// 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.
- MatchNoneButExpected,
- /// 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
- /// \c Note set.
- MatchNoneForInvalidPattern,
- /// 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.
- MatchFuzzy,
+ enum FileCheckDiagKind {
+ // MatchResultDiag
+ FCDK_MatchResultDiag_First,
----------------
MaskRay wrote:
Your call, but the `FCDK_` prefix seems verbose for an enum nested in
FileCheckDiag.
You can also hoist this to an `enum class`.
https://github.com/llvm/llvm-project/pull/195571
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits