Simplified positioning strategy for unreachable code.

This commit is contained in:
Evgeny Gerashchenko
2014-12-04 19:34:05 +03:00
parent cd197b9ff9
commit 20ee59c1e5
2 changed files with 4 additions and 12 deletions
@@ -473,12 +473,7 @@ public interface Errors {
// Control flow / Data flow
DiagnosticFactory1<JetElement, List<TextRange>> UNREACHABLE_CODE = DiagnosticFactory1.create(
WARNING, PositioningStrategies.markTextRangesFromDiagnostic(new Function1<Diagnostic, List<TextRange>>() {
@Override
public List<TextRange> invoke(Diagnostic diagnostic) {
return UNREACHABLE_CODE.cast(diagnostic).getA();
}
}));
WARNING, PositioningStrategies.UNREACHABLE_CODE);
DiagnosticFactory0<JetVariableDeclaration> VARIABLE_WITH_NO_TYPE_NO_INITIALIZER = DiagnosticFactory0.create(ERROR, DECLARATION_NAME);
@@ -360,12 +360,9 @@ public object PositioningStrategies {
}
}
[platformStatic]
public fun markTextRangesFromDiagnostic(getTextRanges: (Diagnostic) -> List<TextRange>): PositioningStrategy<PsiElement> {
return object : PositioningStrategy<PsiElement>() {
override fun markDiagnostic(diagnostic: ParametrizedDiagnostic<out PsiElement>): List<TextRange> {
return getTextRanges(diagnostic)
}
public val UNREACHABLE_CODE: PositioningStrategy<PsiElement> = object : PositioningStrategy<PsiElement>() {
override fun markDiagnostic(diagnostic: ParametrizedDiagnostic<out PsiElement>): List<TextRange> {
return Errors.UNREACHABLE_CODE.cast(diagnostic).getA()
}
}
}