-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
On-the-fly collection of diagnostics
Summary: Complete rework of eqWAlizer's internals to provide on-the-fly collection of diagnostics, instead of relying on exceptions. See `Pipeline.scala` for the central change in how errors are processed. Main implementation aspects: - Error tolerance based on patching is made obsolete, as errors are patched on the fly - An unlimited number of errors is now reported per function, including overloaded functions, although this can be easily limited if needed - When `tolerate_errors` is set to `false`, eqWAlizer only reports the first one still - For now, the diagnostics are still bundled along with `FuncDecl`s, to ensure consistency of the API. But later, we can send diagnostics independently at the end of the process. Reviewed By: ilya-klyuchnikov Differential Revision: D54674962 fbshipit-source-id: 388a96428ed853bddf5b4a1ef755363eaf9b13b4
- Loading branch information
1 parent
65bf491
commit 1dbdbbd
Showing
13 changed files
with
1,201 additions
and
822 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
234 changes: 127 additions & 107 deletions
234
eqwalizer/src/main/scala/com/whatsapp/eqwalizer/tc/Check.scala
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.