summaryrefslogtreecommitdiff
path: root/src/scaladoc
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2016-08-12 12:08:11 -0700
committerJason Zaugg <jzaugg@gmail.com>2016-08-13 13:27:05 +1000
commit36732d7a14ab246d9ab6b011a0eafe4115978f19 (patch)
tree7687b88bd748372655b5791d8e9d70337035e061 /src/scaladoc
parentad67700b1cc685f115da14a5af759b8859f1e9c2 (diff)
downloadscala-36732d7a14ab246d9ab6b011a0eafe4115978f19.tar.gz
scala-36732d7a14ab246d9ab6b011a0eafe4115978f19.tar.bz2
scala-36732d7a14ab246d9ab6b011a0eafe4115978f19.zip
Javadoc: make parsing of java comments optional
Diffstat (limited to 'src/scaladoc')
-rw-r--r--src/scaladoc/scala/tools/nsc/doc/ScaladocGlobal.scala8
-rw-r--r--src/scaladoc/scala/tools/nsc/doc/Settings.scala7
-rw-r--r--src/scaladoc/scala/tools/partest/ScaladocJavaModelTest.scala15
3 files changed, 27 insertions, 3 deletions
diff --git a/src/scaladoc/scala/tools/nsc/doc/ScaladocGlobal.scala b/src/scaladoc/scala/tools/nsc/doc/ScaladocGlobal.scala
index 625d074df5..10d8286528 100644
--- a/src/scaladoc/scala/tools/nsc/doc/ScaladocGlobal.scala
+++ b/src/scaladoc/scala/tools/nsc/doc/ScaladocGlobal.scala
@@ -13,7 +13,11 @@ trait ScaladocGlobalTrait extends Global {
override val useOffsetPositions = false
override def newUnitParser(unit: CompilationUnit) = new syntaxAnalyzer.ScaladocUnitParser(unit, Nil)
- override def newJavaUnitParser(unit: CompilationUnit) = new syntaxAnalyzer.ScaladocJavaUnitParser(unit)
+ override def newJavaUnitParser(unit: CompilationUnit) = if (createJavadoc) {
+ new syntaxAnalyzer.ScaladocJavaUnitParser(unit)
+ } else {
+ super.newJavaUnitParser(unit)
+ }
override lazy val syntaxAnalyzer = new ScaladocSyntaxAnalyzer[outer.type](outer) {
val runsAfter = List[String]()
@@ -41,7 +45,7 @@ class ScaladocGlobal(settings: doc.Settings, reporter: Reporter) extends Global(
phasesSet += analyzer.typerFactory
}
override def forScaladoc = true
- override def createJavadoc = true
+ override def createJavadoc = if (settings.docNoJavaComments.value) false else true
override lazy val analyzer = new {
val global: ScaladocGlobal.this.type = ScaladocGlobal.this
diff --git a/src/scaladoc/scala/tools/nsc/doc/Settings.scala b/src/scaladoc/scala/tools/nsc/doc/Settings.scala
index 59380dd782..063a949323 100644
--- a/src/scaladoc/scala/tools/nsc/doc/Settings.scala
+++ b/src/scaladoc/scala/tools/nsc/doc/Settings.scala
@@ -213,6 +213,11 @@ class Settings(error: String => Unit, val printMsg: String => Unit = println(_))
"Group similar functions together (based on the @group annotation)"
)
+ val docNoJavaComments = BooleanSetting (
+ "-no-java-comments",
+ "Prevents parsing and inclusion of comments from java sources."
+ )
+
// For improved help output.
def scaladocSpecific = Set[Settings#Setting](
docformat, doctitle, docfooter, docversion, docUncompilable, docsourceurl, docgenerator, docRootContent, useStupidTypes,
@@ -222,7 +227,7 @@ class Settings(error: String => Unit, val printMsg: String => Unit = println(_))
docImplicits, docImplicitsDebug, docImplicitsShowAll, docImplicitsHide, docImplicitsSoundShadowing,
docDiagramsMaxNormalClasses, docDiagramsMaxImplicitClasses,
docNoPrefixes, docNoLinkWarnings, docRawOutput, docSkipPackages,
- docExpandAllTypes, docGroups
+ docExpandAllTypes, docGroups, docNoJavaComments
)
val isScaladocSpecific: String => Boolean = scaladocSpecific map (_.name)
diff --git a/src/scaladoc/scala/tools/partest/ScaladocJavaModelTest.scala b/src/scaladoc/scala/tools/partest/ScaladocJavaModelTest.scala
new file mode 100644
index 0000000000..1008be5b87
--- /dev/null
+++ b/src/scaladoc/scala/tools/partest/ScaladocJavaModelTest.scala
@@ -0,0 +1,15 @@
+package scala.tools.partest
+
+import scala.tools.nsc.doc.Universe
+
+/** A class for testing scaladoc model generation on java sources. */
+abstract class ScaladocJavaModelTest extends ScaladocModelTest {
+
+ // overridden to pass explicit files to newDocFactory.makeUniverse (rather than code strings)
+ // since the .java file extension is required
+ override def model: Option[Universe] = {
+ val path = resourcePath + "/" + resourceFile
+ newDocFactory.makeUniverse(Left(List(path)))
+ }
+
+}