summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonna Malayeri <lindydonna@gmail.com>2010-07-20 16:17:35 +0000
committerDonna Malayeri <lindydonna@gmail.com>2010-07-20 16:17:35 +0000
commit9972040b0f839de21496fb6fcfe5cb761b7e67b0 (patch)
tree2cc5da79b6c71c2e3ae92fe28e1063427b23a1de
parentc386234edfb6489c150fc1797129b2d085804bfa (diff)
downloadscala-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.scala14
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
+ }
}