Support JvmPackageName with JvmMultifileClass
This is an internal feature of our standard library needed to compile new API for unsigned types
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
|
||||
// FILE: A1.kt
|
||||
|
||||
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
|
||||
@file:JvmPackageName("baz.foo.quux.bar")
|
||||
@file:JvmName("Facade")
|
||||
@file:JvmMultifileClass
|
||||
package foo.bar
|
||||
|
||||
val g: S? get() = f().substring(0, 0) + "K"
|
||||
|
||||
// FILE: A2.kt
|
||||
|
||||
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
|
||||
@file:JvmPackageName("baz.foo.quux.bar")
|
||||
@file:JvmName("Facade")
|
||||
@file:JvmMultifileClass
|
||||
package foo.bar
|
||||
|
||||
inline fun <T> i(block: () -> T): T = block()
|
||||
|
||||
// FILE: A3.kt
|
||||
|
||||
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
|
||||
@file:JvmPackageName("baz.foo.quux.bar")
|
||||
@file:JvmName("Facade")
|
||||
@file:JvmMultifileClass
|
||||
package foo.bar
|
||||
|
||||
typealias S = String
|
||||
|
||||
fun f(): String = "O"
|
||||
|
||||
// FILE: B.kt
|
||||
|
||||
import foo.bar.*
|
||||
|
||||
fun box(): S = i { f() + g }
|
||||
@@ -0,0 +1,25 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
|
||||
// FILE: A.kt
|
||||
|
||||
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
|
||||
@file:JvmPackageName("baz.foo.quux.bar")
|
||||
@file:JvmName("Facade")
|
||||
@file:JvmMultifileClass
|
||||
package foo.bar
|
||||
|
||||
typealias S = String
|
||||
|
||||
fun f(): String = "O"
|
||||
|
||||
val g: S? get() = f().substring(0, 0) + "K"
|
||||
|
||||
inline fun <T> i(block: () -> T): T = block()
|
||||
|
||||
// FILE: B.kt
|
||||
|
||||
import foo.bar.*
|
||||
|
||||
fun box(): S = i { f() + g }
|
||||
Vendored
-6
@@ -1,11 +1,5 @@
|
||||
// !DIAGNOSTICS: -INVISIBLE_MEMBER -INVISIBLE_REFERENCE
|
||||
|
||||
// FILE: a.kt
|
||||
<!JVM_PACKAGE_NAME_NOT_SUPPORTED_IN_MULTIFILE_CLASSES!>@file:JvmPackageName("a")<!>
|
||||
@file:JvmMultifileClass
|
||||
package a
|
||||
fun a() {}
|
||||
|
||||
// FILE: b.kt
|
||||
<!JVM_PACKAGE_NAME_CANNOT_BE_EMPTY!>@file:JvmPackageName("")<!>
|
||||
package b
|
||||
|
||||
compiler/testData/diagnostics/testsWithStdLib/annotations/jvmPackageName/incorrectJvmPackageName.txt
Vendored
-4
@@ -1,9 +1,5 @@
|
||||
package
|
||||
|
||||
package a {
|
||||
public fun a(): kotlin.Unit
|
||||
}
|
||||
|
||||
package b {
|
||||
public fun b(): kotlin.Unit
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
@file:JvmPackageName("j1")
|
||||
@file:JvmName("K1")
|
||||
@file:JvmMultifileClass
|
||||
package k1
|
||||
|
||||
fun f1() {}
|
||||
@@ -0,0 +1,7 @@
|
||||
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
@file:JvmPackageName("j1")
|
||||
@file:JvmName("K1")
|
||||
@file:JvmMultifileClass
|
||||
package k1
|
||||
|
||||
val v2 = Unit
|
||||
@@ -0,0 +1,7 @@
|
||||
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
@file:JvmPackageName("j1")
|
||||
@file:JvmName("K1")
|
||||
@file:JvmMultifileClass
|
||||
package k1
|
||||
|
||||
typealias T3 = List<String>
|
||||
@@ -0,0 +1,7 @@
|
||||
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
@file:JvmPackageName("j2")
|
||||
@file:JvmName("K2")
|
||||
@file:JvmMultifileClass
|
||||
package k2
|
||||
|
||||
fun f1() {}
|
||||
@@ -0,0 +1,7 @@
|
||||
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
@file:JvmPackageName("j3")
|
||||
@file:JvmName("K2")
|
||||
@file:JvmMultifileClass
|
||||
package k2
|
||||
|
||||
val v2 = Unit
|
||||
@@ -0,0 +1,5 @@
|
||||
@file:JvmName("K2")
|
||||
@file:JvmMultifileClass
|
||||
package k2
|
||||
|
||||
typealias T3 = List<String>
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
k1
|
||||
j1/K1__K1_AKt (j1/K1)
|
||||
j1/K1__K1_BKt (j1/K1)
|
||||
j1/K1__K1_CKt (j1/K1)
|
||||
k2
|
||||
k2/K2__K2_CKt (k2/K2)
|
||||
j2/K2__K2_AKt (j2/K2)
|
||||
j3/K2__K2_BKt (j3/K2)
|
||||
Reference in New Issue
Block a user