Leverage Java reflection for Kotlin enums

As discussed in KT-25165, from a Kotlin POV enum constructors
have no parameter, this is an "implementation detail"
required for running on the JVM, so it seems relevant to skip
Kotlin reflection in that case and just delegate to Java
reflection.

Issue: SPR-16931
This commit is contained in:
Sebastien Deleuze
2018-10-16 16:40:02 +02:00
parent 38490f13b1
commit 73db2081cd
2 changed files with 37 additions and 1 deletions

View File

@@ -58,7 +58,7 @@ public class KotlinReflectionParameterNameDiscoverer implements ParameterNameDis
@Override
@Nullable
public String[] getParameterNames(Constructor<?> ctor) {
if (!KotlinDetector.isKotlinType(ctor.getDeclaringClass())) {
if (ctor.getDeclaringClass().isEnum() || !KotlinDetector.isKotlinType(ctor.getDeclaringClass())) {
return null;
}