diff options
author | Dmitry Petrashko <dark@d-d.me> | 2015-07-01 14:43:07 +0200 |
---|---|---|
committer | Dmitry Petrashko <dark@d-d.me> | 2015-07-01 14:43:07 +0200 |
commit | 11b796371b48e14bcb2987bc67089fbf51d88271 (patch) | |
tree | c19858b420d35b0be3bb4382f981c073d74442b4 | |
parent | 65b0c374dccd68ba4362198fc73016c739a782a5 (diff) | |
parent | b50f9abef672221a4706f0819eca2cfc1068751c (diff) | |
download | dotty-11b796371b48e14bcb2987bc67089fbf51d88271.tar.gz dotty-11b796371b48e14bcb2987bc67089fbf51d88271.tar.bz2 dotty-11b796371b48e14bcb2987bc67089fbf51d88271.zip |
Merge pull request #700 from dotty-staging/fix/#689-lifted-modules
Drop Module flag from lifted symbols.
-rw-r--r-- | src/dotty/tools/dotc/transform/LambdaLift.scala | 3 | ||||
-rw-r--r-- | tests/run/i689.scala | 10 | ||||
-rw-r--r-- | tests/run/t8002.scala (renamed from tests/pending/run/t8002.scala) | 0 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/LambdaLift.scala b/src/dotty/tools/dotc/transform/LambdaLift.scala index 043c92737..cefd283be 100644 --- a/src/dotty/tools/dotc/transform/LambdaLift.scala +++ b/src/dotty/tools/dotc/transform/LambdaLift.scala @@ -309,7 +309,8 @@ class LambdaLift extends MiniPhase with IdentityDenotTransformer { thisTransform local.copySymDenotation( owner = newOwner, name = newName(local), - initFlags = local.flags &~ InSuperCall | Private | maybeStatic, + initFlags = local.flags &~ (InSuperCall | Module) | Private | maybeStatic, + // drop Module because class is no longer a singleton in the lifted context. info = liftedInfo(local)).installAfter(thisTransform) if (local.isClass) for (member <- local.asClass.info.decls) diff --git a/tests/run/i689.scala b/tests/run/i689.scala new file mode 100644 index 000000000..262d13852 --- /dev/null +++ b/tests/run/i689.scala @@ -0,0 +1,10 @@ +object Test { + def main(args: Array[String]): Unit = { + object A { + def a = new A + def y = 0 + } + class A { A.y } + A.a + } +} diff --git a/tests/pending/run/t8002.scala b/tests/run/t8002.scala index c27e83a46..c27e83a46 100644 --- a/tests/pending/run/t8002.scala +++ b/tests/run/t8002.scala |