Report ABI version errors before diagnostics and other errors
Otherwise they're difficult to find in the end of the compiler messages
This commit is contained in:
+4
-3
@@ -223,17 +223,18 @@ public final class AnalyzerWithCompilerReport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void analyzeAndReport(@NotNull Function0<AnalyzeExhaust> analyzer, @NotNull Collection<JetFile> files) {
|
public void analyzeAndReport(@NotNull Function0<AnalyzeExhaust> analyzer, @NotNull Collection<JetFile> files) {
|
||||||
reportSyntaxErrors(files);
|
|
||||||
analyzeExhaust = analyzer.invoke();
|
analyzeExhaust = analyzer.invoke();
|
||||||
|
reportAbiVersionErrors();
|
||||||
|
reportSyntaxErrors(files);
|
||||||
|
//noinspection ConstantConditions
|
||||||
reportDiagnostics(analyzeExhaust.getBindingContext(), messageCollectorWrapper);
|
reportDiagnostics(analyzeExhaust.getBindingContext(), messageCollectorWrapper);
|
||||||
reportIncompleteHierarchies();
|
reportIncompleteHierarchies();
|
||||||
reportAlternativeSignatureErrors();
|
reportAlternativeSignatureErrors();
|
||||||
reportAbiVersionErrors();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static class MyDiagnostic<E extends PsiElement> extends SimpleDiagnostic<E> {
|
private static class MyDiagnostic<E extends PsiElement> extends SimpleDiagnostic<E> {
|
||||||
private String message;
|
private final String message;
|
||||||
|
|
||||||
public MyDiagnostic(@NotNull E psiElement, @NotNull DiagnosticFactory0<E> factory, String message) {
|
public MyDiagnostic(@NotNull E psiElement, @NotNull DiagnosticFactory0<E> factory, String message) {
|
||||||
super(psiElement, factory, Severity.ERROR);
|
super(psiElement, factory, Severity.ERROR);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
WARNING: $TESTDATA_DIR$/wrongAbiVersion.kt: (3, 9) Parameter 'x' is never used
|
|
||||||
ERROR: $TESTDATA_DIR$/wrongAbiVersion.kt: (4, 3) Unresolved reference: bar
|
|
||||||
ERROR: $TESTDATA_DIR$/wrongAbiVersionLib/ClassWithWrongAbiVersion.class: (0, 0) Class 'ClassWithWrongAbiVersion' was compiled with an incompatible version of Kotlin. Its ABI version is -1, expected ABI version is $ABI_VERSION$
|
ERROR: $TESTDATA_DIR$/wrongAbiVersionLib/ClassWithWrongAbiVersion.class: (0, 0) Class 'ClassWithWrongAbiVersion' was compiled with an incompatible version of Kotlin. Its ABI version is -1, expected ABI version is $ABI_VERSION$
|
||||||
ERROR: $TESTDATA_DIR$/wrongAbiVersionLib/wrong/WrongPackage.class: (0, 0) Class 'wrong/WrongPackage' was compiled with an incompatible version of Kotlin. Its ABI version is -1, expected ABI version is $ABI_VERSION$
|
ERROR: $TESTDATA_DIR$/wrongAbiVersionLib/wrong/WrongPackage.class: (0, 0) Class 'wrong/WrongPackage' was compiled with an incompatible version of Kotlin. Its ABI version is -1, expected ABI version is $ABI_VERSION$
|
||||||
|
WARNING: $TESTDATA_DIR$/wrongAbiVersion.kt: (3, 9) Parameter 'x' is never used
|
||||||
|
ERROR: $TESTDATA_DIR$/wrongAbiVersion.kt: (4, 3) Unresolved reference: bar
|
||||||
COMPILATION_ERROR
|
COMPILATION_ERROR
|
||||||
Reference in New Issue
Block a user