Fix handling of value class with private constructor

See gh-32536
This commit is contained in:
T45K
2024-03-26 21:49:38 +09:00
committed by Sébastien Deleuze
parent 88b9c0567d
commit b28153e1d7
6 changed files with 65 additions and 3 deletions

View File

@@ -319,7 +319,9 @@ public class InvocableHandlerMethod extends HandlerMethod {
KType type = parameter.getType();
if (!(type.isMarkedNullable() && arg == null) && type.getClassifier() instanceof KClass<?> kClass
&& KotlinDetector.isInlineClass(JvmClassMappingKt.getJavaClass(kClass))) {
arg = KClasses.getPrimaryConstructor(kClass).call(arg);
KFunction<?> valueClassConstructor = KClasses.getPrimaryConstructor(kClass);
KCallablesJvm.setAccessible(valueClassConstructor, true);
arg = valueClassConstructor.call(arg);
}
argMap.put(parameter, arg);
}