25c600c556
It affected the changed test in the following way: "strict metadata version semantics" is a flag which is written to the .kotlin_module file between the version and the protobuf data, see `ModuleMapping:73`. But flags are written only for Kotlin 1.4+, i.e. if `isKotlin1Dot4OrLater` returns true. So in the test, the flag was not written, thus we did not detect that the module actually has incompatible metadata, and thus incorrectly did not report an error. It also has an effect that version requirements for nested classes will now be written correctly to protobuf with metadata version 2.0+.
26 lines
2.2 KiB
Plaintext
Vendored
26 lines
2.2 KiB
Plaintext
Vendored
error: incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors
|
|
$TMP_DIR$/library.jar!/META-INF/main.kotlin_module: error: module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 2.0.0, expected version is $ABI_VERSION$.
|
|
compiler/testData/compileKotlinAgainstCustomBinaries/strictMetadataVersionSemanticsOldVersion/source.kt:3:13: error: class 'a.C' was compiled with an incompatible version of Kotlin. The actual metadata version is 2.0.0, but the compiler version $ABI_VERSION$ can read versions up to $ABI_VERSION$.
|
|
The class is loaded from $TMP_DIR$/library.jar!/a/C.class
|
|
fun test(c: C) {
|
|
^
|
|
compiler/testData/compileKotlinAgainstCustomBinaries/strictMetadataVersionSemanticsOldVersion/source.kt:4:5: error: unresolved reference: f
|
|
f()
|
|
^
|
|
compiler/testData/compileKotlinAgainstCustomBinaries/strictMetadataVersionSemanticsOldVersion/source.kt:5:5: error: unresolved reference: v
|
|
v
|
|
^
|
|
compiler/testData/compileKotlinAgainstCustomBinaries/strictMetadataVersionSemanticsOldVersion/source.kt:6:5: error: class 'a.C' was compiled with an incompatible version of Kotlin. The actual metadata version is 2.0.0, but the compiler version $ABI_VERSION$ can read versions up to $ABI_VERSION$.
|
|
The class is loaded from $TMP_DIR$/library.jar!/a/C.class
|
|
c.let { C() }
|
|
^
|
|
compiler/testData/compileKotlinAgainstCustomBinaries/strictMetadataVersionSemanticsOldVersion/source.kt:6:7: error: class 'a.C' was compiled with an incompatible version of Kotlin. The actual metadata version is 2.0.0, but the compiler version $ABI_VERSION$ can read versions up to $ABI_VERSION$.
|
|
The class is loaded from $TMP_DIR$/library.jar!/a/C.class
|
|
c.let { C() }
|
|
^
|
|
compiler/testData/compileKotlinAgainstCustomBinaries/strictMetadataVersionSemanticsOldVersion/source.kt:6:13: error: class 'a.C' was compiled with an incompatible version of Kotlin. The actual metadata version is 2.0.0, but the compiler version $ABI_VERSION$ can read versions up to $ABI_VERSION$.
|
|
The class is loaded from $TMP_DIR$/library.jar!/a/C.class
|
|
c.let { C() }
|
|
^
|
|
COMPILATION_ERROR
|