diff --git a/source/com/intellij/codeInsight/daemon/Validator.java b/source/com/intellij/codeInsight/daemon/Validator.java new file mode 100644 index 000000000000..1f8cbece2925 --- /dev/null +++ b/source/com/intellij/codeInsight/daemon/Validator.java @@ -0,0 +1,14 @@ +package com.intellij.codeInsight.daemon; + +import com.intellij.psi.PsiElement; + +/** + * Created by IntelliJ IDEA. + * User: Maxim.Mossienko + * Date: Jan 14, 2005 + * Time: 10:53:20 PM + * To change this template use File | Settings | File Templates. + */ +public interface Validator { + String validate(PsiElement context); +} diff --git a/source/com/intellij/codeInsight/daemon/impl/analysis/XmlHighlightVisitor.java b/source/com/intellij/codeInsight/daemon/impl/analysis/XmlHighlightVisitor.java index 96124a8b368a..da738ee57df6 100644 --- a/source/com/intellij/codeInsight/daemon/impl/analysis/XmlHighlightVisitor.java +++ b/source/com/intellij/codeInsight/daemon/impl/analysis/XmlHighlightVisitor.java @@ -1,6 +1,7 @@ package com.intellij.codeInsight.daemon.impl.analysis; import com.intellij.codeInsight.daemon.QuickFixProvider; +import com.intellij.codeInsight.daemon.Validator; import com.intellij.codeInsight.daemon.impl.HighlightInfo; import com.intellij.codeInsight.daemon.impl.HighlightInfoType; import com.intellij.codeInsight.daemon.impl.quickfix.FetchExtResourceAction; @@ -469,6 +470,11 @@ public class XmlHighlightVisitor extends PsiElementVisitor{ } } } + + if (elementDescriptor instanceof Validator) { + final String s = ((Validator)elementDescriptor).validate(tag); + myResult.add(HighlightInfo.createHighlightInfo(HighlightInfoType.WRONG_REF,tag,s)); + } } private void checkRootTag(XmlTag tag) { diff --git a/source/com/intellij/jsp/impl/TldTagDescriptor.java b/source/com/intellij/jsp/impl/TldTagDescriptor.java index 31af92e4d7ed..b7e5f0b41f71 100644 --- a/source/com/intellij/jsp/impl/TldTagDescriptor.java +++ b/source/com/intellij/jsp/impl/TldTagDescriptor.java @@ -12,6 +12,7 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.j2ee.openapi.impl.ExternalResourceManagerImpl; +import com.intellij.codeInsight.daemon.Validator; /** * Created by IntelliJ IDEA. @@ -20,7 +21,7 @@ import com.intellij.j2ee.openapi.impl.ExternalResourceManagerImpl; * Time: 8:55:41 PM * To change this template use File | Settings | File Templates. */ -public class TldTagDescriptor implements XmlElementDescriptor { +public class TldTagDescriptor implements XmlElementDescriptor,Validator { private XmlTag myTag; private String myName; private XmlAttributeDescriptor[] myAttributeDescriptors; @@ -144,4 +145,8 @@ public class TldTagDescriptor implements XmlElementDescriptor { public Object[] getDependences() { return new Object[]{myTag, ExternalResourceManagerImpl.getInstance()}; } + + public String validate(PsiElement context) { + return null; + } }