diff options
author | Donna Malayeri <lindydonna@gmail.com> | 2010-07-20 16:17:35 +0000 |
---|---|---|
committer | Donna Malayeri <lindydonna@gmail.com> | 2010-07-20 16:17:35 +0000 |
commit | 9972040b0f839de21496fb6fcfe5cb761b7e67b0 (patch) | |
tree | 2cc5da79b6c71c2e3ae92fe28e1063427b23a1de | |
parent | c386234edfb6489c150fc1797129b2d085804bfa (diff) | |
download | scala-9972040b0f839de21496fb6fcfe5cb761b7e67b0.tar.gz scala-9972040b0f839de21496fb6fcfe5cb761b7e67b0.tar.bz2 scala-9972040b0f839de21496fb6fcfe5cb761b7e67b0.zip |
[scaladoc] Don't generate documentation for emp...
[scaladoc] Don't generate documentation for empty Java companion
objects. No review.
-rw-r--r-- | src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala index 87242eebf5..08fbc46789 100644 --- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala +++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala @@ -211,7 +211,8 @@ class ModelFactory(val global: Global, val settings: doc.Settings) { thisFactory def isDocTemplate = true def companion = sym.companionSymbol match { case NoSymbol => None - case comSym => Some(makeDocTemplate(comSym, inTpl)) + case comSym if !isEmptyJavaObject(comSym) => Some(makeDocTemplate(comSym, inTpl)) + case _ => None } } @@ -540,10 +541,15 @@ class ModelFactory(val global: Global, val settings: doc.Settings) { thisFactory def templateShouldDocument(aSym: Symbol): Boolean = { // TODO: document sourceless entities (e.g., Any, etc), based on a new Setting to be added (aSym.isPackageClass || (aSym.sourceFile != null)) && localShouldDocument(aSym) && - ( aSym.owner == NoSymbol || templateShouldDocument(aSym.owner) ) + ( aSym.owner == NoSymbol || templateShouldDocument(aSym.owner) ) && !isEmptyJavaObject(aSym) } - def localShouldDocument(aSym: Symbol): Boolean = - !aSym.isPrivate && (aSym.isProtected || aSym.privateWithin == NoSymbol) && !aSym.isSynthetic + def isEmptyJavaObject(aSym: Symbol): Boolean = { + val hasMembers = aSym.info.members.exists(s => localShouldDocument(s) && (!s.isConstructor || s.owner == aSym)) + aSym.isModule && aSym.hasFlag(Flags.JAVA) && !hasMembers + } + def localShouldDocument(aSym: Symbol): Boolean = { + !aSym.isPrivate && (aSym.isProtected || aSym.privateWithin == NoSymbol) && !aSym.isSynthetic + } } |