From f7bfa77ad916af870ed0f6c9754de7027ea258f6 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 21 Mar 2013 11:55:09 +0100 Subject: [PATCH] javafx: accept static properties from super classes from classes in hierarchy --- .../plugins/javaFX/fxml/JavaFXHighlightingTest.java | 6 ++++++ .../descriptors/JavaFxClassBackedElementDescriptor.java | 2 +- .../highlighting/staticPropertiesCustomLayout.fxml | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 plugins/javaFX/testData/highlighting/staticPropertiesCustomLayout.fxml diff --git a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java index bc95704186a7..5e102ed66bf3 100644 --- a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java +++ b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java @@ -53,6 +53,12 @@ public class JavaFXHighlightingTest extends AbstractJavaFXTestCase { doTest(); } + public void testStaticPropertiesCustomLayout() throws Exception { + myFixture.addClass("import javafx.scene.layout.GridPane;\n" + + "public class MyGridPane extends GridPane {}\n"); + myFixture.testHighlighting(false, false, false, getTestName(true) + ".fxml"); + } + public void testEnumValues() throws Exception { doTest(); } diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxClassBackedElementDescriptor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxClassBackedElementDescriptor.java index 219a5d921f4b..a7629a3a90b0 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxClassBackedElementDescriptor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxClassBackedElementDescriptor.java @@ -113,7 +113,7 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor, if (descr instanceof JavaFxClassBackedElementDescriptor) { final PsiElement element = descr.getDeclaration(); if (element instanceof PsiClass) { - for (PsiMethod method : ((PsiClass)element).getMethods()) { + for (PsiMethod method : ((PsiClass)element).getAllMethods()) { if (method.hasModifierProperty(PsiModifier.STATIC) && method.getName().startsWith("set")) { final PsiParameter[] parameters = method.getParameterList().getParameters(); if (parameters.length == 2 && InheritanceUtil.isInheritor(parameters[0].getType(), JavaFxCommonClassNames.JAVAFX_SCENE_NODE)) { diff --git a/plugins/javaFX/testData/highlighting/staticPropertiesCustomLayout.fxml b/plugins/javaFX/testData/highlighting/staticPropertiesCustomLayout.fxml new file mode 100644 index 000000000000..6b3f50f8b3cf --- /dev/null +++ b/plugins/javaFX/testData/highlighting/staticPropertiesCustomLayout.fxml @@ -0,0 +1,7 @@ + + + + + 1 +