Ignore getters for Kotlin types deviating from Java Beans spec.
We now ignore Kotlin getters that are either static methods or would require additional arguments. Closes #3109
This commit is contained in:
@@ -28,6 +28,7 @@ import java.beans.IntrospectionException;
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.beans.SimpleBeanInfo;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
@@ -68,6 +69,10 @@ public class KotlinBeanInfoFactory implements BeanInfoFactory, Ordered {
|
||||
Method getter = ReflectJvmMapping.getJavaGetter(property);
|
||||
Method setter = property instanceof KMutableProperty<?> kmp ? ReflectJvmMapping.getJavaSetter(kmp) : null;
|
||||
|
||||
if (getter != null && (Modifier.isStatic(getter.getModifiers()) || getter.getParameterCount() != 0)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (getter != null && setter != null && setter.getParameterCount() == 1) {
|
||||
if (!getter.getReturnType().equals(setter.getParameters()[0].getType())) {
|
||||
// filter asymmetric getters/setters from being considered a Java Beans property
|
||||
|
||||
Reference in New Issue
Block a user