diff options
author | Martin Odersky <odersky@gmail.com> | 2013-11-04 11:29:00 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-11-04 11:29:00 +0100 |
commit | ab95d83444c6397f8859713dd6606602c77c8d23 (patch) | |
tree | fa490998a0ab2d72e4d86760417193a5e504374d /src/dotty/tools/dotc/core/TyperState.scala | |
parent | 19b6784ef1cae9cd0af278c0c3afcee47c0a00ea (diff) | |
download | dotty-ab95d83444c6397f8859713dd6606602c77c8d23.tar.gz dotty-ab95d83444c6397f8859713dd6606602c77c8d23.tar.bz2 dotty-ab95d83444c6397f8859713dd6606602c77c8d23.zip |
Upgraded handling of positions
It turned out the some trees were still carrying NoPosition in their pos fields. The new treatment avoids that and aslo adds some assertions to check for regressions.
Diffstat (limited to 'src/dotty/tools/dotc/core/TyperState.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/TyperState.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/TyperState.scala b/src/dotty/tools/dotc/core/TyperState.scala index 8fbd3502c..664655d7c 100644 --- a/src/dotty/tools/dotc/core/TyperState.scala +++ b/src/dotty/tools/dotc/core/TyperState.scala @@ -127,10 +127,16 @@ extends TyperState(reporter) { override def withCheckingDisabled[T](op: => T)(implicit ctx: Context): T = { val prev = enableChecking(false) + var thrown = false try op + catch { + case ex: Throwable => + thrown = true + throw ex + } finally { enableChecking(prev) - checkConsistent + if (!thrown) checkConsistent } } |