本文整理汇总了Java中com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor类的典型用法代码示例。如果您正苦于以下问题:Java XmlHighlightVisitor类的具体用法?Java XmlHighlightVisitor怎么用?Java XmlHighlightVisitor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XmlHighlightVisitor类属于com.intellij.codeInsight.daemon.impl.analysis包,在下文中一共展示了XmlHighlightVisitor类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doCheckRefs
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
private static void doCheckRefs(final XmlElement element, final ProblemsHolder holder) {
for (PsiReference ref : element.getReferences()) {
ProgressManager.checkCanceled();
if (XmlHighlightVisitor.hasBadResolve(ref, true)) {
if (ref.getElement() instanceof XmlElementContentSpec) {
final String image = ref.getCanonicalText();
if (image.equals("-") || image.equals("O")) continue;
}
holder.registerProblem(ref);
}
}
}
示例2: updateMap
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
private void updateMap(@NotNull final XmlAttribute attribute, @NotNull final XmlAttributeValue value, final boolean soft) {
final String id = XmlHighlightVisitor.getUnquotedValue(value, attribute.getParent());
if (XmlUtil.isSimpleValue(id, value) &&
PsiTreeUtil.getChildOfType(value, OuterLanguageElement.class) == null) {
myHolder.registerId(id, value, soft);
}
}
示例3: checkValue
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
@Override
protected void checkValue(XmlAttributeValue value, XmlFile file, XmlRefCountHolder refHolder, XmlTag tag, ProblemsHolder holder) {
String idRef = XmlHighlightVisitor.getUnquotedValue(value, tag);
if (tag instanceof HtmlTag) {
idRef = idRef.toLowerCase();
}
if (XmlUtil.isSimpleValue(idRef, value) && refHolder.isIdReferenceValue(value)) {
boolean hasIdDeclaration = refHolder.hasIdDeclaration(idRef);
if (!hasIdDeclaration && tag instanceof HtmlTag) {
hasIdDeclaration = refHolder.hasIdDeclaration(value.getValue());
}
if (!hasIdDeclaration) {
for(XmlIdContributor contributor: Extensions.getExtensions(XmlIdContributor.EP_NAME)) {
if (contributor.suppressExistingIdValidation(file)) {
return;
}
}
final FileViewProvider viewProvider = tag.getContainingFile().getViewProvider();
if (viewProvider instanceof MultiplePsiFilesPerDocumentFileViewProvider) {
holder.registerProblem(value, XmlErrorMessages.message("invalid.id.reference"), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL,
new XmlDeclareIdInCommentAction(idRef));
}
else {
holder.registerProblem(value, XmlErrorMessages.message("invalid.id.reference"), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL);
}
}
}
}
示例4: doHighlighting
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
@NotNull
@Override
protected List<HighlightInfo> doHighlighting() {
if(myTestJustJaxpValidation) {
XmlHighlightVisitor.setDoJaxpTesting(true);
}
final List<HighlightInfo> highlightInfos = super.doHighlighting();
if(myTestJustJaxpValidation) {
XmlHighlightVisitor.setDoJaxpTesting(false);
}
return highlightInfos;
}
示例5: getReferencesByElement
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
@NotNull
@Override
public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context) {
if (XmlSchemaTagsProcessor.PROCESSING_FLAG.get() != null || context.get(SUPPRESS) != null) {
return PsiReference.EMPTY_ARRAY;
}
@SuppressWarnings("unchecked") PsiElement host = getHost((T)element);
if (host instanceof PsiLanguageInjectionHost && InjectedLanguageUtil.hasInjections((PsiLanguageInjectionHost)host)) {
return PsiReference.EMPTY_ARRAY;
}
String unquotedValue = ElementManipulators.getValueText(element);
if (XmlHighlightVisitor.skipValidation(element) || !XmlUtil.isSimpleValue(unquotedValue, element)) {
return PsiReference.EMPTY_ARRAY;
}
@SuppressWarnings("unchecked") final Object descriptor = getDescriptor((T)element);
if (descriptor instanceof XmlEnumerationDescriptor) {
XmlEnumerationDescriptor enumerationDescriptor = (XmlEnumerationDescriptor)descriptor;
if (enumerationDescriptor.isFixed() || enumerationDescriptor.isEnumerated((XmlElement)element)) {
//noinspection unchecked
return enumerationDescriptor.getValueReferences((XmlElement)element, unquotedValue);
}
else if (unquotedValue.equals(enumerationDescriptor.getDefaultValue())) { // todo case insensitive
return ContainerUtil.map2Array(enumerationDescriptor.getValueReferences((XmlElement)element, unquotedValue), PsiReference.class,
new Function<PsiReference, PsiReference>() {
@Override
public PsiReference fun(PsiReference reference) {
return PsiDelegateReference.createSoft(reference, true);
}
});
}
}
return PsiReference.EMPTY_ARRAY;
}
示例6: updateMap
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
private void updateMap(@NotNull final XmlAttribute attribute, @NotNull final XmlAttributeValue value, final boolean soft) {
final String id = XmlHighlightVisitor.getUnquotedValue(value, attribute.getParent());
if (XmlUtil.isSimpleXmlAttributeValue(id, value) &&
PsiTreeUtil.getChildOfType(value, OuterLanguageElement.class) == null) {
myHolder.registerId(id, value, soft);
}
}
示例7: checkValue
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
protected void checkValue(XmlAttributeValue value, XmlFile file, XmlRefCountHolder refHolder, XmlTag tag, ProblemsHolder holder) {
String idRef = XmlHighlightVisitor.getUnquotedValue(value, tag);
if (tag instanceof HtmlTag) {
idRef = idRef.toLowerCase();
}
if (XmlUtil.isSimpleXmlAttributeValue(idRef, value) && refHolder.isIdReferenceValue(value)) {
boolean hasIdDeclaration = refHolder.hasIdDeclaration(idRef);
if (!hasIdDeclaration && tag instanceof HtmlTag) {
hasIdDeclaration = refHolder.hasIdDeclaration(value.getValue());
}
if (!hasIdDeclaration) {
for(XmlIdContributor contributor: Extensions.getExtensions(XmlIdContributor.EP_NAME)) {
if (contributor.suppressExistingIdValidation(file)) {
return;
}
}
final FileViewProvider viewProvider = tag.getContainingFile().getViewProvider();
if (viewProvider instanceof MultiplePsiFilesPerDocumentFileViewProvider) {
holder.registerProblem(value, XmlErrorMessages.message("invalid.id.reference"), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL,
new XmlDeclareIdInCommentAction(idRef));
}
else {
holder.registerProblem(value, XmlErrorMessages.message("invalid.id.reference"), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL);
}
}
}
}
示例8: checkValue
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
protected void checkValue(XmlAttributeValue value, XmlFile file, XmlRefCountHolder refHolder, XmlTag tag, ProblemsHolder holder) {
String idRef = XmlHighlightVisitor.getUnquotedValue(value, tag);
if (tag instanceof HtmlTag) {
idRef = idRef.toLowerCase();
}
if (XmlUtil.isSimpleValue(idRef, value) && refHolder.isIdReferenceValue(value)) {
boolean hasIdDeclaration = refHolder.hasIdDeclaration(idRef);
if (!hasIdDeclaration && tag instanceof HtmlTag) {
hasIdDeclaration = refHolder.hasIdDeclaration(value.getValue());
}
if (!hasIdDeclaration) {
for(XmlIdContributor contributor: Extensions.getExtensions(XmlIdContributor.EP_NAME)) {
if (contributor.suppressExistingIdValidation(file)) {
return;
}
}
final FileViewProvider viewProvider = tag.getContainingFile().getViewProvider();
if (viewProvider instanceof MultiplePsiFilesPerDocumentFileViewProvider) {
holder.registerProblem(value, XmlErrorMessages.message("invalid.id.reference"), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL,
new XmlDeclareIdInCommentAction(idRef));
}
else {
holder.registerProblem(value, XmlErrorMessages.message("invalid.id.reference"), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL);
}
}
}
}
示例9: getReferencesByElement
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
@NotNull
@Override
public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context)
{
if(XmlSchemaTagsProcessor.PROCESSING_FLAG.get() != null || context.get(SUPPRESS) != null)
{
return PsiReference.EMPTY_ARRAY;
}
@SuppressWarnings("unchecked") PsiElement host = getHost((T) element);
if(host instanceof PsiLanguageInjectionHost && InjectedLanguageUtil.hasInjections((PsiLanguageInjectionHost) host))
{
return PsiReference.EMPTY_ARRAY;
}
String unquotedValue = ElementManipulators.getValueText(element);
if(XmlHighlightVisitor.skipValidation(element) || !XmlUtil.isSimpleValue(unquotedValue, element))
{
return PsiReference.EMPTY_ARRAY;
}
@SuppressWarnings("unchecked") final Object descriptor = getDescriptor((T) element);
if(descriptor instanceof XmlEnumerationDescriptor)
{
XmlEnumerationDescriptor enumerationDescriptor = (XmlEnumerationDescriptor) descriptor;
if(enumerationDescriptor.isFixed() || enumerationDescriptor.isEnumerated((XmlElement) element))
{
//noinspection unchecked
return enumerationDescriptor.getValueReferences((XmlElement) element, unquotedValue);
}
else if(unquotedValue.equals(enumerationDescriptor.getDefaultValue()))
{ // todo case insensitive
return ContainerUtil.map2Array(enumerationDescriptor.getValueReferences((XmlElement) element, unquotedValue), PsiReference.class, reference -> PsiDelegateReference.createSoft
(reference, true));
}
}
return PsiReference.EMPTY_ARRAY;
}
示例10: hasBadResolve
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
private static boolean hasBadResolve(PsiReference reference) {
return XmlHighlightVisitor.hasBadResolve(reference, true);
}
示例11: DomElementResolveProblemDescriptorImpl
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
public DomElementResolveProblemDescriptorImpl(@NotNull final GenericDomValue domElement, @NotNull final PsiReference reference, LocalQuickFix... quickFixes) {
super(domElement, reference instanceof FileReference ? ProblemsHolder.unresolvedReferenceMessage(reference) : XmlHighlightVisitor.getErrorDescription(reference), HighlightSeverity.ERROR, quickFixes);
myReference = reference;
}
示例12: checkTag
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
@Override
protected void checkTag(@NotNull final XmlTag tag, @NotNull final ProblemsHolder holder, final boolean isOnTheFly) {
if (!(tag.getParent() instanceof XmlTag)) {
final PsiFile psiFile = tag.getContainingFile();
if (!(psiFile instanceof XmlFile)) {
return;
}
XmlFile xmlFile = (XmlFile) psiFile;
final XmlDocument document = xmlFile.getDocument();
if (document == null) {
return;
}
XmlProlog prolog = document.getProlog();
if (prolog == null || XmlHighlightVisitor.skipValidation(prolog)) {
return;
}
final XmlDoctype doctype = prolog.getDoctype();
if (doctype == null) {
return;
}
XmlElement nameElement = doctype.getNameElement();
if (nameElement == null) {
return;
}
String name = tag.getName();
String text = nameElement.getText();
if (tag instanceof HtmlTag) {
name = name.toLowerCase();
text = text.toLowerCase();
}
if (!name.equals(text)) {
name = XmlUtil.findLocalNameByQualifiedName(name);
if (!name.equals(text)) {
if (tag instanceof HtmlTag) {
return; // it is legal to have html / head / body omitted
}
final LocalQuickFix localQuickFix = new MyLocalQuickFix(doctype.getNameElement().getText());
holder.registerProblem(XmlChildRole.START_TAG_NAME_FINDER.findChild(tag.getNode()).getPsi(),
XmlErrorMessages.message("wrong.root.element"),
ProblemHighlightType.LIKE_UNKNOWN_SYMBOL, localQuickFix
);
final ASTNode astNode = XmlChildRole.CLOSING_TAG_NAME_FINDER.findChild(tag.getNode());
if (astNode != null) {
holder.registerProblem(astNode.getPsi(),
XmlErrorMessages.message("wrong.root.element"),
ProblemHighlightType.LIKE_UNKNOWN_SYMBOL, localQuickFix
);
}
}
}
}
}
示例13: HtmlClosingTagErrorFilter
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
public HtmlClosingTagErrorFilter(XmlHighlightVisitor xmlHighlightVisitor) {
assert xmlHighlightVisitor != null;
}
示例14: DomElementResolveProblemDescriptorImpl
import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
public DomElementResolveProblemDescriptorImpl(@NotNull final GenericDomValue domElement, @NotNull final PsiReference reference, LocalQuickFix... quickFixes) {
super(domElement, reference instanceof FileReference ? ProblemsHolder.unresolvedReferenceMessage(reference) : XmlHighlightVisitor.getErrorDescription(reference), HighlightSeverity.ERROR, quickFixes);
myReference = reference;
}