additional assertions to help with CommonProblemDescriptor/LocalQuickFix interop

This commit is contained in:
Anna.Kozlova
2016-07-12 11:08:35 +02:00
parent 2be8a720a8
commit 67303f7455
@@ -1,5 +1,6 @@
package com.intellij.codeInspection;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.util.ArrayUtil;
import com.intellij.util.FunctionUtil;
import com.intellij.util.containers.ContainerUtil;
@@ -11,6 +12,7 @@ import org.jetbrains.annotations.Nullable;
* Date: 04-Jan-2006
*/
public class CommonProblemDescriptorImpl implements CommonProblemDescriptor {
private static final Logger LOG = Logger.getInstance(CommonProblemDescriptorImpl.class);
private final QuickFix[] myFixes;
private final String myDescriptionTemplate;
@@ -24,6 +26,13 @@ public class CommonProblemDescriptorImpl implements CommonProblemDescriptor {
else {
// no copy in most cases
myFixes = ArrayUtil.contains(null, fixes) ? ContainerUtil.mapNotNull(fixes, FunctionUtil.<QuickFix>id(), QuickFix.EMPTY_ARRAY) : fixes;
if (!(this instanceof ProblemDescriptor)) {
for (QuickFix fix : fixes) {
if (fix instanceof LocalQuickFix) {
LOG.error("Local quick fix expect ProblemDescriptor, but here only CommonProblemDescriptor available");
}
}
}
}
myDescriptionTemplate = descriptionTemplate;
}