summaryrefslogtreecommitdiff
path: root/test/files/run/t6888.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-02-05 11:31:35 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-02-05 12:27:57 +0100
commitb579a42ee3c079e9acf53b74085ae01ac6c35f0f (patch)
treec67100c6a6c4eba0d75ad8b36067b56af07fa356 /test/files/run/t6888.scala
parent81d8f9d3da656cfb05f125ba7cf70ca51a477240 (diff)
downloadscala-b579a42ee3c079e9acf53b74085ae01ac6c35f0f.tar.gz
scala-b579a42ee3c079e9acf53b74085ae01ac6c35f0f.tar.bz2
scala-b579a42ee3c079e9acf53b74085ae01ac6c35f0f.zip
SI-6888 Loosen criteria for $outer search.
In order to cater for nested classes with names that end with '$', which lead to ambiguity when unmangling expanded names. In: class X { object $ } We end up with: orginalName(X$$$$$outer) = $$$outer This change modifies `outerSource` to consider that to be and outer accessor name. It is a piecemeal fix, and no doubt there are other nasty surprises in store for those inclined to flash their $$$ in identifier names, but the method changed is not used widely and this solves the reported problem. SI-2806 remains open to address the deeper problem.
Diffstat (limited to 'test/files/run/t6888.scala')
-rw-r--r--test/files/run/t6888.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/run/t6888.scala b/test/files/run/t6888.scala
new file mode 100644
index 0000000000..0c64cbe5b6
--- /dev/null
+++ b/test/files/run/t6888.scala
@@ -0,0 +1,19 @@
+class C {
+ val x = 1
+ object $ {
+ val y = x + x
+ class abc$ {
+ def xy = x + y
+ }
+ object abc$ {
+ def xy = x + y
+ }
+ }
+}
+
+object Test extends App {
+ val c = new C()
+ println(c.$.y)
+ println(c.$.abc$.xy)
+ println(new c.$.abc$().xy)
+}