Built-ins in IDE: update tests

KT-33233
This commit is contained in:
Pavel Kirpichenkov
2020-12-11 12:53:02 +03:00
parent d6c27608ac
commit 2df4d26b37
10 changed files with 83 additions and 5 deletions
@@ -0,0 +1,17 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
package mpp
import kotlin.reflect.KCallable
fun some() {
val string: String = ""
val any: Any = ""
val callableRef: KCallable<*> = ::commonFun
callableRef.name
// should be unresolved
callableRef.<!UNRESOLVED_REFERENCE!>call<!>()
}
fun commonFun() {
}
@@ -0,0 +1,10 @@
MODULE common { platform=[JVM, JS] }
MODULE jvm { platform=[JVM] }
MODULE js { platform=[JS] }
jvm -> common { kind=DEPENDS_ON }
js -> common { kind=DEPENDS_ON }
common -> STDLIB_COMMON { kind=DEPENDENCY }
jvm -> STDLIB_JVM, KOTLIN_TEST, KOTLIN_TEST_JVM, JUNIT, MOCK_JDK { kind=DEPENDENCY }
js -> STDLIB_JS { kind=DEPENDENCY }
+14
View File
@@ -0,0 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
package mpp
fun jsFun() {
}
fun test() {
val string: String = ""
val ref: kotlin.reflect.KCallable<*> = ::jsFun
ref.name
// should be unresolved
ref.<!UNRESOLVED_REFERENCE!>call<!>()
}
@@ -0,0 +1,27 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -NO_REFLECTION_IN_CLASS_PATH
package mpp
import kotlin.reflect.KAnnotatedElement
import kotlin.reflect.KCallable
import <!PLATFORM_CLASS_MAPPED_TO_KOTLIN!>java.lang.Cloneable<!>
fun foo(x: KAnnotatedElement): Boolean = true
class Foo {
fun bar(a: Int, b: Int): KCallable<*> { TODO() }
}
fun jvmFun() {
}
fun getKCallable(): KCallable<*> = ::jvmFun
fun <!LINE_MARKER!>main<!>() {
val ref = ::jvmFun
val typedRef: KCallable<*> = getKCallable()
ref.<!UNRESOLVED_REFERENCE!>call<!>()
typedRef.call()
foo(Foo::bar)
}
@@ -3,8 +3,9 @@
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() {
fun jvmSpecific(args: Array<String>) {
val x: <!UNRESOLVED_REFERENCE!>Cloneable<!>? = null
args.<!UNRESOLVED_REFERENCE!>clone<!>()
}
fun nativeSpecific() {
+2 -1
View File
@@ -3,8 +3,9 @@
import kotlinx.browser.window
import kotlinx.<!UNRESOLVED_REFERENCE!>cinterop<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>CPointed<!>
fun jvmSpecific() {
fun jvmSpecific(args: Array<String>) {
val x: <!UNRESOLVED_REFERENCE!>Cloneable<!>? = null
args.<!UNRESOLVED_REFERENCE!>clone<!>()
}
fun nativeSpecific() {
@@ -3,8 +3,9 @@
//import kotlin.browser.window
//import kotlinx.cinterop.CPointed
//
fun jvmSpecific() {
fun jvmSpecific(args: Array<String>) {
val x: Cloneable? = null
args.clone()
}
//fun nativeSpecific() {
@@ -3,8 +3,9 @@
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() {
fun jvmSpecific(args: Array<String>) {
val x: Cloneable? = null
args.clone()
}
fun nativeSpecific() {
@@ -3,8 +3,9 @@
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() {
fun jvmSpecific(args: Array<String>) {
val x: <!UNRESOLVED_REFERENCE!>Cloneable<!>? = null
args.<!UNRESOLVED_REFERENCE!>clone<!>()
}
fun nativeSpecific() {
@@ -34,6 +34,11 @@ public class MultiplatformAnalysisTestGenerated extends AbstractMultiplatformAna
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/testData/multiplatform"), Pattern.compile("^([^\\.]+)$"), null, false);
}
@TestMetadata("builtinsAndStdlib")
public void testBuiltinsAndStdlib() throws Exception {
runTest("idea/testData/multiplatform/builtinsAndStdlib/");
}
@TestMetadata("callableReferences")
public void testCallableReferences() throws Exception {
runTest("idea/testData/multiplatform/callableReferences/");