aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/unpickleScala2
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-09-29 18:18:34 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-09-29 18:18:34 +0200
commitffe77a4364e7a4bfa7fdcc9e1fa75bd4fcd8abb7 (patch)
tree4b56366238d71b3a65d56e45e008f65fb9e1f173 /src/dotty/tools/dotc/core/unpickleScala2
parent49eac6eab9a58a7d59088db91e104a8f3b0ecd78 (diff)
downloaddotty-ffe77a4364e7a4bfa7fdcc9e1fa75bd4fcd8abb7.tar.gz
dotty-ffe77a4364e7a4bfa7fdcc9e1fa75bd4fcd8abb7.tar.bz2
dotty-ffe77a4364e7a4bfa7fdcc9e1fa75bd4fcd8abb7.zip
UnpickleScala2: Scala modules do not set Lazy Flag.
Dotty modules do.
Diffstat (limited to 'src/dotty/tools/dotc/core/unpickleScala2')
-rw-r--r--src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala b/src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala
index b080a97b6..0f5d4bb91 100644
--- a/src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala
+++ b/src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala
@@ -287,7 +287,7 @@ object PickleBuffer {
val shift = ChunkBits
val mask = ChunkSize - 1
assert(6 * ChunkBits == ScalaFlagEnd)
- FlagSet(
+ val t = FlagSet(
map(0)((sflags >>> (shift * 0)).toInt & mask) |
map(1)((sflags >>> (shift * 1)).toInt & mask) |
map(2)((sflags >>> (shift * 2)).toInt & mask) |
@@ -295,5 +295,8 @@ object PickleBuffer {
map(4)((sflags >>> (shift * 4)).toInt & mask) |
map(5)((sflags >>> (shift * 5)).toInt & mask)
)
+ if (!isType && t.is(Module, Lazy))
+ t | Lazy // scala2 modules do not always set lazy flag. Dotty modules do
+ else t
}
}