Minor: explicitly opt-in for diagnostics messages in MultiplatformAnalysisTests
This commit is contained in:
@@ -4,5 +4,5 @@ actual interface A<T> {
|
||||
}
|
||||
|
||||
fun main() {
|
||||
bar().<!OVERLOAD_RESOLUTION_AMBIGUITY(" public abstract actual fun foo(x: String): Unit defined in A public abstract fun foo(x: String): Unit defined in A")!>foo<!>("")
|
||||
bar().<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!>("")
|
||||
}
|
||||
|
||||
@@ -11,6 +11,6 @@ fun main() {
|
||||
// Any behaviour is acceptable, as the code is erroneous.
|
||||
// At the time of writing this test, we resolve to nearest A, i.e.
|
||||
// 'fromBottom' is resolved, and 'fromLeft' is not.
|
||||
A().<!UNRESOLVED_REFERENCE("fromLeft")!>fromLeft<!>()
|
||||
A().<!UNRESOLVED_REFERENCE!>fromLeft<!>()
|
||||
A().fromBottom()
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
// !RENDER_DIAGNOSTICS_MESSAGES
|
||||
|
||||
package sample
|
||||
|
||||
expect class <!AMBIGUOUS_ACTUALS("Class 'A'", "bottom, left")!>A<!> {
|
||||
|
||||
@@ -5,7 +5,7 @@ interface B : A
|
||||
fun testA(x: A) {
|
||||
x.foo()
|
||||
x.bar()
|
||||
x.<!UNRESOLVED_REFERENCE("baz")!>baz<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>baz<!>()
|
||||
|
||||
take_A_common_1(x)
|
||||
take_A_common_2_1(x)
|
||||
@@ -15,7 +15,7 @@ fun testA(x: A) {
|
||||
fun testB(x: B) {
|
||||
x.foo()
|
||||
x.bar()
|
||||
x.<!UNRESOLVED_REFERENCE("baz")!>baz<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>baz<!>()
|
||||
|
||||
take_A_common_1(x)
|
||||
take_A_common_2_1(x)
|
||||
|
||||
+1
-1
@@ -12,5 +12,5 @@ fun take2(x: A): DD = null!!
|
||||
fun take4(x: A): DD = null!!
|
||||
|
||||
fun test(x: A) {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY(" public fun take4(x: A): AA defined in sample in file common-1.kt public fun take4(x: A): DD defined in sample in file common-2-3.kt")!>take4<!>(x)
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>take4<!>(x)
|
||||
}
|
||||
@@ -16,10 +16,10 @@ fun take0(x: D): Unit = null!!
|
||||
|
||||
fun test_1(x: D) {
|
||||
val res0: Unit = take0(x)
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY(" public fun take1(x: A): AA defined in sample in file common-1.kt public fun take1(x: A): DD defined in sample in file common-2-3.kt public fun take1(x: B): BB defined in sample in file common-2-1.kt public fun take1(x: C): CC defined in sample in file common-2-2.kt")!>take1<!>(x)
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>take1<!>(x)
|
||||
val res2: BB = take2(x)
|
||||
val res3: BB = take3(x)
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY(" public fun take4(x: A): AA defined in sample in file common-1.kt public fun take4(x: A): DD defined in sample in file common-2-3.kt")!>take4<!>(x)
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>take4<!>(x)
|
||||
}
|
||||
|
||||
fun test_2() {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
actual class A
|
||||
|
||||
// Error: ACTUAL_WITHOUT_EXPECT, becuase we shouldn't see expects through usual dependencies
|
||||
actual class <!ACTUAL_WITHOUT_EXPECT("Actual class 'B'", "")!>B<!>
|
||||
actual class <!ACTUAL_WITHOUT_EXPECT!>B<!>
|
||||
|
||||
// OK: though we can't actualize B, we can see it and use it.
|
||||
fun useB(<!UNUSED_PARAMETER("b")!>b<!>: B) {
|
||||
fun useB(<!UNUSED_PARAMETER!>b<!>: B) {
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
actual class A
|
||||
|
||||
// Error: ACTUAL_WITHOUT_EXPECT, becuase we shouldn't see expects through usual dependencies
|
||||
actual class <!ACTUAL_WITHOUT_EXPECT("Actual class 'B'", "")!>B<!>
|
||||
actual class <!ACTUAL_WITHOUT_EXPECT!>B<!>
|
||||
|
||||
// OK: though we can't actualize B, we can see it and use it.
|
||||
fun useB(<!UNUSED_PARAMETER("b")!>b<!>: B) {
|
||||
fun useB(<!UNUSED_PARAMETER!>b<!>: B) {
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'B'", "b-common", "")!>B<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT!>B<!>
|
||||
@@ -1,3 +1,3 @@
|
||||
package foo
|
||||
|
||||
expect class <!AMBIGUOUS_ACTUALS("Class 'A'", "bottom, middle")!>A<!>
|
||||
expect class <!AMBIGUOUS_ACTUALS!>A<!>
|
||||
@@ -1,3 +1,5 @@
|
||||
// !RENDER_DIAGNOSTICS_MESSAGES
|
||||
|
||||
package foo
|
||||
|
||||
expect class <!AMBIGUOUS_ACTUALS("Class 'ActualInMiddleCompatibleInBottom'", "bottom, middle")!>ActualInMiddleCompatibleInBottom<!>
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
package foo
|
||||
|
||||
<!ACTUAL_WITHOUT_EXPECT("Class 'A'", " The following declaration is incompatible because visibility is different: public final expect class A ")!>private<!> class A
|
||||
<!ACTUAL_WITHOUT_EXPECT!>private<!> class A
|
||||
@@ -1,3 +1,5 @@
|
||||
// !RENDER_DIAGNOSTICS_MESSAGES
|
||||
|
||||
package foo
|
||||
|
||||
expect class <!AMBIGUOUS_ACTUALS("Class 'A'", "bottom, middle")!>A<!>
|
||||
+2
@@ -1,3 +1,5 @@
|
||||
// !RENDER_DIAGNOSTICS_MESSAGES
|
||||
|
||||
package foo
|
||||
|
||||
actual fun foo<!ACTUAL_WITHOUT_EXPECT("Actual function 'foo'", " The following declaration is incompatible because number of value parameters is different: public expect fun foo(): Int ")!>(x: Int)<!>: Int = x
|
||||
@@ -1 +1,3 @@
|
||||
// !RENDER_DIAGNOSTICS_MESSAGES
|
||||
|
||||
actual class <!AMBIGUOUS_EXPECTS("Actual class 'A'", "left, right")!>A<!>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
expect fun foo<!NO_ACTUAL_FOR_EXPECT("function 'foo'", "bottom for JVM", " The following declaration is incompatible because number of value parameters is different: public actual fun foo(): Int ")!>(x: Int)<!>: Int
|
||||
expect fun foo<!NO_ACTUAL_FOR_EXPECT!>(x: Int)<!>: Int
|
||||
@@ -3,4 +3,4 @@ package foo
|
||||
expect class ExpectInCommonActualInMiddle
|
||||
expect class ExpectInCommonActualInPlatforms
|
||||
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInCommonWithoutActual'", "js for JS", ""), NO_ACTUAL_FOR_EXPECT("class 'ExpectInCommonWithoutActual'", "jvm for JVM", "")!>ExpectInCommonWithoutActual<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT, NO_ACTUAL_FOR_EXPECT!>ExpectInCommonWithoutActual<!>
|
||||
|
||||
@@ -4,7 +4,7 @@ actual class ExpectInCommonActualInPlatforms
|
||||
|
||||
actual class ExpectInMiddleActualInPlatforms
|
||||
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInJsWithoutActual'", "js for JS", "")!>ExpectInJsWithoutActual<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT!>ExpectInJsWithoutActual<!>
|
||||
|
||||
expect class ExpectInJsActualInJs
|
||||
actual class ExpectInJsActualInJs
|
||||
@@ -3,7 +3,7 @@ package foo
|
||||
actual class ExpectInCommonActualInPlatforms
|
||||
actual class ExpectInMiddleActualInPlatforms
|
||||
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInJvmWithoutActual'", "jvm for JVM", "")!>ExpectInJvmWithoutActual<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT!>ExpectInJvmWithoutActual<!>
|
||||
|
||||
expect class ExpectInJvmActualInJvm
|
||||
actual class ExpectInJvmActualInJvm
|
||||
|
||||
@@ -4,4 +4,4 @@ actual class ExpectInCommonActualInMiddle
|
||||
|
||||
expect class ExpectInMiddleActualInPlatforms
|
||||
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInMiddleWithoutActual'", "js for JS", ""), NO_ACTUAL_FOR_EXPECT("class 'ExpectInMiddleWithoutActual'", "jvm for JVM", "")!>ExpectInMiddleWithoutActual<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT, NO_ACTUAL_FOR_EXPECT!>ExpectInMiddleWithoutActual<!>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package foo
|
||||
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInCommonActualInJsOnly'", "jvm for JVM", "")!>ExpectInCommonActualInJsOnly<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInCommonActualInJvmOnly'", "js for JS", "")!>ExpectInCommonActualInJvmOnly<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT!>ExpectInCommonActualInJsOnly<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT!>ExpectInCommonActualInJvmOnly<!>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package foo
|
||||
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInMiddleActualInJsOnly'", "jvm for JVM", "")!>ExpectInMiddleActualInJsOnly<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT("class 'ExpectInMiddleActualInJvmOnly'", "js for JS", "")!>ExpectInMiddleActualInJvmOnly<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT!>ExpectInMiddleActualInJsOnly<!>
|
||||
expect class <!NO_ACTUAL_FOR_EXPECT!>ExpectInMiddleActualInJvmOnly<!>
|
||||
@@ -6,4 +6,4 @@ interface SubCheck : Check {
|
||||
}
|
||||
}
|
||||
|
||||
class <!EXPLICIT_OVERRIDE_REQUIRED_IN_MIXED_MODE("public open fun test(): String defined in SubCheckClass", "public open fun test(): String defined in base.CheckClass", "all-compatibility")!>SubCheckClass<!> : CheckClass(), SubCheck
|
||||
class <!EXPLICIT_OVERRIDE_REQUIRED_IN_MIXED_MODE!>SubCheckClass<!> : CheckClass(), SubCheck
|
||||
+1
-1
@@ -10,7 +10,7 @@ fun test() {
|
||||
}
|
||||
|
||||
anotherUseA {
|
||||
<!UNRESOLVED_REFERENCE("foo")!>foo<!>()
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
}
|
||||
|
||||
anotherUseA {
|
||||
|
||||
+2
-2
@@ -5,6 +5,6 @@ actual class A {
|
||||
}
|
||||
|
||||
fun test() {
|
||||
<!RESOLUTION_TO_CLASSIFIER("TypealiasFromCommon", "EXPECT_CLASS_AS_FUNCTION", "Expected class TypealiasFromCommon does not have default constructor")!>TypealiasFromCommon<!>().<!DEBUG_INFO_MISSING_UNRESOLVED!>commonMember<!>()
|
||||
<!RESOLUTION_TO_CLASSIFIER("TypealiasFromCommon", "EXPECT_CLASS_AS_FUNCTION", "Expected class TypealiasFromCommon does not have default constructor")!>TypealiasFromCommon<!>().<!DEBUG_INFO_MISSING_UNRESOLVED!>platformwMember<!>()
|
||||
<!RESOLUTION_TO_CLASSIFIER!>TypealiasFromCommon<!>().<!DEBUG_INFO_MISSING_UNRESOLVED!>commonMember<!>()
|
||||
<!RESOLUTION_TO_CLASSIFIER!>TypealiasFromCommon<!>().<!DEBUG_INFO_MISSING_UNRESOLVED!>platformwMember<!>()
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
import kotlin.<!UNRESOLVED_REFERENCE("browser")!>browser<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>window<!>
|
||||
import <!UNRESOLVED_REFERENCE("kotlinx")!>kotlinx<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
import kotlin.<!UNRESOLVED_REFERENCE!>browser<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>window<!>
|
||||
import <!UNRESOLVED_REFERENCE!>kotlinx<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
|
||||
fun jvmSpecific() {
|
||||
val x: <!UNRESOLVED_REFERENCE("Cloneable")!>Cloneable<!>? = null
|
||||
val x: <!UNRESOLVED_REFERENCE!>Cloneable<!>? = null
|
||||
}
|
||||
|
||||
fun nativeSpecific() {
|
||||
val x: <!UNRESOLVED_REFERENCE("CPointed")!>CPointed<!>? = null
|
||||
val x: <!UNRESOLVED_REFERENCE!>CPointed<!>? = null
|
||||
}
|
||||
|
||||
fun jsSpecific() {
|
||||
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
|
||||
val windowClosed = <!UNRESOLVED_REFERENCE!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
|
||||
}
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
import kotlinx.browser.window
|
||||
import kotlinx.<!UNRESOLVED_REFERENCE("cinterop")!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
import kotlinx.<!UNRESOLVED_REFERENCE!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
|
||||
fun jvmSpecific() {
|
||||
val x: <!UNRESOLVED_REFERENCE("Cloneable")!>Cloneable<!>? = null
|
||||
val x: <!UNRESOLVED_REFERENCE!>Cloneable<!>? = null
|
||||
}
|
||||
|
||||
fun nativeSpecific() {
|
||||
val x: <!UNRESOLVED_REFERENCE("CPointed")!>CPointed<!>? = null
|
||||
val x: <!UNRESOLVED_REFERENCE!>CPointed<!>? = null
|
||||
}
|
||||
|
||||
fun jsSpecific() {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
import kotlin.<!UNRESOLVED_REFERENCE("browser")!>browser<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>window<!>
|
||||
import <!UNRESOLVED_REFERENCE("kotlinx")!>kotlinx<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
import kotlin.<!UNRESOLVED_REFERENCE!>browser<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>window<!>
|
||||
import <!UNRESOLVED_REFERENCE!>kotlinx<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
|
||||
fun jvmSpecific() {
|
||||
val x: Cloneable? = null
|
||||
}
|
||||
|
||||
fun nativeSpecific() {
|
||||
val x: <!UNRESOLVED_REFERENCE("CPointed")!>CPointed<!>? = null
|
||||
val x: <!UNRESOLVED_REFERENCE!>CPointed<!>? = null
|
||||
}
|
||||
|
||||
fun jsSpecific() {
|
||||
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
|
||||
val windowClosed = <!UNRESOLVED_REFERENCE!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
import kotlin.<!UNRESOLVED_REFERENCE("browser")!>browser<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>window<!>
|
||||
import <!UNRESOLVED_REFERENCE("kotlinx")!>kotlinx<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
import kotlin.<!UNRESOLVED_REFERENCE!>browser<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>window<!>
|
||||
import <!UNRESOLVED_REFERENCE!>kotlinx<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
|
||||
|
||||
fun jvmSpecific() {
|
||||
val x: <!UNRESOLVED_REFERENCE("Cloneable")!>Cloneable<!>? = null
|
||||
val x: <!UNRESOLVED_REFERENCE!>Cloneable<!>? = null
|
||||
}
|
||||
|
||||
fun nativeSpecific() {
|
||||
val x: <!UNRESOLVED_REFERENCE("CPointed")!>CPointed<!>? = null
|
||||
val x: <!UNRESOLVED_REFERENCE!>CPointed<!>? = null
|
||||
}
|
||||
|
||||
fun jsSpecific() {
|
||||
val windowClosed = <!UNRESOLVED_REFERENCE("window")!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
|
||||
val windowClosed = <!UNRESOLVED_REFERENCE!>window<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>closed<!>
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package sample
|
||||
|
||||
actual class <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS("A", " public final expect fun f(): Unit ")!>A<!> {
|
||||
actual class <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>A<!> {
|
||||
}
|
||||
+1
-1
@@ -99,7 +99,7 @@ abstract class AbstractMultiModuleIdeResolveTest : AbstractMultiModuleTest() {
|
||||
getFileText = { it.text },
|
||||
uncheckedDiagnostics = emptyList(),
|
||||
withNewInferenceDirective = false,
|
||||
renderDiagnosticMessages = true
|
||||
renderDiagnosticMessages = directives.contains(BaseDiagnosticsTest.RENDER_DIAGNOSTICS_MESSAGES)
|
||||
).toString()
|
||||
|
||||
KotlinTestUtils.assertEqualsToFile(expectedFile, actualTextWithDiagnostics)
|
||||
|
||||
Reference in New Issue
Block a user