diff options
author | Adriaan Moors <adriaan@lightbend.com> | 2016-09-01 10:41:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-01 10:41:28 +0200 |
commit | f90bf565a529d0e95155992a3c243952183f25a5 (patch) | |
tree | 151f8d8d79dba64a96d12b1c4a9c4fa38269dcf8 /src/library | |
parent | 45edf8699f76faa5d1b035fb8f887621bcbb9934 (diff) | |
parent | 743f0d2c2a33bc8ab0c1f7bee796865672ba2fcc (diff) | |
download | scala-f90bf565a529d0e95155992a3c243952183f25a5.tar.gz scala-f90bf565a529d0e95155992a3c243952183f25a5.tar.bz2 scala-f90bf565a529d0e95155992a3c243952183f25a5.zip |
Merge pull request #5294 from adriaanm/fields-lazies
Fields: expand lazy vals during fields, like modules
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/runtime/LazyRef.scala | 52 |
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 +} |