thopre added inline comments.

================
Comment at: llvm/lib/FileCheck/FileCheck.cpp:1774-1781
+static std::pair<Check::FileCheckType, StringRef>
+FindCheckType(const FileCheckRequest &Req, StringRef Buffer, StringRef Prefix) 
{
+  bool Misspelled = false;
+  auto Res = FindCheckType(Req, Buffer, Prefix, Misspelled);
+  if (Res.first != Check::CheckNone && Misspelled)
+    return {Check::CheckMisspelled, Res.second};
+  return Res;
----------------
kosarev wrote:
> thopre wrote:
> > Instead of introducing a new wrapper, why don't you change all the return 
> > to call a constructor method (e.g. `make_check_type()`) that does what this 
> > wrapper do? Then there would not be any FindCheckType that take a 
> > Misspelled parameter.
> > 
> > I'm also not sure about Misspelled being a check kind. It feels 
> > conceptually wrong but on the other hand I guess it makes the 
> > implementation simpler.
> Tried that. Replacing the returned pair with a new `CheckLine` kind of object 
> implementing the misspelled-related logic seems to add a lot of extra clutter 
> such as the definition of the new structure itself, but especially all the 
> repetitive mentions of `Misspelled` on every `return`. Feels like having it 
> as a reference parameter works better, as we only need to alter the flag 
> occasionally.
> 
> Regarding `CheckMisspelled`, now that we have `CheckBadNot` and 
> `CheckBadCount`, this looks the usual way of propagating the information 
> about our spelling-related concerns. Might be not the best design and may be 
> worth looking into at some point, but at least doesn' seem to be specific to 
> this patch?
I was thinking something along the line of:

return getRealCheckType(CHECK::CheckBadCount, Rest, Misspelled); with:

```static std::pair<Check::FileCheckType, StringRef>
getRealCheckType(Check::FileCheckType CheckType, StringRef Rest, bool 
Misspelled) {
  if (CheckType != Check::CheckNone && Misspelled)
    return {Check::CheckMisspelled, Rest};
  return {CheckType, Rest};
}```

Fair enough for CheckMisspelled, there is indeeed precedent.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125604/new/

https://reviews.llvm.org/D125604

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to