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 f885910887
commit 2c5a1af236
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;
}