Java 类com.intellij.lang.ant.quickfix.AntChangeContextLocalFix 实例源码

项目:tools-idea    文件:AntResolveInspection.java   
private static void checkReferences(final XmlElement xmlElement, final @NonNls DomElementAnnotationHolder holder, DomElement domElement) {
  if (xmlElement == null) {
    return;
  }
  Set<PsiReference> processed = null;
  for (final PsiReference ref : xmlElement.getReferences()) {
    if (!(ref instanceof AntDomReference)) {
      continue;
    }
    final AntDomReference antDomRef = (AntDomReference)ref;
    if (antDomRef.shouldBeSkippedByAnnotator()) {
      continue;
    }
    if (processed != null && processed.contains(ref)) {
      continue;
    }
    if (!isResolvable(ref)) {

      holder.createProblem(domElement, ProblemHighlightType.LIKE_UNKNOWN_SYMBOL, antDomRef.getUnresolvedMessagePattern(), ref.getRangeInElement(), new AntChangeContextLocalFix());

      if (ref instanceof AntDomFileReference) {
        if (processed == null) {
          processed = new HashSet<PsiReference>();
        }
        ContainerUtil.addAll(processed, ((AntDomFileReference)ref).getFileReferenceSet().getAllReferences());
      }
    }
  }
}
项目:consulo-apache-ant    文件:AntResolveInspection.java   
private static void checkReferences(final XmlElement xmlElement, final @NonNls DomElementAnnotationHolder holder, DomElement domElement) {
  if (xmlElement == null) {
    return;
  }
  Set<PsiReference> processed = null;
  for (final PsiReference ref : xmlElement.getReferences()) {
    if (!(ref instanceof AntDomReference)) {
      continue;
    }
    final AntDomReference antDomRef = (AntDomReference)ref;
    if (antDomRef.shouldBeSkippedByAnnotator()) {
      continue;
    }
    if (processed != null && processed.contains(ref)) {
      continue;
    }
    if (!isResolvable(ref)) {

      holder.createProblem(domElement, ProblemHighlightType.LIKE_UNKNOWN_SYMBOL, antDomRef.getUnresolvedMessagePattern(), ref.getRangeInElement(), new AntChangeContextLocalFix());

      if (ref instanceof AntDomFileReference) {
        if (processed == null) {
          processed = new HashSet<PsiReference>();
        }
        ContainerUtil.addAll(processed, ((AntDomFileReference)ref).getFileReferenceSet().getAllReferences());
      }
    }
  }
}
项目:intellij-ce-playground    文件:AntResolveInspection.java   
private static void checkReferences(final XmlElement xmlElement, final @NonNls DomElementAnnotationHolder holder, DomElement domElement) {
  if (xmlElement == null) {
    return;
  }
  Set<PsiReference> processed = null;
  Collection<PropertiesFile> propertyFiles = null; // to be initialized lazily
  for (final PsiReference ref : xmlElement.getReferences()) {
    if (!(ref instanceof AntDomReference)) {
      continue;
    }
    final AntDomReference antDomRef = (AntDomReference)ref;
    if (antDomRef.shouldBeSkippedByAnnotator()) {
      continue;
    }
    if (processed != null && processed.contains(ref)) {
      continue;
    }

    if (!isResolvable(ref)) {
      final List<LocalQuickFix> quickFixList = new SmartList<LocalQuickFix>();
      quickFixList.add(new AntChangeContextLocalFix());

      if (ref instanceof AntDomPropertyReference) {
        final String canonicalText = ref.getCanonicalText();
        quickFixList.add(new AntCreatePropertyFix(canonicalText, null));
        final PsiFile containingFile = xmlElement.getContainingFile();
        if (containingFile != null) {
          if (propertyFiles == null) {
            propertyFiles = getPropertyFiles(AntSupport.getAntDomProject(containingFile), xmlElement);
          }
          for (PropertiesFile propertyFile : propertyFiles) {
            quickFixList.add(new AntCreatePropertyFix(canonicalText, propertyFile));
          }
        }
      }
      else if (ref instanceof AntDomTargetReference) {
        quickFixList.add(new AntCreateTargetFix(ref.getCanonicalText()));
      }

      holder.createProblem(
        domElement,
        ProblemHighlightType.LIKE_UNKNOWN_SYMBOL,
        antDomRef.getUnresolvedMessagePattern(),
        ref.getRangeInElement(),
        quickFixList.toArray((new LocalQuickFix[quickFixList.size()]))
      );

      if (ref instanceof AntDomFileReference) {
        if (processed == null) {
          processed = new HashSet<PsiReference>();
        }
        ContainerUtil.addAll(processed, ((AntDomFileReference)ref).getFileReferenceSet().getAllReferences());
      }
    }
  }
}