Skip to content

Java method parameter generic signature error for FunctionXXL #3653

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
He-Pin opened this issue Dec 11, 2017 · 0 comments · Fixed by #4287
Closed

Java method parameter generic signature error for FunctionXXL #3653

He-Pin opened this issue Dec 11, 2017 · 0 comments · Fixed by #4287

Comments

@He-Pin
Copy link
Contributor

He-Pin commented Dec 11, 2017

First found by @Glavo

Here:https://github.com/Glavo/FunctionXXL

The FunctionXXL 's singnature is Function{$arityNumbers},which will cause an ClassNotFound exception when call Parameter#getParameterizedType method.

scala> res13(0).getType
val res17: Class[_] = interface scala.FunctionXXL

scala> res13(0).getParameterizedType
java.lang.TypeNotPresentException: Type scala.Function26 not present

dotc with veriry-generic-signature will not found any error .

dotc version:0.5.rc1

cc @Glavo

@Duhemm Duhemm self-assigned this Dec 11, 2017
Duhemm added a commit to dotty-staging/dotty that referenced this issue Apr 10, 2018
We were encoding the generic Java signature of `FunctionN`s' with more
than P parameters as `FunctionP<..params..>` (which doesn't exist), but
in the bytecode, FunctionXXL is used instead.

This commit fixes that, so that the generic signature matches
`FunctionXXL`.
allanrenucci added a commit that referenced this issue Apr 10, 2018
Fix #3653: generic Java signature of FunctionXXL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants