[K2, MPP] implement IR errors reporting and test infrastructure
Fix test data ^KT-56344 Fixed
This commit is contained in:
committed by
Space Team
parent
3b1071b42b
commit
59b88f33b2
@@ -0,0 +1,34 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect enum class Foo {
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>ENTRY<!>
|
||||
}<!>
|
||||
|
||||
expect enum class _TimeUnit
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual typealias Foo = FooImpl
|
||||
|
||||
actual typealias _TimeUnit = java.util.concurrent.TimeUnit
|
||||
|
||||
// FILE: FooImpl.java
|
||||
|
||||
public enum FooImpl {
|
||||
ENTRY("OK") {
|
||||
@Override
|
||||
public String getResult() {
|
||||
return value;
|
||||
}
|
||||
};
|
||||
|
||||
protected final String value;
|
||||
|
||||
public FooImpl(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public abstract String getResult();
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect enum class Foo {
|
||||
ENTRY
|
||||
}
|
||||
@@ -9,11 +9,13 @@ expect enum class _TimeUnit
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual typealias Foo = FooImpl
|
||||
|
||||
actual typealias _TimeUnit = java.util.concurrent.TimeUnit
|
||||
|
||||
// FILE: FooImpl.java
|
||||
|
||||
public enum FooImpl {
|
||||
ENTRY("OK") {
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect enum class Foo {
|
||||
ENTRY1,
|
||||
ENTRY2,
|
||||
ENTRY3;
|
||||
}<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual enum class Foo(val x: String) {
|
||||
ENTRY1("1"),
|
||||
ENTRY2("2"),
|
||||
ENTRY3("3");
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect enum class Foo {
|
||||
ENTRY1,
|
||||
ENTRY2,
|
||||
@@ -9,6 +9,7 @@ expect enum class Foo {
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual enum class Foo(val x: String) {
|
||||
ENTRY1("1"),
|
||||
ENTRY2("2"),
|
||||
|
||||
+2
-2
@@ -6,8 +6,8 @@ expect annotation class Foo2
|
||||
expect annotation class Foo3
|
||||
expect annotation class Foo4
|
||||
expect annotation class Foo5()
|
||||
expect annotation class Foo6()
|
||||
expect annotation class Foo7()
|
||||
expect annotation class Foo6<!NO_ACTUAL_FOR_EXPECT{JVM}!>()<!>
|
||||
expect annotation class Foo7<!NO_ACTUAL_FOR_EXPECT{JVM}!>()<!>
|
||||
|
||||
@<!UNRESOLVED_REFERENCE!>Foo1<!>
|
||||
fun foo() {}
|
||||
|
||||
+3
-3
@@ -5,9 +5,9 @@ expect class Foo1
|
||||
expect class Foo2
|
||||
expect class Foo3
|
||||
|
||||
expect class Bar1()
|
||||
expect class Bar2()
|
||||
expect class Bar3()
|
||||
expect class Bar1<!NO_ACTUAL_FOR_EXPECT{JVM}!>()<!>
|
||||
expect class Bar2<!NO_ACTUAL_FOR_EXPECT{JVM}!>()<!>
|
||||
expect class Bar3<!NO_ACTUAL_FOR_EXPECT{JVM}!>()<!>
|
||||
expect class Bar4()
|
||||
expect class Bar5()
|
||||
expect class Bar6()
|
||||
|
||||
+2
-2
@@ -3,12 +3,12 @@
|
||||
// FILE: common.kt
|
||||
|
||||
expect fun foo1(x: Int)
|
||||
expect fun foo2(x: Int)
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect fun foo2(x: Int)<!>
|
||||
|
||||
expect class NoArgConstructor()
|
||||
|
||||
expect fun foo3(): Int
|
||||
expect fun foo4(): Int
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect fun foo4(): Int<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -15,7 +15,7 @@ expect class C {
|
||||
}
|
||||
|
||||
expect class D {
|
||||
class N
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>class N<!>
|
||||
}
|
||||
|
||||
expect class E {
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
// FILE: common.kt
|
||||
|
||||
class Foo {
|
||||
<!NON_ABSTRACT_FUNCTION_WITH_NO_BODY!><!WRONG_MODIFIER_TARGET!>expect<!> fun bar(): String<!>
|
||||
<!NON_ABSTRACT_FUNCTION_WITH_NO_BODY, NO_ACTUAL_FOR_EXPECT{JVM}!><!WRONG_MODIFIER_TARGET!>expect<!> fun bar(): String<!>
|
||||
}
|
||||
|
||||
// MODULE: m1-jvm()()(m1-common)
|
||||
|
||||
+11
-8
@@ -1,11 +1,12 @@
|
||||
// MODULE: common
|
||||
// TARGET_PLATFORM: Common
|
||||
expect class CommonClass {
|
||||
fun memberFun()
|
||||
val memberProp: Int
|
||||
class Nested
|
||||
inner class Inner
|
||||
}
|
||||
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect class CommonClass {
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>fun memberFun()<!>
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>val memberProp: Int<!>
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>class Nested<!>
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>inner class Inner<!>
|
||||
}<!>
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual class CommonClass {
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual fun memberFun() {}<!>
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual val memberProp: Int = 42<!>
|
||||
@@ -13,15 +14,16 @@ expect class CommonClass {
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual inner class Inner<!>
|
||||
}<!>
|
||||
|
||||
expect fun commonFun()
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect fun commonFun()<!>
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual fun commonFun() {}<!>
|
||||
|
||||
expect val commonProperty: String
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect val commonProperty: String<!>
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual val commonProperty: String
|
||||
get() = "hello"<!>
|
||||
|
||||
// MODULE: intermediate()()(common)
|
||||
// TARGET_PLATFORM: Common
|
||||
|
||||
expect class IntermediateClass {
|
||||
fun memberFun()
|
||||
val memberProp: Int
|
||||
@@ -43,6 +45,7 @@ expect val intermediateProperty: String
|
||||
get() = "hello"<!>
|
||||
|
||||
// MODULE: main()()(intermediate)
|
||||
|
||||
expect class PlatformClass {
|
||||
fun memberFun()
|
||||
val memberProp: Int
|
||||
|
||||
+3
@@ -1,5 +1,6 @@
|
||||
// MODULE: common
|
||||
// TARGET_PLATFORM: Common
|
||||
|
||||
expect <!EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE!>class CommonClass<!> {
|
||||
fun memberFun()
|
||||
val memberProp: Int
|
||||
@@ -22,6 +23,7 @@ actual val <!EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE!>commonProperty<!>: String
|
||||
|
||||
// MODULE: intermediate()()(common)
|
||||
// TARGET_PLATFORM: Common
|
||||
|
||||
expect <!EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE!>class IntermediateClass<!> {
|
||||
fun memberFun()
|
||||
val memberProp: Int
|
||||
@@ -43,6 +45,7 @@ actual val <!EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE!>intermediateProperty<!>: Stri
|
||||
get() = "hello"
|
||||
|
||||
// MODULE: main()()(intermediate)
|
||||
|
||||
expect <!EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE!>class PlatformClass<!> {
|
||||
fun memberFun()
|
||||
val memberProp: Int
|
||||
|
||||
+4
-4
@@ -4,7 +4,7 @@
|
||||
expect fun parameterCount()
|
||||
fun parameterCount(p: String) {}
|
||||
|
||||
expect fun parameterCount2()
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect fun parameterCount2()<!>
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual fun parameterCount2(p: String) {}<!>
|
||||
|
||||
expect fun callableKind(): Int
|
||||
@@ -13,9 +13,9 @@ val callableKind: Int = 1
|
||||
expect fun <T> typeParameterCount()
|
||||
fun typeParameterCount() {}
|
||||
|
||||
expect enum class EnumEntries {
|
||||
ONE, TWO;
|
||||
}
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect enum class EnumEntries {
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>ONE,<!> <!NO_ACTUAL_FOR_EXPECT{JVM}!>TWO;<!>
|
||||
}<!>
|
||||
<!ACTUAL_WITHOUT_EXPECT!>actual enum class EnumEntries {
|
||||
ONE;
|
||||
}<!>
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
// !DIAGNOSTICS: -UNSUPPORTED
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect class Foo {
|
||||
constructor(p: Any)
|
||||
|
||||
fun f1(s: String): Int
|
||||
|
||||
fun f2(s: List<String>?): MutableMap<Boolean?, Foo>
|
||||
|
||||
fun <T : Set<Number>> f3(t: T): T?
|
||||
}
|
||||
|
||||
// MODULE: m2-js()()(m1-common)
|
||||
// FILE: js.kt
|
||||
|
||||
// TODO: do not suppress UNSUPPORTED once JS files in multi-platform tests are analyzed with JS analyzer facade
|
||||
|
||||
actual class Foo {
|
||||
actual constructor(p: dynamic) {}
|
||||
|
||||
actual fun f1(s: dynamic): dynamic = null!!
|
||||
|
||||
actual fun f2(s: dynamic): MutableMap<Boolean?, Foo> = null!!
|
||||
|
||||
actual fun <T : Set<Number>> f3(t: T): dynamic = null!!
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNSUPPORTED
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect class Foo {
|
||||
constructor(p: Any)
|
||||
|
||||
fun f1(s: String): Int
|
||||
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>fun f2(s: List<String>?): MutableMap<Boolean?, Foo><!>
|
||||
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>fun <T : Set<Number>> f3(t: T): T?<!>
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: FooImpl.java
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class FooImpl {
|
||||
public FooImpl(Object p) {}
|
||||
|
||||
public final int f1(String s) { return 0; }
|
||||
|
||||
public final Map<Boolean, FooImpl> f2(List<String> s) { return null; }
|
||||
|
||||
public final <T extends Set<Number>> T f3(T t) { return null; }
|
||||
}
|
||||
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual typealias Foo = FooImpl
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect sealed class Presence {
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>object Online: Presence<!>
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>object Offline: Presence<!>
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual typealias Presence = P
|
||||
sealed class P {
|
||||
object Online : P()
|
||||
object Offline : P()
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
// FILE: common.kt
|
||||
package common
|
||||
|
||||
expect fun foo()
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JS}!>expect fun foo()<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
Vendored
+2
-2
@@ -10,8 +10,8 @@ expect fun f4(s: () -> String)
|
||||
expect inline fun f5(s: () -> String)
|
||||
expect inline fun f6(crossinline s: () -> String)
|
||||
|
||||
expect fun f7(x: Any)
|
||||
expect fun f8(vararg x: Any)
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect fun f7(x: Any)<!>
|
||||
<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect fun f8(vararg x: Any)<!>
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
Reference in New Issue
Block a user