summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/doc/doclet/Generator.scala
blob: 6e4986d7ec8f097d3192c4a917cc192fe0fe4350 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package scala.tools.nsc.doc
package doclet

import scala.collection._

/** Hook into the documentation generation process.  The Doclet receives a model of the code being generated, and
  * can then do whatever it wants with it. */
abstract class Generator {

  val checks: mutable.Set[()=>Boolean] =
    mutable.Set.empty[()=>Boolean]

  /** Called after the model of the generated documentation is created */
  def generate: Unit = {
    assert(checks forall { check => check() })
    generateImpl
  }

  def generateImpl: Unit

}