Rename class: AbstractDiagnosticFactory -> DiagnosticFactory
This commit is contained in:
@@ -28,7 +28,7 @@ import com.intellij.psi.PsiFile;
|
|||||||
import com.intellij.psi.util.PsiTreeUtil;
|
import com.intellij.psi.util.PsiTreeUtil;
|
||||||
import com.intellij.util.containers.Stack;
|
import com.intellij.util.containers.Stack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Severity;
|
import org.jetbrains.jet.lang.diagnostics.Severity;
|
||||||
import org.jetbrains.jet.lang.psi.JetReferenceExpression;
|
import org.jetbrains.jet.lang.psi.JetReferenceExpression;
|
||||||
@@ -329,16 +329,16 @@ public class CheckerTestUtil {
|
|||||||
|
|
||||||
public static class AbstractDiagnosticForTests implements Diagnostic {
|
public static class AbstractDiagnosticForTests implements Diagnostic {
|
||||||
private final PsiElement element;
|
private final PsiElement element;
|
||||||
private final AbstractDiagnosticFactory factory;
|
private final DiagnosticFactory factory;
|
||||||
|
|
||||||
public AbstractDiagnosticForTests(@NotNull PsiElement element, @NotNull AbstractDiagnosticFactory factory) {
|
public AbstractDiagnosticForTests(@NotNull PsiElement element, @NotNull DiagnosticFactory factory) {
|
||||||
this.element = element;
|
this.element = element;
|
||||||
this.factory = factory;
|
this.factory = factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public AbstractDiagnosticFactory getFactory() {
|
public DiagnosticFactory getFactory() {
|
||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -372,7 +372,7 @@ public class CheckerTestUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class SyntaxErrorDiagnosticFactory extends AbstractDiagnosticFactory {
|
public static class SyntaxErrorDiagnosticFactory extends DiagnosticFactory {
|
||||||
public static final SyntaxErrorDiagnosticFactory INSTANCE = new SyntaxErrorDiagnosticFactory();
|
public static final SyntaxErrorDiagnosticFactory INSTANCE = new SyntaxErrorDiagnosticFactory();
|
||||||
|
|
||||||
private SyntaxErrorDiagnosticFactory() {}
|
private SyntaxErrorDiagnosticFactory() {}
|
||||||
@@ -390,7 +390,7 @@ public class CheckerTestUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class DebugInfoDiagnosticFactory extends AbstractDiagnosticFactory {
|
public static class DebugInfoDiagnosticFactory extends DiagnosticFactory {
|
||||||
public static final DebugInfoDiagnosticFactory ELEMENT_WITH_ERROR_TYPE = new DebugInfoDiagnosticFactory("ELEMENT_WITH_ERROR_TYPE");
|
public static final DebugInfoDiagnosticFactory ELEMENT_WITH_ERROR_TYPE = new DebugInfoDiagnosticFactory("ELEMENT_WITH_ERROR_TYPE");
|
||||||
public static final DebugInfoDiagnosticFactory UNRESOLVED_WITH_TARGET = new DebugInfoDiagnosticFactory("UNRESOLVED_WITH_TARGET");
|
public static final DebugInfoDiagnosticFactory UNRESOLVED_WITH_TARGET = new DebugInfoDiagnosticFactory("UNRESOLVED_WITH_TARGET");
|
||||||
public static final DebugInfoDiagnosticFactory MISSING_UNRESOLVED = new DebugInfoDiagnosticFactory("MISSING_UNRESOLVED");
|
public static final DebugInfoDiagnosticFactory MISSING_UNRESOLVED = new DebugInfoDiagnosticFactory("MISSING_UNRESOLVED");
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import com.intellij.psi.util.PsiTreeUtil;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.JetNodeTypes;
|
import org.jetbrains.jet.JetNodeTypes;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
@@ -58,9 +58,9 @@ public class DebugInfoUtil {
|
|||||||
@NotNull final BindingContext bindingContext,
|
@NotNull final BindingContext bindingContext,
|
||||||
@NotNull final DebugInfoReporter debugInfoReporter
|
@NotNull final DebugInfoReporter debugInfoReporter
|
||||||
) {
|
) {
|
||||||
final Map<JetReferenceExpression, AbstractDiagnosticFactory> markedWithErrorElements = Maps.newHashMap();
|
final Map<JetReferenceExpression, DiagnosticFactory> markedWithErrorElements = Maps.newHashMap();
|
||||||
for (Diagnostic diagnostic : bindingContext.getDiagnostics()) {
|
for (Diagnostic diagnostic : bindingContext.getDiagnostics()) {
|
||||||
AbstractDiagnosticFactory factory = diagnostic.getFactory();
|
DiagnosticFactory factory = diagnostic.getFactory();
|
||||||
if (Errors.UNRESOLVED_REFERENCE_DIAGNOSTICS.contains(diagnostic.getFactory())) {
|
if (Errors.UNRESOLVED_REFERENCE_DIAGNOSTICS.contains(diagnostic.getFactory())) {
|
||||||
markedWithErrorElements.put((JetReferenceExpression) diagnostic.getPsiElement(), factory);
|
markedWithErrorElements.put((JetReferenceExpression) diagnostic.getPsiElement(), factory);
|
||||||
}
|
}
|
||||||
@@ -131,7 +131,7 @@ public class DebugInfoUtil {
|
|||||||
boolean resolved = target != null;
|
boolean resolved = target != null;
|
||||||
boolean markedWithError = markedWithErrorElements.containsKey(expression);
|
boolean markedWithError = markedWithErrorElements.containsKey(expression);
|
||||||
JetType expressionType = bindingContext.get(EXPRESSION_TYPE, expression);
|
JetType expressionType = bindingContext.get(EXPRESSION_TYPE, expression);
|
||||||
AbstractDiagnosticFactory factory = markedWithErrorElements.get(expression);
|
DiagnosticFactory factory = markedWithErrorElements.get(expression);
|
||||||
if (declarationDescriptor != null &&
|
if (declarationDescriptor != null &&
|
||||||
(ErrorUtils.isError(declarationDescriptor) || ErrorUtils.containsErrorType(expressionType))) {
|
(ErrorUtils.isError(declarationDescriptor) || ErrorUtils.containsErrorType(expressionType))) {
|
||||||
if (factory != Errors.EXPRESSION_EXPECTED_NAMESPACE_FOUND) {
|
if (factory != Errors.EXPRESSION_EXPECTED_NAMESPACE_FOUND) {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import org.jetbrains.jet.lang.cfg.PseudocodeTraverser.*;
|
|||||||
import org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableInitState;
|
import org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableInitState;
|
||||||
import org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableUseState;
|
import org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableUseState;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
@@ -49,7 +49,6 @@ import static org.jetbrains.jet.lang.cfg.PseudocodeTraverser.TraversalOrder.FORW
|
|||||||
import static org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableUseState.*;
|
import static org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableUseState.*;
|
||||||
import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
||||||
import static org.jetbrains.jet.lang.resolve.BindingContext.CAPTURED_IN_CLOSURE;
|
import static org.jetbrains.jet.lang.resolve.BindingContext.CAPTURED_IN_CLOSURE;
|
||||||
import static org.jetbrains.jet.lang.types.TypeUtils.NO_EXPECTED_TYPE;
|
|
||||||
import static org.jetbrains.jet.lang.types.TypeUtils.noExpectedType;
|
import static org.jetbrains.jet.lang.types.TypeUtils.noExpectedType;
|
||||||
|
|
||||||
public class JetFlowInformationProvider {
|
public class JetFlowInformationProvider {
|
||||||
@@ -187,7 +186,7 @@ public class JetFlowInformationProvider {
|
|||||||
Map<Instruction, Edges<Map<VariableDescriptor,VariableInitState>>> initializers = pseudocodeVariablesData.getVariableInitializers();
|
Map<Instruction, Edges<Map<VariableDescriptor,VariableInitState>>> initializers = pseudocodeVariablesData.getVariableInitializers();
|
||||||
final Set<VariableDescriptor> declaredVariables = pseudocodeVariablesData.getDeclaredVariables(pseudocode, true);
|
final Set<VariableDescriptor> declaredVariables = pseudocodeVariablesData.getDeclaredVariables(pseudocode, true);
|
||||||
|
|
||||||
final Map<Instruction, AbstractDiagnosticFactory> reportedDiagnosticMap = Maps.newHashMap();
|
final Map<Instruction, DiagnosticFactory> reportedDiagnosticMap = Maps.newHashMap();
|
||||||
|
|
||||||
PseudocodeTraverser.traverse(pseudocode, FORWARD, initializers, new InstructionDataAnalyzeStrategy<Map<VariableDescriptor, PseudocodeVariablesData.VariableInitState>>() {
|
PseudocodeTraverser.traverse(pseudocode, FORWARD, initializers, new InstructionDataAnalyzeStrategy<Map<VariableDescriptor, PseudocodeVariablesData.VariableInitState>>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -436,7 +435,7 @@ public class JetFlowInformationProvider {
|
|||||||
|
|
||||||
public void markUnusedVariables() {
|
public void markUnusedVariables() {
|
||||||
Map<Instruction, Edges<Map<VariableDescriptor, VariableUseState>>> variableStatusData = pseudocodeVariablesData.getVariableUseStatusData();
|
Map<Instruction, Edges<Map<VariableDescriptor, VariableUseState>>> variableStatusData = pseudocodeVariablesData.getVariableUseStatusData();
|
||||||
final Map<Instruction, AbstractDiagnosticFactory> reportedDiagnosticMap = Maps.newHashMap();
|
final Map<Instruction, DiagnosticFactory> reportedDiagnosticMap = Maps.newHashMap();
|
||||||
InstructionDataAnalyzeStrategy<Map<VariableDescriptor, VariableUseState>> variableStatusAnalyzeStrategy =
|
InstructionDataAnalyzeStrategy<Map<VariableDescriptor, VariableUseState>> variableStatusAnalyzeStrategy =
|
||||||
new InstructionDataAnalyzeStrategy<Map<VariableDescriptor, PseudocodeVariablesData.VariableUseState>>() {
|
new InstructionDataAnalyzeStrategy<Map<VariableDescriptor, PseudocodeVariablesData.VariableUseState>>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -519,7 +518,7 @@ public class JetFlowInformationProvider {
|
|||||||
|
|
||||||
public void markUnusedLiteralsInBlock() {
|
public void markUnusedLiteralsInBlock() {
|
||||||
assert pseudocode != null;
|
assert pseudocode != null;
|
||||||
final Map<Instruction, AbstractDiagnosticFactory> reportedDiagnosticMap = Maps.newHashMap();
|
final Map<Instruction, DiagnosticFactory> reportedDiagnosticMap = Maps.newHashMap();
|
||||||
PseudocodeTraverser.traverse(
|
PseudocodeTraverser.traverse(
|
||||||
pseudocode, FORWARD, new InstructionAnalyzeStrategy() {
|
pseudocode, FORWARD, new InstructionAnalyzeStrategy() {
|
||||||
@Override
|
@Override
|
||||||
@@ -565,13 +564,13 @@ public class JetFlowInformationProvider {
|
|||||||
trace.report(diagnostic);
|
trace.report(diagnostic);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Map<Instruction, AbstractDiagnosticFactory> previouslyReported = ctxt.reportedDiagnosticMap;
|
Map<Instruction, DiagnosticFactory> previouslyReported = ctxt.reportedDiagnosticMap;
|
||||||
previouslyReported.put(instruction, diagnostic.getFactory());
|
previouslyReported.put(instruction, diagnostic.getFactory());
|
||||||
|
|
||||||
boolean alreadyReported = false;
|
boolean alreadyReported = false;
|
||||||
boolean sameErrorForAllCopies = true;
|
boolean sameErrorForAllCopies = true;
|
||||||
for (Instruction copy : instruction.getCopies()) {
|
for (Instruction copy : instruction.getCopies()) {
|
||||||
AbstractDiagnosticFactory previouslyReportedErrorFactory = previouslyReported.get(copy);
|
DiagnosticFactory previouslyReportedErrorFactory = previouslyReported.get(copy);
|
||||||
if (previouslyReportedErrorFactory != null) {
|
if (previouslyReportedErrorFactory != null) {
|
||||||
alreadyReported = true;
|
alreadyReported = true;
|
||||||
}
|
}
|
||||||
@@ -594,7 +593,7 @@ public class JetFlowInformationProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean mustBeReportedOnAllCopies(@NotNull AbstractDiagnosticFactory diagnosticFactory) {
|
private static boolean mustBeReportedOnAllCopies(@NotNull DiagnosticFactory diagnosticFactory) {
|
||||||
return diagnosticFactory == UNUSED_VARIABLE
|
return diagnosticFactory == UNUSED_VARIABLE
|
||||||
|| diagnosticFactory == UNUSED_PARAMETER
|
|| diagnosticFactory == UNUSED_PARAMETER
|
||||||
|| diagnosticFactory == UNUSED_CHANGED_VALUE;
|
|| diagnosticFactory == UNUSED_CHANGED_VALUE;
|
||||||
@@ -603,13 +602,13 @@ public class JetFlowInformationProvider {
|
|||||||
|
|
||||||
|
|
||||||
private class VariableContext {
|
private class VariableContext {
|
||||||
final Map<Instruction, AbstractDiagnosticFactory> reportedDiagnosticMap;
|
final Map<Instruction, DiagnosticFactory> reportedDiagnosticMap;
|
||||||
final Instruction instruction;
|
final Instruction instruction;
|
||||||
final VariableDescriptor variableDescriptor;
|
final VariableDescriptor variableDescriptor;
|
||||||
|
|
||||||
private VariableContext(
|
private VariableContext(
|
||||||
@NotNull Instruction instruction,
|
@NotNull Instruction instruction,
|
||||||
@NotNull Map<Instruction, AbstractDiagnosticFactory> map
|
@NotNull Map<Instruction, DiagnosticFactory> map
|
||||||
) {
|
) {
|
||||||
this.instruction = instruction;
|
this.instruction = instruction;
|
||||||
reportedDiagnosticMap = map;
|
reportedDiagnosticMap = map;
|
||||||
@@ -623,7 +622,7 @@ public class JetFlowInformationProvider {
|
|||||||
|
|
||||||
private VariableInitContext(
|
private VariableInitContext(
|
||||||
@NotNull Instruction instruction,
|
@NotNull Instruction instruction,
|
||||||
@NotNull Map<Instruction, AbstractDiagnosticFactory> map,
|
@NotNull Map<Instruction, DiagnosticFactory> map,
|
||||||
@NotNull Map<VariableDescriptor, VariableInitState> in,
|
@NotNull Map<VariableDescriptor, VariableInitState> in,
|
||||||
@NotNull Map<VariableDescriptor, VariableInitState> out
|
@NotNull Map<VariableDescriptor, VariableInitState> out
|
||||||
) {
|
) {
|
||||||
@@ -640,7 +639,7 @@ public class JetFlowInformationProvider {
|
|||||||
|
|
||||||
private VariableUseContext(
|
private VariableUseContext(
|
||||||
@NotNull Instruction instruction,
|
@NotNull Instruction instruction,
|
||||||
@NotNull Map<Instruction, AbstractDiagnosticFactory> map,
|
@NotNull Map<Instruction, DiagnosticFactory> map,
|
||||||
@NotNull Map<VariableDescriptor, VariableUseState> in,
|
@NotNull Map<VariableDescriptor, VariableUseState> in,
|
||||||
@NotNull Map<VariableDescriptor, VariableUseState> out
|
@NotNull Map<VariableDescriptor, VariableUseState> out
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.util.List;
|
|||||||
public interface Diagnostic {
|
public interface Diagnostic {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
AbstractDiagnosticFactory getFactory();
|
DiagnosticFactory getFactory();
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
Severity getSeverity();
|
Severity getSeverity();
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ package org.jetbrains.jet.lang.diagnostics;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public abstract class AbstractDiagnosticFactory {
|
public abstract class DiagnosticFactory {
|
||||||
|
|
||||||
private String name = null;
|
private String name = null;
|
||||||
|
|
||||||
+1
-1
@@ -21,7 +21,7 @@ import com.intellij.psi.PsiElement;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public abstract class DiagnosticFactoryWithPsiElement<E extends PsiElement> extends AbstractDiagnosticFactory {
|
public abstract class DiagnosticFactoryWithPsiElement<E extends PsiElement> extends DiagnosticFactory {
|
||||||
protected final Severity severity;
|
protected final Severity severity;
|
||||||
protected final PositioningStrategy<? super E> positioningStrategy;
|
protected final PositioningStrategy<? super E> positioningStrategy;
|
||||||
|
|
||||||
|
|||||||
@@ -560,13 +560,13 @@ public interface Errors {
|
|||||||
|
|
||||||
|
|
||||||
// Error sets
|
// Error sets
|
||||||
ImmutableSet<? extends AbstractDiagnosticFactory> UNRESOLVED_REFERENCE_DIAGNOSTICS = ImmutableSet.of(
|
ImmutableSet<? extends DiagnosticFactory> UNRESOLVED_REFERENCE_DIAGNOSTICS = ImmutableSet.of(
|
||||||
UNRESOLVED_REFERENCE, NAMED_PARAMETER_NOT_FOUND, UNRESOLVED_REFERENCE_WRONG_RECEIVER);
|
UNRESOLVED_REFERENCE, NAMED_PARAMETER_NOT_FOUND, UNRESOLVED_REFERENCE_WRONG_RECEIVER);
|
||||||
ImmutableSet<? extends AbstractDiagnosticFactory> UNUSED_ELEMENT_DIAGNOSTICS = ImmutableSet.of(
|
ImmutableSet<? extends DiagnosticFactory> UNUSED_ELEMENT_DIAGNOSTICS = ImmutableSet.of(
|
||||||
UNUSED_VARIABLE, UNUSED_PARAMETER, ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE);
|
UNUSED_VARIABLE, UNUSED_PARAMETER, ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE);
|
||||||
ImmutableSet<? extends AbstractDiagnosticFactory> REDECLARATION_DIAGNOSTICS = ImmutableSet.of(
|
ImmutableSet<? extends DiagnosticFactory> REDECLARATION_DIAGNOSTICS = ImmutableSet.of(
|
||||||
REDECLARATION, NAME_SHADOWING);
|
REDECLARATION, NAME_SHADOWING);
|
||||||
ImmutableSet<? extends AbstractDiagnosticFactory> TYPE_INFERENCE_ERRORS = ImmutableSet.of(
|
ImmutableSet<? extends DiagnosticFactory> TYPE_INFERENCE_ERRORS = ImmutableSet.of(
|
||||||
TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER, TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS, TYPE_INFERENCE_TYPE_CONSTRUCTOR_MISMATCH,
|
TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER, TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS, TYPE_INFERENCE_TYPE_CONSTRUCTOR_MISMATCH,
|
||||||
TYPE_INFERENCE_UPPER_BOUND_VIOLATED, TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH);
|
TYPE_INFERENCE_UPPER_BOUND_VIOLATED, TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH);
|
||||||
|
|
||||||
@@ -584,8 +584,8 @@ public interface Errors {
|
|||||||
if (Modifier.isStatic(field.getModifiers())) {
|
if (Modifier.isStatic(field.getModifiers())) {
|
||||||
try {
|
try {
|
||||||
Object value = field.get(null);
|
Object value = field.get(null);
|
||||||
if (value instanceof AbstractDiagnosticFactory) {
|
if (value instanceof DiagnosticFactory) {
|
||||||
AbstractDiagnosticFactory factory = (AbstractDiagnosticFactory)value;
|
DiagnosticFactory factory = (DiagnosticFactory)value;
|
||||||
factory.setName(field.getName());
|
factory.setName(field.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -17,7 +17,7 @@
|
|||||||
package org.jetbrains.jet.lang.diagnostics.rendering;
|
package org.jetbrains.jet.lang.diagnostics.rendering;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||||
@@ -474,9 +474,9 @@ public class DefaultErrorMessages {
|
|||||||
if (Modifier.isStatic(field.getModifiers())) {
|
if (Modifier.isStatic(field.getModifiers())) {
|
||||||
try {
|
try {
|
||||||
Object fieldValue = field.get(null);
|
Object fieldValue = field.get(null);
|
||||||
if (fieldValue instanceof AbstractDiagnosticFactory) {
|
if (fieldValue instanceof DiagnosticFactory) {
|
||||||
if (MAP.get((AbstractDiagnosticFactory) fieldValue) == null) {
|
if (MAP.get((DiagnosticFactory) fieldValue) == null) {
|
||||||
throw new IllegalStateException("No default diagnostic renderer is provided for " + ((AbstractDiagnosticFactory)fieldValue).getName());
|
throw new IllegalStateException("No default diagnostic renderer is provided for " + ((DiagnosticFactory)fieldValue).getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -26,8 +26,8 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public final class DiagnosticFactoryToRendererMap {
|
public final class DiagnosticFactoryToRendererMap {
|
||||||
private final Map<AbstractDiagnosticFactory, DiagnosticRenderer<?>> map =
|
private final Map<DiagnosticFactory, DiagnosticRenderer<?>> map =
|
||||||
new HashMap<AbstractDiagnosticFactory, DiagnosticRenderer<?>>();
|
new HashMap<DiagnosticFactory, DiagnosticRenderer<?>>();
|
||||||
private boolean immutable = false;
|
private boolean immutable = false;
|
||||||
|
|
||||||
private void checkMutability() {
|
private void checkMutability() {
|
||||||
@@ -64,7 +64,7 @@ public final class DiagnosticFactoryToRendererMap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public DiagnosticRenderer<?> get(@NotNull AbstractDiagnosticFactory factory) {
|
public DiagnosticRenderer<?> get(@NotNull DiagnosticFactory factory) {
|
||||||
return map.get(factory);
|
return map.get(factory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -22,7 +22,7 @@ import com.intellij.psi.tree.IElementType;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.JetNodeTypes;
|
import org.jetbrains.jet.JetNodeTypes;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages;
|
import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages;
|
||||||
import org.jetbrains.jet.lang.psi.JetConstantExpression;
|
import org.jetbrains.jet.lang.psi.JetConstantExpression;
|
||||||
@@ -50,8 +50,8 @@ public class CompileTimeConstantResolver {
|
|||||||
@NotNull JetType expectedType
|
@NotNull JetType expectedType
|
||||||
) {
|
) {
|
||||||
CompileTimeConstant<?> compileTimeConstant = getCompileTimeConstant(expression, expectedType);
|
CompileTimeConstant<?> compileTimeConstant = getCompileTimeConstant(expression, expectedType);
|
||||||
Set<AbstractDiagnosticFactory> errorsThatDependOnExpectedType =
|
Set<DiagnosticFactory> errorsThatDependOnExpectedType =
|
||||||
Sets.<AbstractDiagnosticFactory>newHashSet(CONSTANT_EXPECTED_TYPE_MISMATCH, NULL_FOR_NONNULL_TYPE);
|
Sets.<DiagnosticFactory>newHashSet(CONSTANT_EXPECTED_TYPE_MISMATCH, NULL_FOR_NONNULL_TYPE);
|
||||||
|
|
||||||
if (compileTimeConstant instanceof ErrorValueWithDiagnostic) {
|
if (compileTimeConstant instanceof ErrorValueWithDiagnostic) {
|
||||||
Diagnostic diagnostic = ((ErrorValueWithDiagnostic) compileTimeConstant).getDiagnostic();
|
Diagnostic diagnostic = ((ErrorValueWithDiagnostic) compileTimeConstant).getDiagnostic();
|
||||||
|
|||||||
+2
-2
@@ -27,7 +27,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.JetNodeTypes;
|
import org.jetbrains.jet.JetNodeTypes;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
@@ -459,7 +459,7 @@ public class ExpressionTypingUtils {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void report(@NotNull Diagnostic diagnostic) {
|
public void report(@NotNull Diagnostic diagnostic) {
|
||||||
AbstractDiagnosticFactory factory = diagnostic.getFactory();
|
DiagnosticFactory factory = diagnostic.getFactory();
|
||||||
if ((factory == TYPE_MISMATCH || factory == CONSTANT_EXPECTED_TYPE_MISMATCH || factory == NULL_FOR_NONNULL_TYPE)
|
if ((factory == TYPE_MISMATCH || factory == CONSTANT_EXPECTED_TYPE_MISMATCH || factory == NULL_FOR_NONNULL_TYPE)
|
||||||
&& diagnostic.getPsiElement() == expressionToWatch) {
|
&& diagnostic.getPsiElement() == expressionToWatch) {
|
||||||
mismatchFound[0] = true;
|
mismatchFound[0] = true;
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public abstract class AbstractJetDiagnosticsTest extends JetLiteFixture {
|
|||||||
|
|
||||||
public static final String DIAGNOSTICS_DIRECTIVE = "DIAGNOSTICS";
|
public static final String DIAGNOSTICS_DIRECTIVE = "DIAGNOSTICS";
|
||||||
public static final Pattern DIAGNOSTICS_PATTERN = Pattern.compile("([\\+\\-!])(\\w+)\\s*");
|
public static final Pattern DIAGNOSTICS_PATTERN = Pattern.compile("([\\+\\-!])(\\w+)\\s*");
|
||||||
public static final ImmutableSet<AbstractDiagnosticFactory> DIAGNOSTICS_TO_INCLUDE_ANYWAY =
|
public static final ImmutableSet<DiagnosticFactory> DIAGNOSTICS_TO_INCLUDE_ANYWAY =
|
||||||
ImmutableSet.of(
|
ImmutableSet.of(
|
||||||
Errors.UNRESOLVED_REFERENCE,
|
Errors.UNRESOLVED_REFERENCE,
|
||||||
Errors.UNRESOLVED_REFERENCE_WRONG_RECEIVER,
|
Errors.UNRESOLVED_REFERENCE_WRONG_RECEIVER,
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package org.jetbrains.jet.plugin.quickfix;
|
|||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import com.intellij.codeInsight.intention.IntentionAction;
|
import com.intellij.codeInsight.intention.IntentionAction;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.psi.JetClass;
|
import org.jetbrains.jet.lang.psi.JetClass;
|
||||||
import org.jetbrains.jet.plugin.codeInsight.ImplementMethodsHandler;
|
import org.jetbrains.jet.plugin.codeInsight.ImplementMethodsHandler;
|
||||||
|
|
||||||
@@ -30,14 +30,14 @@ import static org.jetbrains.jet.lexer.JetTokens.*;
|
|||||||
|
|
||||||
public class QuickFixes {
|
public class QuickFixes {
|
||||||
|
|
||||||
private static final Multimap<AbstractDiagnosticFactory, JetIntentionActionsFactory> factories = HashMultimap.create();
|
private static final Multimap<DiagnosticFactory, JetIntentionActionsFactory> factories = HashMultimap.create();
|
||||||
private static final Multimap<AbstractDiagnosticFactory, IntentionAction> actions = HashMultimap.create();
|
private static final Multimap<DiagnosticFactory, IntentionAction> actions = HashMultimap.create();
|
||||||
|
|
||||||
public static Collection<JetIntentionActionsFactory> getActionsFactories(AbstractDiagnosticFactory diagnosticFactory) {
|
public static Collection<JetIntentionActionsFactory> getActionsFactories(DiagnosticFactory diagnosticFactory) {
|
||||||
return factories.get(diagnosticFactory);
|
return factories.get(diagnosticFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Collection<IntentionAction> getActions(AbstractDiagnosticFactory diagnosticFactory) {
|
public static Collection<IntentionAction> getActions(DiagnosticFactory diagnosticFactory) {
|
||||||
return actions.get(diagnosticFactory);
|
return actions.get(diagnosticFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ import org.jetbrains.jet.lang.descriptors.CallableDescriptor;
|
|||||||
import org.jetbrains.jet.lang.descriptors.SimpleFunctionDescriptor;
|
import org.jetbrains.jet.lang.descriptors.SimpleFunctionDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor;
|
import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
@@ -303,7 +303,7 @@ public class KotlinInlineValHandler extends InlineActionHandler {
|
|||||||
JetFunctionLiteral functionLiteral = functionLiteralExpression.getFunctionLiteral();
|
JetFunctionLiteral functionLiteral = functionLiteralExpression.getFunctionLiteral();
|
||||||
BindingContext context = cancelableResolveSession.resolveToElement(functionLiteralExpression);
|
BindingContext context = cancelableResolveSession.resolveToElement(functionLiteralExpression);
|
||||||
for (Diagnostic diagnostic : context.getDiagnostics()) {
|
for (Diagnostic diagnostic : context.getDiagnostics()) {
|
||||||
AbstractDiagnosticFactory factory = diagnostic.getFactory();
|
DiagnosticFactory factory = diagnostic.getFactory();
|
||||||
PsiElement element = diagnostic.getPsiElement();
|
PsiElement element = diagnostic.getPsiElement();
|
||||||
boolean hasCantInferParameter = factory == Errors.CANNOT_INFER_PARAMETER_TYPE && element.getParent().getParent() == functionLiteral;
|
boolean hasCantInferParameter = factory == Errors.CANNOT_INFER_PARAMETER_TYPE && element.getParent().getParent() == functionLiteral;
|
||||||
boolean hasUnresolvedItOrThis = factory == Errors.UNRESOLVED_REFERENCE && element.getText().equals("it") &&
|
boolean hasUnresolvedItOrThis = factory == Errors.UNRESOLVED_REFERENCE && element.getText().equals("it") &&
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import org.jetbrains.jet.ConfigurationKind;
|
|||||||
import org.jetbrains.jet.JetLiteFixture;
|
import org.jetbrains.jet.JetLiteFixture;
|
||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.lang.diagnostics.AbstractDiagnosticFactory;
|
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||||
import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages;
|
import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages;
|
||||||
@@ -48,14 +48,14 @@ public class DiagnosticMessageTest extends JetLiteFixture {
|
|||||||
return PluginTestCaseBase.getTestDataPathBase() + "/diagnosticMessage/";
|
return PluginTestCaseBase.getTestDataPathBase() + "/diagnosticMessage/";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doTest(String name, int diagnosticNumber, AbstractDiagnosticFactory... diagnosticFactories) throws Exception {
|
public void doTest(String name, int diagnosticNumber, DiagnosticFactory... diagnosticFactories) throws Exception {
|
||||||
String fileName = name + ".kt";
|
String fileName = name + ".kt";
|
||||||
JetFile psiFile = createPsiFile(null, fileName, loadFile(fileName));
|
JetFile psiFile = createPsiFile(null, fileName, loadFile(fileName));
|
||||||
|
|
||||||
AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(psiFile, Collections.<AnalyzerScriptParameter>emptyList());
|
AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(psiFile, Collections.<AnalyzerScriptParameter>emptyList());
|
||||||
BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
BindingContext bindingContext = analyzeExhaust.getBindingContext();
|
||||||
|
|
||||||
final Set<AbstractDiagnosticFactory> factoriesSet = Sets.newHashSet(diagnosticFactories);
|
final Set<DiagnosticFactory> factoriesSet = Sets.newHashSet(diagnosticFactories);
|
||||||
List<Diagnostic> diagnostics = ContainerUtil.filter(bindingContext.getDiagnostics().all(), new Condition<Diagnostic>() {
|
List<Diagnostic> diagnostics = ContainerUtil.filter(bindingContext.getDiagnostics().all(), new Condition<Diagnostic>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean value(Diagnostic diagnostic) {
|
public boolean value(Diagnostic diagnostic) {
|
||||||
|
|||||||
Reference in New Issue
Block a user