`calculate_errors` mode
commit3deec61f2df5398b4fb8f9b5b46d2a46b6991655
authorWaleed Khan <waleedk@fb.com>
Thu, 25 Jun 2020 21:24:33 +0000 (25 14:24 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 1 Jul 2020 01:12:32 +0000 (30 18:12 -0700)
treeea14a69acfbce39dbb00606d15ccaddf72f5ca94
parent66dc3bb9bb5bfd1ac3d0243719cc0849f989f50e
`calculate_errors` mode

Summary:
`hh_fanout calculate-errors` calculates the set of errors in the codebase.

Note that previously, we were doing something misleading: we were typechecking each changed file and adding their dependencies to the dependency graph. This can give correct results more often, but it's insufficient in general, since you need to perform a typecheck of the fanout files to get the real dependency graph delta.

Typechecking the changed files by themselves is still useful for the "prechecked files optimization" (an optimization where you color dependency edges based on whether the user directly changed the file that created them). However, we're not implementing that right now, and it adds some complexity, so this commit removes the old typecheck-changed-files system. We now only store dependency graph deltas whenever we perform a typecheck.

Reviewed By: ljw1004

Differential Revision: D21822109

fbshipit-source-id: a6303b1c2f9036b316af134f082364cece0ce0a8
hphp/hack/src/hh_fanout/dune
hphp/hack/src/hh_fanout/hh_fanout.ml
hphp/hack/src/hh_fanout/incremental.mli
hphp/hack/src/hh_fanout/incremental_ocaml.ml
hphp/hack/src/server/serverError.ml
hphp/hack/test/hh_fanout/hh_fanout_integration_tests.py