Add test for KT-44926
This commit is contained in:
committed by
TeamCityServer
parent
373d0ac660
commit
c8c44da061
+10
@@ -0,0 +1,10 @@
|
||||
package test
|
||||
|
||||
@Suppress("INLINE_CLASS_DEPRECATED", "EXPERIMENTAL_FEATURE_WARNING")
|
||||
expect inline class ExpectInlineActualInline(val value: Int)
|
||||
|
||||
@Suppress("INLINE_CLASS_DEPRECATED", "EXPERIMENTAL_FEATURE_WARNING")
|
||||
expect inline class ExpectInlineActualValue(val value: Int)
|
||||
|
||||
actual typealias ExpectInlineActualInline = lib.InlineClass
|
||||
actual typealias ExpectInlineActualValue = lib.ValueClass
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package test
|
||||
|
||||
@kotlin.jvm.JvmInline
|
||||
expect value class ExpectValueActualInline(val value: Int)
|
||||
|
||||
@kotlin.jvm.JvmInline
|
||||
expect value class ExpectValueActualValue(val value: Int)
|
||||
|
||||
actual typealias ExpectValueActualInline = lib.InlineClass
|
||||
actual typealias ExpectValueActualValue = lib.ValueClass
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package lib
|
||||
|
||||
@Suppress("INLINE_CLASS_DEPRECATED", "EXPERIMENTAL_FEATURE_WARNING")
|
||||
inline class InlineClass(val value: Int)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package lib
|
||||
|
||||
@kotlin.jvm.JvmInline
|
||||
value class ValueClass(val value: Int)
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/actualTypealiasToCompiledInlineClass/expectActualLv14.kt:9:1: error: actual typealias 'ExpectInlineActualInline' has no corresponding expected declaration
|
||||
The following declaration is incompatible because modifiers are different (companion, inner, inline):
|
||||
public final expect inline class ExpectInlineActualInline
|
||||
|
||||
actual typealias ExpectInlineActualInline = lib.InlineClass
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/actualTypealiasToCompiledInlineClass/expectActualLv14.kt:10:1: error: actual typealias 'ExpectInlineActualValue' has no corresponding expected declaration
|
||||
The following declaration is incompatible because modifiers are different (companion, inner, inline):
|
||||
public final expect inline class ExpectInlineActualValue
|
||||
|
||||
actual typealias ExpectInlineActualValue = lib.ValueClass
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
+1
@@ -0,0 +1 @@
|
||||
OK
|
||||
+25
@@ -751,6 +751,31 @@ class CompileKotlinAgainstCustomBinariesTest : AbstractKotlinCompilerIntegration
|
||||
listOf("-Xexpect-actual-linker")
|
||||
)
|
||||
}
|
||||
|
||||
fun testActualTypealiasToCompiledInlineClass() {
|
||||
val library14 = compileLibrary(
|
||||
"library14",
|
||||
additionalOptions = listOf("-language-version", "1.4")
|
||||
)
|
||||
val library15 = compileLibrary(
|
||||
"library15",
|
||||
additionalOptions = listOf("-language-version", "1.5")
|
||||
)
|
||||
compileKotlin(
|
||||
"expectActualLv14.kt",
|
||||
output = tmpdir,
|
||||
classpath = listOf(library14, library15),
|
||||
additionalOptions = listOf("-language-version", "1.4", "-Xmulti-platform"),
|
||||
expectedFileName = "output14.txt",
|
||||
)
|
||||
compileKotlin(
|
||||
"expectActualLv15.kt",
|
||||
output = tmpdir,
|
||||
classpath = listOf(library14, library15),
|
||||
additionalOptions = listOf("-language-version", "1.5", "-Xmulti-platform"),
|
||||
expectedFileName = "output15.txt",
|
||||
)
|
||||
}
|
||||
|
||||
private fun loadClassFile(className: String, dir: File, library: File) {
|
||||
val classLoader = URLClassLoader(arrayOf(dir.toURI().toURL(), library.toURI().toURL()))
|
||||
|
||||
Reference in New Issue
Block a user