summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2010-02-03 17:03:58 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2010-02-03 17:03:58 +0000
commita6eecfb04532c83a715d520e885250e8de808f9e (patch)
treecbfbf98476467a63c3e28652e767a431655ca46e /src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
parent909924acba60dadee5647e405c0bb9a2676f4a70 (diff)
downloadscala-a6eecfb04532c83a715d520e885250e8de808f9e.tar.gz
scala-a6eecfb04532c83a715d520e885250e8de808f9e.tar.bz2
scala-a6eecfb04532c83a715d520e885250e8de808f9e.zip
[scaladoc] Optional link to source (set paramet...
[scaladoc] Optional link to source (set parameter "-doc-source-url"). Support for commenting packages (using package objects). Contributed by Perdo Furlanetto. Also: small performance improvements, short comment extraction is more robust (but no HTML tags allowed in first sentence), small code clean-ups. Checked by dubochet, no review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast/parser/Parsers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index 58552e18e5..117fbde419 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -2469,11 +2469,15 @@ self =>
val stats = new ListBuffer[Tree]
while (in.token != RBRACE && in.token != EOF) {
if (in.token == PACKAGE) {
- in.flushDoc
val start = in.skipToken()
- stats += {
- if (in.token == OBJECT) makePackageObject(start, objectDef(in.offset, NoMods))
- else packaging(start)
+ stats ++= {
+ if (in.token == OBJECT) {
+ joinComment(List(makePackageObject(start, objectDef(in.offset, NoMods))))
+ }
+ else {
+ in.flushDoc
+ List(packaging(start))
+ }
}
} else if (in.token == IMPORT) {
in.flushDoc
@@ -2631,15 +2635,15 @@ self =>
while (in.token == SEMI) in.nextToken()
val start = in.offset
if (in.token == PACKAGE) {
- in.flushDoc
in.nextToken()
if (in.token == OBJECT) {
- ts += makePackageObject(start, objectDef(in.offset, NoMods))
+ ts ++= joinComment(List(makePackageObject(start, objectDef(in.offset, NoMods))))
if (in.token != EOF) {
acceptStatSep()
ts ++= topStatSeq()
}
} else {
+ in.flushDoc
val pkg = qualId()
newLineOptWhenFollowedBy(LBRACE)
if (in.token == EOF) {