Minor refactoring in TypecheckingCache. Provide separate non-tracking cache.

TypecheckingCache maintains two maps of root-to-cache: tracking and non-tracking.
Tracking cache is used in "watching" mode, caching mode doesn't require tracking.
Always merge the results of typechecking, avoid replacing the cached data.
Reimplement calcTypeLocally() to rely on cache for storing the resulting type.
Simplify cache API.
Fix TypecheckingTestHelper.
This commit is contained in:
Fedor Isakov 2020-07-20 16:25:54 +02:00
parent c9e87edbc1
commit 8e1bd7b931
1 changed files with 1257 additions and 1096 deletions