mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Javafx: Cleanup. Use utility methods, extract lambda, rename utility method (IDEA-103956)
This commit is contained in:
@@ -344,7 +344,7 @@ public class JavaFxPsiUtil {
|
||||
if (descriptor != null) {
|
||||
final PsiElement declaration = descriptor.getDeclaration();
|
||||
if (declaration instanceof PsiClass) {
|
||||
return !collectProperties((PsiClass)declaration).containsKey(attributeName);
|
||||
return !collectWritableProperties((PsiClass)declaration).containsKey(attributeName);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -719,7 +719,7 @@ public class JavaFxPsiUtil {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Map<String, PsiMember> collectProperties(@Nullable PsiClass psiClass) {
|
||||
public static Map<String, PsiMember> collectWritableProperties(@Nullable PsiClass psiClass) {
|
||||
if (psiClass != null) {
|
||||
return CachedValuesManager.getCachedValue(psiClass, () ->
|
||||
CachedValueProvider.Result.create(prepareWritableProperties(psiClass), PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT));
|
||||
@@ -785,21 +785,13 @@ public class JavaFxPsiUtil {
|
||||
|
||||
@Nullable
|
||||
private static String getPropertyNameFromNamedArgAnnotation(@NotNull PsiParameter parameter) {
|
||||
final PsiModifierList modifierList = parameter.getModifierList();
|
||||
if (modifierList == null) return null;
|
||||
for (PsiAnnotation annotation : modifierList.getAnnotations()) {
|
||||
if (JavaFxCommonNames.JAVAFX_BEANS_NAMED_ARG.equals(annotation.getQualifiedName())) {
|
||||
for (PsiNameValuePair pair : annotation.getParameterList().getAttributes()) {
|
||||
final PsiIdentifier nameIdentifier = pair.getNameIdentifier();
|
||||
if (nameIdentifier == null || JavaFxCommonNames.VALUE.equals(nameIdentifier.getText())) {
|
||||
final PsiAnnotationMemberValue psiValue = pair.getValue();
|
||||
if (psiValue instanceof PsiLiteralExpression) {
|
||||
final Object value = ((PsiLiteralExpression)psiValue).getValue();
|
||||
if (value instanceof String) {
|
||||
return (String)value;
|
||||
}
|
||||
}
|
||||
}
|
||||
final PsiAnnotation annotation = AnnotationUtil.findAnnotation(parameter, JavaFxCommonNames.JAVAFX_BEANS_NAMED_ARG);
|
||||
if (annotation != null) {
|
||||
final PsiAnnotationMemberValue psiValue = annotation.findAttributeValue(JavaFxCommonNames.VALUE);
|
||||
if (psiValue instanceof PsiLiteralExpression) {
|
||||
final Object value = ((PsiLiteralExpression)psiValue).getValue();
|
||||
if (value instanceof String) {
|
||||
return (String)value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -7,7 +7,6 @@ import com.intellij.psi.xml.*;
|
||||
import com.intellij.xml.XmlAttributeDescriptor;
|
||||
import com.intellij.xml.XmlElementDescriptor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.javaFX.fxml.JavaFxCommonNames;
|
||||
import org.jetbrains.plugins.javaFX.fxml.JavaFxFileTypeFactory;
|
||||
import org.jetbrains.plugins.javaFX.fxml.JavaFxPsiUtil;
|
||||
@@ -66,7 +65,7 @@ public class JavaFxColorRgbInspection extends XmlSuppressableInspectionTool {
|
||||
@NotNull String propertyName,
|
||||
@NotNull String propertyValue,
|
||||
@NotNull PsiElement location) {
|
||||
final PsiMember declaration = JavaFxPsiUtil.collectProperties(psiClass).get(propertyName);
|
||||
final PsiMember declaration = JavaFxPsiUtil.collectWritableProperties(psiClass).get(propertyName);
|
||||
final String boxedQName = JavaFxPsiUtil.getBoxedPropertyType(psiClass, declaration);
|
||||
if (CommonClassNames.JAVA_LANG_FLOAT.equals(boxedQName) || CommonClassNames.JAVA_LANG_DOUBLE.equals(boxedQName)) {
|
||||
try {
|
||||
|
||||
+11
-18
@@ -61,17 +61,14 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
if (context != null) {
|
||||
if (myPsiClass != null) {
|
||||
final List<XmlElementDescriptor> children = new ArrayList<XmlElementDescriptor>();
|
||||
collectProperties(children, new Function<PsiMember, XmlElementDescriptor>() {
|
||||
@Override
|
||||
public XmlElementDescriptor fun(PsiMember member) {
|
||||
return new JavaFxPropertyElementDescriptor(myPsiClass, member instanceof PsiMethod ? PropertyUtil.getPropertyName(member) : member.getName(), false);
|
||||
}
|
||||
});
|
||||
collectWritableProperties(children,
|
||||
(member) -> new JavaFxPropertyElementDescriptor(myPsiClass, PropertyUtil.getPropertyName(member), false));
|
||||
|
||||
final JavaFxPropertyElementDescriptor defaultPropertyDescriptor = getDefaultPropertyDescriptor();
|
||||
if (defaultPropertyDescriptor != null) {
|
||||
Collections.addAll(children, defaultPropertyDescriptor.getElementsDescriptors(context));
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
for (String name : FxmlConstants.FX_DEFAULT_ELEMENTS) {
|
||||
children.add(new JavaFxDefaultPropertyElementDescriptor(name, null));
|
||||
}
|
||||
@@ -179,7 +176,7 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
if (myPsiClass != null) {
|
||||
if (!FxmlConstants.FX_DEFINE.equals(parentTagName)) {
|
||||
if (FxmlConstants.FX_ROOT.equals(parentTagName)) {
|
||||
final Map<String, PsiMember> properties = JavaFxPsiUtil.collectProperties(myPsiClass);
|
||||
final Map<String, PsiMember> properties = JavaFxPsiUtil.collectWritableProperties(myPsiClass);
|
||||
if (properties.get(name) != null) {
|
||||
return new JavaFxPropertyElementDescriptor(myPsiClass, name, false);
|
||||
}
|
||||
@@ -194,7 +191,7 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
}
|
||||
}
|
||||
}
|
||||
final Map<String, PsiMember> properties = JavaFxPsiUtil.collectProperties(myPsiClass);
|
||||
final Map<String, PsiMember> properties = JavaFxPsiUtil.collectWritableProperties(myPsiClass);
|
||||
if (properties.get(name) != null) {
|
||||
return new JavaFxPropertyElementDescriptor(myPsiClass, name, false);
|
||||
}
|
||||
@@ -225,16 +222,12 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
}
|
||||
|
||||
protected void collectInstanceProperties(List<XmlAttributeDescriptor> simpleAttrs) {
|
||||
collectProperties(simpleAttrs, new Function<PsiMember, XmlAttributeDescriptor>() {
|
||||
@Override
|
||||
public XmlAttributeDescriptor fun(PsiMember member) {
|
||||
return new JavaFxPropertyAttributeDescriptor(member instanceof PsiMethod ? PropertyUtil.getPropertyName(member) : member.getName(), myPsiClass);
|
||||
}
|
||||
});
|
||||
collectWritableProperties(simpleAttrs,
|
||||
(member) -> new JavaFxPropertyAttributeDescriptor(PropertyUtil.getPropertyName(member), myPsiClass));
|
||||
}
|
||||
|
||||
private <T> void collectProperties(final List<T> children, final Function<PsiMember, T> factory) {
|
||||
final Map<String, PsiMember> fieldList = JavaFxPsiUtil.collectProperties(myPsiClass);
|
||||
private <T> void collectWritableProperties(final List<T> children, final Function<PsiMember, T> factory) {
|
||||
final Map<String, PsiMember> fieldList = JavaFxPsiUtil.collectWritableProperties(myPsiClass);
|
||||
for (PsiMember field : fieldList.values()) {
|
||||
children.add(factory.fun(field));
|
||||
}
|
||||
@@ -251,7 +244,7 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
if (propertySetter != null) {
|
||||
return new JavaFxStaticSetterAttributeDescriptor(propertySetter, attributeName);
|
||||
}
|
||||
final PsiMember psiMember = JavaFxPsiUtil.collectProperties(myPsiClass).get(attributeName);
|
||||
final PsiMember psiMember = JavaFxPsiUtil.collectWritableProperties(myPsiClass).get(attributeName);
|
||||
if (psiMember != null) {
|
||||
return new JavaFxPropertyAttributeDescriptor(attributeName, myPsiClass);
|
||||
}
|
||||
|
||||
+1
-1
@@ -242,7 +242,7 @@ public class JavaFxPropertyAttributeDescriptor extends BasicXmlAttributeDescript
|
||||
}
|
||||
|
||||
private PsiMember getDeclarationImpl() {
|
||||
return JavaFxPsiUtil.collectProperties(myPsiClass).get(myName);
|
||||
return JavaFxPsiUtil.collectWritableProperties(myPsiClass).get(myName);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -153,7 +153,7 @@ public class JavaFxPropertyElementDescriptor implements XmlElementDescriptor {
|
||||
public PsiElement getDeclaration() {
|
||||
if (myPsiClass == null) return null;
|
||||
if (myStatic) return JavaFxPsiUtil.findStaticPropertySetter(myName, myPsiClass);
|
||||
return JavaFxPsiUtil.collectProperties(myPsiClass).get(myName);
|
||||
return JavaFxPsiUtil.collectWritableProperties(myPsiClass).get(myName);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user