diff --git a/xml/dom-impl/src/com/intellij/util/xml/impl/GenericDomValueReference.java b/xml/dom-impl/src/com/intellij/util/xml/impl/GenericDomValueReference.java index 18c97c2a839d..6bd16b7622b6 100644 --- a/xml/dom-impl/src/com/intellij/util/xml/impl/GenericDomValueReference.java +++ b/xml/dom-impl/src/com/intellij/util/xml/impl/GenericDomValueReference.java @@ -20,12 +20,10 @@ import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupValueFactory; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.pom.PomTarget; import com.intellij.pom.references.PomService; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiManager; import com.intellij.psi.PsiReferenceBase; -import com.intellij.psi.impl.PomTargetPsiElementImpl; import com.intellij.psi.xml.XmlAttributeValue; import com.intellij.psi.xml.XmlElement; import com.intellij.psi.xml.XmlTag; @@ -112,15 +110,10 @@ public class GenericDomValueReference extends PsiReferenceBase im final Converter converter = getConverter(); if (converter instanceof ResolvingConverter) { T value = myGenericValue.getValue(); - if (value instanceof DomElement && element instanceof PomTargetPsiElementImpl) { - PomTarget target = ((PomTargetPsiElementImpl)element).getTarget(); - if (target instanceof DomTarget) { - if (value.equals(((DomTarget)target).getDomElement())) { - return true; - } - } + PsiElement resolvedElement = ((ResolvingConverter)converter).getPsiElement(value); + if (resolvedElement != null) { + return ((ResolvingConverter)converter).isReferenceTo(element, getStringValue(), value, getConvertContext()); } - return ((ResolvingConverter)converter).isReferenceTo(element, getStringValue(), value, getConvertContext()); } return super.isReferenceTo(element); }