summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorHeather Miller <heather.miller@epfl.ch>2012-05-07 11:45:56 +0200
committerHeather Miller <heather.miller@epfl.ch>2012-05-07 11:45:56 +0200
commit706f19ae614b36715ad4515cbe85166f8a19758b (patch)
treec5cffc23a8f6f3daa00097728f0b6ac1efc6f51a /src/library
parent8d4b5034c0ca2eb97473c0bc5775fe38e44c9df0 (diff)
downloadscala-706f19ae614b36715ad4515cbe85166f8a19758b.tar.gz
scala-706f19ae614b36715ad4515cbe85166f8a19758b.tar.bz2
scala-706f19ae614b36715ad4515cbe85166f8a19758b.zip
Fixes SI-5199 through improved API docs
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/DelayedInit.scala32
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