summaryrefslogtreecommitdiff
path: root/test/files/run/t7932.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-02-18 13:19:22 +0100
committerJason Zaugg <jzaugg@gmail.com>2014-02-18 13:19:22 +0100
commit4f4ee871c9f57d94bc954a5d372736849edb7901 (patch)
tree127e3ddbb17970f62ffa1e7f838e3287e7ba44ad /test/files/run/t7932.scala
parent8536c3148d5a6283b580a905ca4231e852525d59 (diff)
downloadscala-4f4ee871c9f57d94bc954a5d372736849edb7901.tar.gz
scala-4f4ee871c9f57d94bc954a5d372736849edb7901.tar.bz2
scala-4f4ee871c9f57d94bc954a5d372736849edb7901.zip
SI-7932 Exclude PolyTypes from Java generic signatures
In the enclosed test case, we were emitting just the result type of `[a, b]Float` in the Java generic signature. This resulted in a `GenericSignatureFormatError`. This commit changes `argSig` to project such type functions to `*` instead. The test case shows that we still emit the class when we use its type constructor directly as the type argument.
Diffstat (limited to 'test/files/run/t7932.scala')
-rw-r--r--test/files/run/t7932.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/files/run/t7932.scala b/test/files/run/t7932.scala
new file mode 100644
index 0000000000..8743abff88
--- /dev/null
+++ b/test/files/run/t7932.scala
@@ -0,0 +1,11 @@
+class Category[M[_, _]]
+trait M[F] {
+ type X[a, b] = F
+ def category: Category[X] = null
+ def category1: Category[Tuple2] = null
+}
+abstract class C extends M[Float]
+object Test extends App {
+ val ms = classOf[C].getMethods.filter(_.getName.startsWith("category"))
+ println(ms.map(_.toGenericString).sorted.mkString("\n"))
+}