mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-47544 - IAE: GlobalInspectionTool.getHint
This commit is contained in:
+7
-1
@@ -1,6 +1,10 @@
|
||||
package com.intellij.codeInspection;
|
||||
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.FunctionUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* User: anna
|
||||
@@ -18,7 +22,8 @@ public class CommonProblemDescriptorImpl implements CommonProblemDescriptor {
|
||||
myFixes = QuickFix.EMPTY_ARRAY;
|
||||
}
|
||||
else {
|
||||
myFixes = fixes;
|
||||
// no copy in most cases
|
||||
myFixes = ArrayUtil.contains(null, fixes) ? ContainerUtil.mapNotNull(fixes, FunctionUtil.<QuickFix>id(), QuickFix.EMPTY_ARRAY) : fixes;
|
||||
}
|
||||
myDescriptionTemplate = descriptionTemplate;
|
||||
}
|
||||
@@ -30,6 +35,7 @@ public class CommonProblemDescriptorImpl implements CommonProblemDescriptor {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public QuickFix[] getFixes() {
|
||||
return myFixes;
|
||||
}
|
||||
|
||||
+9
-9
@@ -426,13 +426,13 @@ public class DefaultInspectionToolPresentation implements ProblemDescriptionsPro
|
||||
}
|
||||
}
|
||||
|
||||
private void exportResults(@NotNull final CommonProblemDescriptor[] descriptions, @NotNull RefEntity refEntity, @NotNull Element parentNode) {
|
||||
for (CommonProblemDescriptor description : descriptions) {
|
||||
@NonNls final String template = description.getDescriptionTemplate();
|
||||
int line = description instanceof ProblemDescriptor ? ((ProblemDescriptor)description).getLineNumber() : -1;
|
||||
final PsiElement psiElement = description instanceof ProblemDescriptor ? ((ProblemDescriptor)description).getPsiElement() : null;
|
||||
private void exportResults(@NotNull final CommonProblemDescriptor[] descriptors, @NotNull RefEntity refEntity, @NotNull Element parentNode) {
|
||||
for (CommonProblemDescriptor descriptor : descriptors) {
|
||||
@NonNls final String template = descriptor.getDescriptionTemplate();
|
||||
int line = descriptor instanceof ProblemDescriptor ? ((ProblemDescriptor)descriptor).getLineNumber() : -1;
|
||||
final PsiElement psiElement = descriptor instanceof ProblemDescriptor ? ((ProblemDescriptor)descriptor).getPsiElement() : null;
|
||||
@NonNls String problemText = StringUtil.replace(StringUtil.replace(template, "#ref", psiElement != null ? ProblemDescriptorUtil
|
||||
.extractHighlightedText(description, psiElement) : ""), " #loc ", " ");
|
||||
.extractHighlightedText(descriptor, psiElement) : ""), " #loc ", " ");
|
||||
|
||||
Element element = refEntity.getRefManager().export(refEntity, parentNode, line);
|
||||
if (element == null) return;
|
||||
@@ -441,8 +441,8 @@ public class DefaultInspectionToolPresentation implements ProblemDescriptionsPro
|
||||
if (refEntity instanceof RefElement){
|
||||
final RefElement refElement = (RefElement)refEntity;
|
||||
final HighlightSeverity severity = getSeverity(refElement, getContext(), getToolWrapper());
|
||||
ProblemHighlightType problemHighlightType = description instanceof ProblemDescriptor
|
||||
? ((ProblemDescriptor)description).getHighlightType()
|
||||
ProblemHighlightType problemHighlightType = descriptor instanceof ProblemDescriptor
|
||||
? ((ProblemDescriptor)descriptor).getHighlightType()
|
||||
: ProblemHighlightType.GENERIC_ERROR_OR_WARNING;
|
||||
final String attributeKey = getTextAttributeKey(refElement.getRefManager().getProject(), severity, problemHighlightType);
|
||||
problemClassElement.setAttribute("severity", severity.myName);
|
||||
@@ -451,7 +451,7 @@ public class DefaultInspectionToolPresentation implements ProblemDescriptionsPro
|
||||
element.addContent(problemClassElement);
|
||||
if (myToolWrapper instanceof GlobalInspectionToolWrapper) {
|
||||
final GlobalInspectionTool globalInspectionTool = ((GlobalInspectionToolWrapper)myToolWrapper).getTool();
|
||||
final QuickFix[] fixes = description.getFixes();
|
||||
final QuickFix[] fixes = descriptor.getFixes();
|
||||
if (fixes != null) {
|
||||
@NonNls Element hintsElement = new Element("hints");
|
||||
for (QuickFix fix : fixes) {
|
||||
|
||||
+9
-4
@@ -26,7 +26,12 @@ import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.xml.*;
|
||||
import com.intellij.psi.xml.XmlAttributeValue;
|
||||
import com.intellij.psi.xml.XmlElement;
|
||||
import com.intellij.psi.xml.XmlTag;
|
||||
import com.intellij.psi.xml.XmlText;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.FunctionUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.xml.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -59,7 +64,7 @@ public class DomElementProblemDescriptorImpl implements DomElementProblemDescrip
|
||||
public DomElementProblemDescriptorImpl(@NotNull final DomElement domElement,
|
||||
final String message,
|
||||
final HighlightSeverity type,
|
||||
final LocalQuickFix... fixes) {
|
||||
@NotNull LocalQuickFix... fixes) {
|
||||
this(domElement, message, type, null, null, fixes);
|
||||
}
|
||||
|
||||
@@ -68,7 +73,7 @@ public class DomElementProblemDescriptorImpl implements DomElementProblemDescrip
|
||||
final HighlightSeverity type,
|
||||
@Nullable final TextRange textRange,
|
||||
ProblemHighlightType highlightType,
|
||||
final LocalQuickFix... fixes) {
|
||||
@NotNull LocalQuickFix... fixes) {
|
||||
myDomElement = domElement;
|
||||
final XmlElement element = domElement.getXmlElement();
|
||||
if (element != null && !ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
@@ -76,7 +81,7 @@ public class DomElementProblemDescriptorImpl implements DomElementProblemDescrip
|
||||
}
|
||||
mySeverity = type;
|
||||
myMessage = message;
|
||||
myFixes = fixes;
|
||||
myFixes = ArrayUtil.contains(null, fixes) ? ContainerUtil.mapNotNull(fixes, FunctionUtil.<LocalQuickFix>id(), LocalQuickFix.EMPTY_ARRAY) : fixes;
|
||||
|
||||
if (textRange != null) {
|
||||
final PsiElement psiElement = getPsiElement();
|
||||
|
||||
Reference in New Issue
Block a user