From 3ea983198029d4a31611957d8d1c01dc73654a7f Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 9 Feb 2017 00:13:41 +1100 Subject: Fix "closest" computation for docstrings --- compiler/src/dotty/tools/dotc/parsing/Scanners.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'compiler/src/dotty/tools/dotc/parsing') diff --git a/compiler/src/dotty/tools/dotc/parsing/Scanners.scala b/compiler/src/dotty/tools/dotc/parsing/Scanners.scala index 4b1d02093..65d3fb66c 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Scanners.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Scanners.scala @@ -192,7 +192,9 @@ object Scanners { /** Returns the closest docstring preceding the position supplied */ def getDocComment(pos: Int): Option[Comment] = { def closest(c: Comment, docstrings: List[Comment]): Comment = docstrings match { - case x :: xs if (c.pos.end < x.pos.end && x.pos.end <= pos) => closest(x, xs) + case x :: xs => + if (c.pos.end < x.pos.end && x.pos.end <= pos) closest(x, xs) + else closest(c, xs) case Nil => c } -- cgit v1.2.3