aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/FrontEnd.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-09-24 18:34:13 +0200
committerMartin Odersky <odersky@gmail.com>2016-09-24 18:34:13 +0200
commite2e1e8a43123de3c5594bad24af486b730e0b3c7 (patch)
tree9dd30e0e0f9167c299e67c0898b782cdf7e8201f /src/dotty/tools/dotc/typer/FrontEnd.scala
parent331e75be7e90817bc2931c3d00dd931b22c179f5 (diff)
downloaddotty-e2e1e8a43123de3c5594bad24af486b730e0b3c7.tar.gz
dotty-e2e1e8a43123de3c5594bad24af486b730e0b3c7.tar.bz2
dotty-e2e1e8a43123de3c5594bad24af486b730e0b3c7.zip
Check that (most) positions are non-overlapping.
Check that children of a node have non-overlapping positions and that positions of successive children are monotonically increasing. This holds currently except for 3 exceptions: - Trees coming from Java as the Java parser also does desugarings which copy trees. - Functions coming from wildcard expressions - Interpolated strings We'll see whether we can do something about the latter two.
Diffstat (limited to 'src/dotty/tools/dotc/typer/FrontEnd.scala')
-rw-r--r--src/dotty/tools/dotc/typer/FrontEnd.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/FrontEnd.scala b/src/dotty/tools/dotc/typer/FrontEnd.scala
index e008430a7..4ce24b633 100644
--- a/src/dotty/tools/dotc/typer/FrontEnd.scala
+++ b/src/dotty/tools/dotc/typer/FrontEnd.scala
@@ -35,7 +35,8 @@ class FrontEnd extends Phase {
else new Parser(unit.source).parse()
val printer = if (ctx.settings.Xprint.value.contains("parser")) default else typr
printer.println("parsed:\n" + unit.untpdTree.show)
- if (Config.checkPositions) unit.untpdTree.checkPos(complete = true)
+ if (Config.checkPositions)
+ unit.untpdTree.checkPos(nonOverlapping = !unit.isJava && !ctx.reporter.hasErrors)
}
def enterSyms(implicit ctx: Context) = monitor("indexing") {