summaryrefslogtreecommitdiff
path: root/src/library/scala/runtime/LazyRef.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/runtime/LazyRef.scala')
-rw-r--r--src/library/scala/runtime/LazyRef.scala52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/library/scala/runtime/LazyRef.scala b/src/library/scala/runtime/LazyRef.scala
new file mode 100644
index 0000000000..3cd2d2d06b
--- /dev/null
+++ b/src/library/scala/runtime/LazyRef.scala
@@ -0,0 +1,52 @@
+package scala.runtime
+
+/* Classes used as holders for local lazy vals */
+
+class LazyRef[T] {
+ var value: T = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyBoolean {
+ var value: Boolean = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyByte {
+ var value: Byte = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyChar {
+ var value: Char = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyShort {
+ var value: Short = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyInt {
+ var value: Int = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyLong {
+ var value: Long = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyFloat {
+ var value: Float = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyDouble {
+ var value: Double = _
+ @volatile var initialized: Boolean = false
+}
+
+class LazyUnit {
+ @volatile var initialized: Boolean = false
+}