From 3f0a90bd53cd1fc85891cf2673318c3a91f713bc Mon Sep 17 00:00:00 2001 From: Som Snytt Date: Wed, 17 Apr 2013 13:11:18 -0700 Subject: SI-7376 Unmoored doc has correct position The unmoored DocComment is created more eagerly so that its position is correct despite subsequent line comments. (Previously, skipComment would advance docPos.) It looks like the error caret is still off by one when a doc comment shows up in the middle of an operator, and who doesn't scaladoc the interior of expressions? Another bug fixed by Paul's refactor is that additional comments between the doc and the entity no longer breaks the scaladoc. Test added. --- test/scaladoc/run/t5527.check | 20 +++++++++++++++++++- test/scaladoc/run/t5527.scala | 25 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/scaladoc/run/t5527.check b/test/scaladoc/run/t5527.check index 54595652cd..235e73b5c8 100644 --- a/test/scaladoc/run/t5527.check +++ b/test/scaladoc/run/t5527.check @@ -1,6 +1,12 @@ newSource1:47: warning: discarding unmoored doc comment /** Document this crucial constant for posterity. ^ +newSource1:64: warning: discarding unmoored doc comment + /*************************\ + ^ +newSource1:73: warning: discarding unmoored doc comment + val i = 10 */** Important! + ^ [[syntax trees at end of parser]] // newSource1 package { object UselessComments extends scala.AnyRef { @@ -54,6 +60,14 @@ package { def test7 = { val u = 4; 0.to(u).foreach(((i) => println(i))) + }; + def test8 = { + val z = "fancy"; + z.replace("fanc", "arts") + }; + def test9 = { + val i = 10.$times(10); + assert(i.$eq$eq(100)) } }; /** comments that we should keep */ @@ -108,7 +122,11 @@ package { super.(); () } - } + }; + /** Get the simple value. + * @return the default value + */ + def value: Int = 7 } } diff --git a/test/scaladoc/run/t5527.scala b/test/scaladoc/run/t5527.scala index af0c1f8d36..60ae23c1a7 100644 --- a/test/scaladoc/run/t5527.scala +++ b/test/scaladoc/run/t5527.scala @@ -72,6 +72,24 @@ object Test extends DirectTest { for (i <- 0 to u) println(i) } + def test8 = { + /*************************\ + * Fancy ASCII Art Block * + * @author som-snytt * + \*************************/ + // this is just a local + val z = "fancy" + z replace ("fanc", "arts") + } + def test9 = { + val i = 10 */** Important! + * We have to multiply here! + * @author community + * @see SI-1234 + */ + 10 + assert(i == 100) + } } /** comments that we should keep */ @@ -108,6 +126,13 @@ object Test extends DirectTest { /** class D */ @deprecated("use ... instead", "2.10.0") class D + + /** Get the simple value. + * @return the default value + */ + // an intervening line comment + /* I had more to say, but didn't want to pollute the scaladoc. */ + def value: Int = 7 } """.trim -- cgit v1.2.3