diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-02-18 13:19:22 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-02-18 13:19:22 +0100 |
commit | 4f4ee871c9f57d94bc954a5d372736849edb7901 (patch) | |
tree | 127e3ddbb17970f62ffa1e7f838e3287e7ba44ad /test/files | |
parent | 8536c3148d5a6283b580a905ca4231e852525d59 (diff) | |
download | scala-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')
-rw-r--r-- | test/files/run/t7932.check | 3 | ||||
-rw-r--r-- | test/files/run/t7932.scala | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/test/files/run/t7932.check b/test/files/run/t7932.check new file mode 100644 index 0000000000..13d64f1d3c --- /dev/null +++ b/test/files/run/t7932.check @@ -0,0 +1,3 @@ +warning: there were 1 feature warning(s); re-run with -feature for details +public Category<?> C.category() +public Category<scala.Tuple2> C.category1() 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")) +} |