当前位置: 首页>>代码示例>>Java>>正文


Java XmlHighlightVisitor类代码示例

本文整理汇总了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);
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:CheckDtdReferencesInspection.java

示例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);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:XmlRefCountHolder.java

示例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);
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:35,代码来源:XmlInvalidIdInspection.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:XmlHighlightingTest.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:36,代码来源:XmlEnumeratedValueReferenceProvider.java

示例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);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:8,代码来源:XmlRefCountHolder.java

示例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);
        }
      }
    }
  }
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:34,代码来源:XmlInvalidIdInspection.java

示例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);
        }
      }
    }
  }
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:34,代码来源:XmlInvalidIdInspection.java

示例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;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:38,代码来源:XmlEnumeratedValueReferenceProvider.java

示例10: hasBadResolve

import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
private static boolean hasBadResolve(PsiReference reference) {
  return XmlHighlightVisitor.hasBadResolve(reference, true);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:DomHighlightingHelperImpl.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:DomElementResolveProblemDescriptorImpl.java

示例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
          );
        }
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:65,代码来源:XmlWrongRootElementInspection.java

示例13: HtmlClosingTagErrorFilter

import com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor; //导入依赖的package包/类
public HtmlClosingTagErrorFilter(XmlHighlightVisitor xmlHighlightVisitor) {
  assert xmlHighlightVisitor != null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:HtmlClosingTagErrorFilter.java

示例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;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:5,代码来源:DomElementResolveProblemDescriptorImpl.java


注:本文中的com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。