summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-05-16 20:28:02 -0700
committerPaul Phillips <paulp@improving.org>2013-05-16 20:31:36 -0700
commit37884ecf9aec149a180a2e560f6a0b99145b91ea (patch)
tree66d5d8cf7c94e9aef3e86b7609cd8e37aa7abff0
parent13b4628aabb8e7a293a382dcab6db5848f672f94 (diff)
downloadscala-37884ecf9aec149a180a2e560f6a0b99145b91ea.tar.gz
scala-37884ecf9aec149a180a2e560f6a0b99145b91ea.tar.bz2
scala-37884ecf9aec149a180a2e560f6a0b99145b91ea.zip
SI-7482 Don't cook raw types after erasure.
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala2
-rw-r--r--test/files/run/t7482a.check14
-rw-r--r--test/files/run/t7482a.scala8
3 files changed, 23 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala
index 9c706f650e..63f086a68c 100644
--- a/src/reflect/scala/reflect/internal/Symbols.scala
+++ b/src/reflect/scala/reflect/internal/Symbols.scala
@@ -1500,7 +1500,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
*/
def cookJavaRawInfo(): Unit = {
// only try once...
- if (this hasFlag TRIEDCOOKING)
+ if (phase.erasedTypes || (this hasFlag TRIEDCOOKING))
return
this setFlag TRIEDCOOKING
diff --git a/test/files/run/t7482a.check b/test/files/run/t7482a.check
new file mode 100644
index 0000000000..b26e685784
--- /dev/null
+++ b/test/files/run/t7482a.check
@@ -0,0 +1,14 @@
+Type in expressions to have them evaluated.
+Type :help for more information.
+
+scala>
+
+scala> val v: java.util.ArrayList[String] = new java.util.ArrayList[String](5)
+v: java.util.ArrayList[String] = []
+
+scala> val v: java.util.ArrayList[String] = new java.util.ArrayList[String](5)
+v: java.util.ArrayList[String] = []
+
+scala>
+
+scala>
diff --git a/test/files/run/t7482a.scala b/test/files/run/t7482a.scala
new file mode 100644
index 0000000000..d674558b98
--- /dev/null
+++ b/test/files/run/t7482a.scala
@@ -0,0 +1,8 @@
+import scala.tools.partest.ReplTest
+
+object Test extends ReplTest {
+ override def code = """
+ val v: java.util.ArrayList[String] = new java.util.ArrayList[String](5)
+ val v: java.util.ArrayList[String] = new java.util.ArrayList[String](5)
+ """
+} \ No newline at end of file