summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-10-28 19:12:29 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-10-28 19:23:50 +1000
commit8f9e9c893893084129ea423ef7ff5d3e79074622 (patch)
treed5cd3fb7dd0ed963f468ce1e8bbfaaf1016b79e0 /src/compiler
parent7664e25eed8ae4547f1cfd774b62a7b6a4baf8b5 (diff)
downloadscala-8f9e9c893893084129ea423ef7ff5d3e79074622.tar.gz
scala-8f9e9c893893084129ea423ef7ff5d3e79074622.tar.bz2
scala-8f9e9c893893084129ea423ef7ff5d3e79074622.zip
SI-8941 Deterministic tests for pres. compiler idempotency
A retrospective test case which covers typechecking idempotency which was introduced in 0b78a0196 / 148736c3df. It also tests the implicit class handling, which was fixed in the previous commit. It is difficult to test this using existing presentation compiler testing infrastructure, as one can't control at which point during the first typechecking the subesquent work item will be noticed. Instead, I've created a test with a custom subclass of `interactive.Global` that allows precise, deterministic control of when this happens. It overrides `signalDone`, which is called after each tree is typechecked, and watches for a defintion with a well known name. At that point, it triggers a targetted typecheck of the tree marked with a special comment. It is likely that this approach can be generalized to a reusable base class down the track. In particular, I expect that some of the nasty interactive ScalaDoc bugs could use this single-threaded approach to testing the presentation compiler.
Diffstat (limited to 'src/compiler')
0 files changed, 0 insertions, 0 deletions