Skip to content
Permalink
Browse files

Fixes SI-5199 through improved API docs

  • Loading branch information
heathermiller committed May 7, 2012
1 parent 8d4b503 commit 706f19ae614b36715ad4515cbe85166f8a19758b
Showing with 29 additions and 3 deletions.
  1. +29 −3 src/library/scala/DelayedInit.scala
@@ -8,15 +8,41 @@

package scala

/** Classes and traits inheriting the `DelayedInit` marker trait
* will have their initialization code rewritten as follows:
/** Classes and objects (but note, not traits) inheriting the `DelayedInit`
* marker trait will have their initialization code rewritten as follows:
* `code` becomes `delayedInit(code)`.
*
* Initialization code comprises all statements and all value definitions
* that are executed during initialization.
*
* Example:
* {{{
* trait Helper extends DelayedInit {
* def delayedInit(body: => Unit) = {
* println("dummy text, printed before initialization of C")
* body // evaluates the initialization code of C
* }
* }
*
* class C extends Helper {
* println("this is the initialization code of C")
* }
*
* object Test extends App {
* val c = new C
* }
* }}}
*
* Should result in the following being printed:
* {{{
* dummy text, printed before initialization of C
* this is the initialization code of C
* }}}
*
* @see "Delayed Initialization" subsection of the Scala Language Specification (section 5.1)
*
* @author Martin Odersky
*/
trait DelayedInit {
def delayedInit(x: => Unit): Unit
}
}

0 comments on commit 706f19a

Please sign in to comment.
You can’t perform that action at this time.