diff options
author | Heather Miller <heather.miller@epfl.ch> | 2012-05-07 11:45:56 +0200 |
---|---|---|
committer | Heather Miller <heather.miller@epfl.ch> | 2012-05-07 11:45:56 +0200 |
commit | 706f19ae614b36715ad4515cbe85166f8a19758b (patch) | |
tree | c5cffc23a8f6f3daa00097728f0b6ac1efc6f51a /src | |
parent | 8d4b5034c0ca2eb97473c0bc5775fe38e44c9df0 (diff) | |
download | scala-706f19ae614b36715ad4515cbe85166f8a19758b.tar.gz scala-706f19ae614b36715ad4515cbe85166f8a19758b.tar.bz2 scala-706f19ae614b36715ad4515cbe85166f8a19758b.zip |
Fixes SI-5199 through improved API docs
Diffstat (limited to 'src')
-rw-r--r-- | src/library/scala/DelayedInit.scala | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/src/library/scala/DelayedInit.scala b/src/library/scala/DelayedInit.scala index e898bca720..52a38ca6f7 100644 --- a/src/library/scala/DelayedInit.scala +++ b/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 -} +}
\ No newline at end of file |