Closed TheLastRar closed 1 year ago
Try as I might, I can't get this to reproduce in 8.5.2. Do you have any special compilation steps or anything?
Built a test case on a branch to give it a go:
That's statically compiled, and runs fine. But it's nested classes.
Tried with non nested.
Tried with command line with java.exe.
A jar is run on command line with java.exe.
Code is compiled and exported into a jar using eclipse configured with OpenJDK 8, I've now compiled the class file directly with command line, with no extra arguments, running the resulting class file produces the same result, so eclipse isn't doing something funky here.
Looking at the code pointed to by the stack trace, I see different code is used in ResolveMethod
between net461 and netcore3.1, so I retested both versions
The net461 build of 8.5.2 works correctly the netcore3.1 build of 8.5.2 fails and produces the stack trace I got above.
Are you still unable to reproduce?
I did get it to reproduce. Just been busy on other tihngs.
IKVM version : IKVM-8.5.2-image-netcoreapp3.1-win7-x64
Where a method is overridden with a covariant return type, both the original and new signature will be present in the array returned from
getMethods()
(IKVM matching JVM here)When such a method is retrieved (either for the original or overridden return type). and then invoked, IKVM will encounter a
AmbiguousMatchException
.Given Java code
JVM produces this
IKVM produces this