Support non-standard classes in Kotlin reflection discovery methods

Issue: SPR-15999
This commit is contained in:
Sebastien Deleuze
2017-09-24 22:44:07 +02:00
parent 65f556c0e2
commit 3996f33399
3 changed files with 35 additions and 15 deletions

View File

@@ -62,8 +62,13 @@ public class KotlinReflectionParameterNameDiscoverer implements ParameterNameDis
if (!useKotlinSupport(method.getDeclaringClass())) {
return null;
}
KFunction<?> function = ReflectJvmMapping.getKotlinFunction(method);
return (function != null ? getParameterNames(function.getParameters()) : null);
try {
KFunction<?> function = ReflectJvmMapping.getKotlinFunction(method);
return (function != null ? getParameterNames(function.getParameters()) : null);
}
catch (UnsupportedOperationException ex) {
return null;
}
}
@Override
@@ -72,8 +77,13 @@ public class KotlinReflectionParameterNameDiscoverer implements ParameterNameDis
if (!useKotlinSupport(ctor.getDeclaringClass())) {
return null;
}
KFunction<?> function = ReflectJvmMapping.getKotlinFunction(ctor);
return (function != null ? getParameterNames(function.getParameters()) : null);
try {
KFunction<?> function = ReflectJvmMapping.getKotlinFunction(ctor);
return (function != null ? getParameterNames(function.getParameters()) : null);
}
catch (UnsupportedOperationException ex) {
return null;
}
}
@Nullable