diff options
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.java | 8 |
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); |