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 4016d0b2061d..b7e3309e7f0b 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 @@ -370,6 +370,10 @@ public class JavaFXHighlightingTest extends AbstractJavaFXTestCase { doTest(); } + public void testLiteralValue() throws Exception { + doTest(); + } + public void testFactoryMethod() throws Exception { doTest(); } diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxBuiltInAttributeDescriptor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxBuiltInAttributeDescriptor.java index 1e7df2b75965..3032b2f6ffda 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxBuiltInAttributeDescriptor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxBuiltInAttributeDescriptor.java @@ -147,7 +147,7 @@ public class JavaFxBuiltInAttributeDescriptor extends JavaFxPropertyAttributeDes return "Unable to coerce '" + value + "' to " + tagClass.getQualifiedName() + "."; } } - return super.validateAttributeValue(xmlAttributeValue, value); + return validateLiteral(xmlAttributeValue, value); } } 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 4033999d169f..ee17676b1872 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 @@ -188,7 +188,7 @@ public class JavaFxPropertyAttributeDescriptor extends BasicXmlAttributeDescript } @Nullable - private static String validateLiteral(@NotNull XmlAttributeValue xmlAttributeValue, @NotNull String value) { + protected static String validateLiteral(@NotNull XmlAttributeValue xmlAttributeValue, @NotNull String value) { final PsiClass tagClass = JavaFxPsiUtil.getTagClass(xmlAttributeValue); final PsiElement declaration = JavaFxPsiUtil.getAttributeDeclaration(xmlAttributeValue); final String boxedQName; 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 452119cf5f1b..d7c8779dce7e 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 @@ -26,6 +26,7 @@ import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PropertyUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.TypeConversionUtil; +import com.intellij.psi.xml.XmlAttribute; import com.intellij.psi.xml.XmlAttributeValue; import com.intellij.psi.xml.XmlTag; import com.intellij.util.ArrayUtil; @@ -48,6 +49,10 @@ class JavaFxComponentIdReferenceProvider extends PsiReferenceProvider { @Override public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context) { + final PsiElement parent = element.getParent(); + if (parent instanceof XmlAttribute && FxmlConstants.FX_VALUE.equals(((XmlAttribute)parent).getName())) { + return PsiReference.EMPTY_ARRAY; + } final XmlAttributeValue xmlAttributeValue = (XmlAttributeValue)element; final String value = xmlAttributeValue.getValue(); if (JavaFxPsiUtil.isIncorrectExpressionBinding(value)) { diff --git a/plugins/javaFX/testData/highlighting/literalValue.fxml b/plugins/javaFX/testData/highlighting/literalValue.fxml new file mode 100644 index 000000000000..ecdecc0a5cfc --- /dev/null +++ b/plugins/javaFX/testData/highlighting/literalValue.fxml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file