summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2010-05-04 16:59:28 +0000
committerIulian Dragos <jaguarul@gmail.com>2010-05-04 16:59:28 +0000
commit2c45d41b37176fdf140964e88ee49f3af55c37f9 (patch)
treebc797197b2aff8e3fea1235d0f85f9e3bdb5c25f
parenta01b81352f9f6bec4277044b3265dab79f545441 (diff)
downloadscala-2c45d41b37176fdf140964e88ee49f3af55c37f9.tar.gz
scala-2c45d41b37176fdf140964e88ee49f3af55c37f9.tar.bz2
scala-2c45d41b37176fdf140964e88ee49f3af55c37f9.zip
Closes #3387. no review.
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala2
-rw-r--r--test/files/pos/spec-private.scala10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index d27aaba44b..fb3eba823b 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -1242,7 +1242,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
if (sym.hasFlag(PRIVATE))
log("seeing private member " + sym + " targetClass: " + targetClass + " owner: " + sym.owner.enclClass)
if (sym.hasFlag(PRIVATE | PROTECTED) && !nme.isLocalName(sym.name)
- && (targetClass != sym.owner.enclClass)) {
+ && (currentClass != sym.owner.enclClass)) {
log("changing private flag of " + sym)
// tree.symbol.resetFlag(PRIVATE).setFlag(PROTECTED)
sym.makeNotPrivate(sym.owner)
diff --git a/test/files/pos/spec-private.scala b/test/files/pos/spec-private.scala
new file mode 100644
index 0000000000..7d53bad955
--- /dev/null
+++ b/test/files/pos/spec-private.scala
@@ -0,0 +1,10 @@
+class Foo {
+
+ def foo[@specialized(Int) T](x: T) = new Object {
+ private final val myEdges = List(1, 2 , 3)
+
+ def boo {
+ myEdges
+ }
+ }
+}