DiagnosticFactory exposes severity

This commit is contained in:
Andrey Breslav
2013-09-20 18:34:23 +04:00
parent 97435a4266
commit 3d754dd788
7 changed files with 20 additions and 8 deletions
@@ -375,7 +375,9 @@ public class CheckerTestUtil {
public static class SyntaxErrorDiagnosticFactory extends DiagnosticFactory { public static class SyntaxErrorDiagnosticFactory extends DiagnosticFactory {
public static final SyntaxErrorDiagnosticFactory INSTANCE = new SyntaxErrorDiagnosticFactory(); public static final SyntaxErrorDiagnosticFactory INSTANCE = new SyntaxErrorDiagnosticFactory();
private SyntaxErrorDiagnosticFactory() {} private SyntaxErrorDiagnosticFactory() {
super(Severity.ERROR);
}
@NotNull @NotNull
@Override @Override
@@ -397,6 +399,7 @@ public class CheckerTestUtil {
private final String name; private final String name;
private DebugInfoDiagnosticFactory(String name) { private DebugInfoDiagnosticFactory(String name) {
super(Severity.ERROR);
this.name = name; this.name = name;
} }
@@ -21,7 +21,12 @@ import org.jetbrains.annotations.NotNull;
public abstract class DiagnosticFactory { public abstract class DiagnosticFactory {
private String name = null; private String name = null;
private final Severity severity;
protected DiagnosticFactory(@NotNull Severity severity) {
this.severity = severity;
}
/*package*/ void setName(@NotNull String name) { /*package*/ void setName(@NotNull String name) {
this.name = name; this.name = name;
} }
@@ -31,6 +36,11 @@ public abstract class DiagnosticFactory {
return name; return name;
} }
@NotNull
public Severity getSeverity() {
return severity;
}
@Override @Override
public String toString() { public String toString() {
return getName(); return getName();
@@ -35,6 +35,6 @@ public class DiagnosticFactory0<E extends PsiElement> extends DiagnosticFactoryW
@NotNull @NotNull
public SimpleDiagnostic<E> on(@NotNull E element) { public SimpleDiagnostic<E> on(@NotNull E element) {
return new SimpleDiagnostic<E>(element, this, severity); return new SimpleDiagnostic<E>(element, this, getSeverity());
} }
} }
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull;
public class DiagnosticFactory1<E extends PsiElement, A> extends DiagnosticFactoryWithPsiElement<E> { public class DiagnosticFactory1<E extends PsiElement, A> extends DiagnosticFactoryWithPsiElement<E> {
@NotNull @NotNull
public ParametrizedDiagnostic<E> on(@NotNull E element, @NotNull A argument) { public ParametrizedDiagnostic<E> on(@NotNull E element, @NotNull A argument) {
return new DiagnosticWithParameters1<E, A>(element, argument, this, severity); return new DiagnosticWithParameters1<E, A>(element, argument, this, getSeverity());
} }
protected DiagnosticFactory1(Severity severity, PositioningStrategy<? super E> positioningStrategy) { protected DiagnosticFactory1(Severity severity, PositioningStrategy<? super E> positioningStrategy) {
@@ -23,7 +23,7 @@ public class DiagnosticFactory2<E extends PsiElement, A, B> extends DiagnosticFa
@NotNull @NotNull
public ParametrizedDiagnostic<E> on(@NotNull E element, @NotNull A a, @NotNull B b) { public ParametrizedDiagnostic<E> on(@NotNull E element, @NotNull A a, @NotNull B b) {
return new DiagnosticWithParameters2<E, A, B>(element, a, b, this, severity); return new DiagnosticWithParameters2<E, A, B>(element, a, b, this, getSeverity());
} }
private DiagnosticFactory2(Severity severity, PositioningStrategy<? super E> positioningStrategy) { private DiagnosticFactory2(Severity severity, PositioningStrategy<? super E> positioningStrategy) {
@@ -35,6 +35,6 @@ public class DiagnosticFactory3<E extends PsiElement, A, B, C> extends Diagnosti
@NotNull @NotNull
public ParametrizedDiagnostic<E> on(@NotNull E element, @NotNull A a, @NotNull B b, @NotNull C c) { public ParametrizedDiagnostic<E> on(@NotNull E element, @NotNull A a, @NotNull B b, @NotNull C c) {
return new DiagnosticWithParameters3<E, A, B, C>(element, a, b, c, this, severity); return new DiagnosticWithParameters3<E, A, B, C>(element, a, b, c, this, getSeverity());
} }
} }
@@ -22,11 +22,10 @@ import com.intellij.psi.PsiElement;
import java.util.List; import java.util.List;
public abstract class DiagnosticFactoryWithPsiElement<E extends PsiElement> extends DiagnosticFactory { public abstract class DiagnosticFactoryWithPsiElement<E extends PsiElement> extends DiagnosticFactory {
protected final Severity severity;
protected final PositioningStrategy<? super E> positioningStrategy; protected final PositioningStrategy<? super E> positioningStrategy;
public DiagnosticFactoryWithPsiElement(Severity severity, PositioningStrategy<? super E> positioningStrategy) { public DiagnosticFactoryWithPsiElement(Severity severity, PositioningStrategy<? super E> positioningStrategy) {
this.severity = severity; super(severity);
this.positioningStrategy = positioningStrategy; this.positioningStrategy = positioningStrategy;
} }