Support reading binary metadata of the next major release
Already existing tests testRequireKotlinInNestedClassesAgainst14{,Js}
now check that there's no error when loading a module/class with
metadata version 1.4.0
#KT-25972 Fixed
This commit is contained in:
+2
-5
@@ -316,15 +316,12 @@ class CompileKotlinAgainstCustomBinariesTest : AbstractKotlinCompilerIntegration
|
||||
|
||||
fun testRequireKotlinInNestedClassesAgainst14() {
|
||||
val library = compileLibrary("library", additionalOptions = listOf("-Xmetadata-version=1.4.0"))
|
||||
compileKotlin("source.kt", tmpdir, listOf(library), additionalOptions = listOf("-Xskip-metadata-version-check"))
|
||||
compileKotlin("source.kt", tmpdir, listOf(library))
|
||||
}
|
||||
|
||||
fun testRequireKotlinInNestedClassesAgainst14Js() {
|
||||
val library = compileJsLibrary("library", additionalOptions = listOf("-Xmetadata-version=1.4.0"))
|
||||
compileKotlin(
|
||||
"source.kt", File(tmpdir, "usage.js"), listOf(library), K2JSCompiler(),
|
||||
additionalOptions = listOf("-Xskip-metadata-version-check")
|
||||
)
|
||||
compileKotlin("source.kt", File(tmpdir, "usage.js"), listOf(library), K2JSCompiler())
|
||||
}
|
||||
|
||||
/*test source mapping generation when source info is absent*/
|
||||
|
||||
@@ -26,7 +26,8 @@ class KotlinJavascriptMetadata(val version: JsMetadataVersion, val moduleName: S
|
||||
|
||||
// TODO: move to JS modules
|
||||
class JsMetadataVersion(vararg numbers: Int) : BinaryVersion(*numbers) {
|
||||
override fun isCompatible() = this.isCompatibleTo(INSTANCE)
|
||||
override fun isCompatible(): Boolean =
|
||||
isMetadataVersionCompatible()
|
||||
|
||||
fun toInteger() = (patch shl 16) + (minOf(minor, 255) shl 8) + minOf(major, 255)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user