diff options
author | Martin Odersky <odersky@gmail.com> | 2014-09-05 02:56:06 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-09-05 02:57:00 +0200 |
commit | dc02760eac04accb9e0d5e34128f4c79cfa8c327 (patch) | |
tree | 1b048975e008a02ca7832a93cff2c987981a2cbb /tests/pos | |
parent | 652a7e5d5a1db429a7270049d51ca63f494ee64b (diff) | |
download | dotty-dc02760eac04accb9e0d5e34128f4c79cfa8c327.tar.gz dotty-dc02760eac04accb9e0d5e34128f4c79cfa8c327.tar.bz2 dotty-dc02760eac04accb9e0d5e34128f4c79cfa8c327.zip |
Partially reverting of 08c6eaca
Partial revert of 08c6eaca "this type is a term ref to the source module". The problem with
doing this is that it introduces spurious outer references. An inner module that contains
self referenves always needs the directly enclosing class. The revert avoids this dependency
by making ThisTypes always point to TypeRefs.
Several other changes were necessary to make the builds pass: TypeRefs had to get prefixes after
erasure so that they can be reloaded. Symbols of such typerefs had to be retrieved without forcing
a denotation.
One test (blockescapes.scala) fails and is moved to pending, awaiting further resolution.
Also two other new tests in pending which currently fail (and have failed before).
Diffstat (limited to 'tests/pos')
-rw-r--r-- | tests/pos/blockescapes.scala | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/tests/pos/blockescapes.scala b/tests/pos/blockescapes.scala deleted file mode 100644 index 35d40974b..000000000 --- a/tests/pos/blockescapes.scala +++ /dev/null @@ -1,11 +0,0 @@ -object blockescapes { - - { val x = 0; () } - val x0 = { class Foo; new Foo } - val x1 = {} - val x2 = { val z = 0 } - val m1 = { val x = 2; x } - - trait T - def m0: T = { object Foo { class Bar extends T } ; new Foo.Bar } -}
\ No newline at end of file |