summaryrefslogtreecommitdiff
path: root/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java')
-rw-r--r--plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java8
1 files changed, 8 insertions, 0 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 3274603f3fc0..ea482b0d0ce7 100644
--- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java
+++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java
@@ -270,6 +270,14 @@ public class JavaFxPsiUtil {
if (!(currentTagClass instanceof PsiClass)) return false;
final PsiField handlerField = ((PsiClass)currentTagClass).findFieldByName(attributeName, true);
if (handlerField == null) {
+ final String suggestedSetterName = PropertyUtil.suggestSetterName(attributeName);
+ final PsiMethod[] existingSetters = ((PsiClass)currentTagClass).findMethodsByName(suggestedSetterName, true);
+ for (PsiMethod setter : existingSetters) {
+ final PsiParameter[] parameters = setter.getParameterList().getParameters();
+ if (parameters.length == 1 && InheritanceUtil.isInheritor(parameters[0].getType(), JavaFxCommonClassNames.JAVAFX_EVENT_EVENT_HANDLER)) {
+ return true;
+ }
+ }
return false;
}
final PsiClass objectPropertyClass = getPropertyClass(handlerField);