From c1324d4adc8b02bd03f89b8b82e3a37f116f152e Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Thu, 25 Feb 2016 20:29:36 +0300 Subject: [PATCH] javafx: Move duplicate code to a utility method (IDEA-150446) --- .../org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java | 5 +++++ .../descriptors/JavaFxPropertyAttributeDescriptor.java | 7 +------ .../fxml/refs/JavaFxComponentIdReferenceProvider.java | 5 +---- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java index a4a44b84b2d5..d60539dca5fa 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java @@ -679,6 +679,11 @@ public class JavaFxPsiUtil { return null; } + public static boolean hasConversionFromAnyType(@NotNull PsiClass targetClass) { + return Comparing.strEqual(targetClass.getQualifiedName(), CommonClassNames.JAVA_LANG_STRING) + || findValueOfMethod(targetClass) != null; + } + private static class JavaFxControllerCachedValueProvider implements CachedValueProvider { private final Project myProject; private final PsiFile myContainingFile; diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxPropertyAttributeDescriptor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxPropertyAttributeDescriptor.java index a490006bfdbb..2f7a7d800c7b 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxPropertyAttributeDescriptor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxPropertyAttributeDescriptor.java @@ -1,6 +1,5 @@ package org.jetbrains.plugins.javaFX.fxml.descriptors; -import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.intellij.psi.codeStyle.JavaCodeStyleManager; @@ -158,11 +157,7 @@ public class JavaFxPropertyAttributeDescriptor extends BasicXmlAttributeDescript final XmlTag currentTag = PsiTreeUtil.getParentOfType(xmlAttributeValue, XmlTag.class); final Map fileIds = JavaFxPsiUtil.collectFileIds(currentTag); final PsiClass targetPropertyClass = JavaFxPsiUtil.getPropertyClass(xmlAttributeValue); - if (targetPropertyClass == null || - Comparing.strEqual(targetPropertyClass.getQualifiedName(), CommonClassNames.JAVA_LANG_STRING) || - JavaFxPsiUtil.findValueOfMethod(targetPropertyClass) != null) { - return null; - } + if (targetPropertyClass == null || JavaFxPsiUtil.hasConversionFromAnyType(targetPropertyClass)) return null; final PsiClass valueClass; if (JavaFxPsiUtil.isExpressionBinding(value)) { final String expressionText = referencesId.substring(1, referencesId.length() - 1); diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxComponentIdReferenceProvider.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxComponentIdReferenceProvider.java index 37e4764fe137..7df1ce76da90 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxComponentIdReferenceProvider.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxComponentIdReferenceProvider.java @@ -18,7 +18,6 @@ package org.jetbrains.plugins.javaFX.fxml.refs; import com.intellij.codeInsight.completion.PrioritizedLookupElement; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupElementBuilder; -import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; @@ -80,9 +79,7 @@ class JavaFxComponentIdReferenceProvider extends PsiReferenceProvider { final PsiClass controllerClass = JavaFxPsiUtil.getControllerClass(element.getContainingFile()); final PsiClass targetPropertyClass = JavaFxPsiUtil.getPropertyClass(xmlAttributeValue); - final boolean isConvertible = targetPropertyClass != null && - (Comparing.strEqual(targetPropertyClass.getQualifiedName(), CommonClassNames.JAVA_LANG_STRING) - || JavaFxPsiUtil.findValueOfMethod(targetPropertyClass) != null); + final boolean isConvertible = targetPropertyClass != null && JavaFxPsiUtil.hasConversionFromAnyType(targetPropertyClass); final Map typeMatches = fileIds.entrySet().stream().collect( Collectors.toMap(Map.Entry::getKey, e -> {