PT #158305140 Fix more errors around bean type properties

This commit is contained in:
BoykoAlex
2018-06-13 10:57:26 -04:00
parent e11e1196ef
commit 596c617202
2 changed files with 14 additions and 3 deletions

View File

@@ -19,6 +19,8 @@ import java.util.stream.Stream;
import org.jboss.jandex.AnnotationInstance;
import org.jboss.jandex.ClassInfo;
import org.jboss.jandex.DotName;
import org.jboss.jandex.FieldInfo;
import org.jboss.jandex.MethodInfo;
import org.jboss.jandex.Type;
import org.springframework.ide.vscode.commons.java.Flags;
import org.springframework.ide.vscode.commons.java.IAnnotation;
@@ -103,7 +105,8 @@ class TypeImpl implements IType {
@Override
public IField getField(String name) {
return Wrappers.wrap(this, info.field(name), javadocProvider);
FieldInfo fieldInfo = info.field(name);
return fieldInfo == null ? null : Wrappers.wrap(this, fieldInfo, javadocProvider);
}
@Override
@@ -116,7 +119,8 @@ class TypeImpl implements IType {
@Override
public IMethod getMethod(String name, Stream<IJavaType> parameters) {
List<Type> typeParameters = parameters.map(Wrappers::from).collect(Collectors.toList());
return Wrappers.wrap(this, info.method(name, typeParameters.toArray(new Type[typeParameters.size()])), javadocProvider);
MethodInfo methodInfo = info.method(name, typeParameters.toArray(new Type[typeParameters.size()]));
return methodInfo == null ? null : Wrappers.wrap(this, methodInfo, javadocProvider);
}
@Override

View File

@@ -839,9 +839,16 @@ public class TypeUtil {
IType type = findType(beanType);
IMethod m = type.getMethod(getterName, Stream.empty());
if (m.exists()) {
if (m != null && m.exists()) {
return m;
}
getterName = "is" + StringUtil.hyphensToCamelCase(propName, true);
m = type.getMethod(getterName, Stream.empty());
if (m != null && m.exists()) {
return m;
}
return null;
}