Tests for extensions properties on dynamic types
This commit is contained in:
@@ -0,0 +1,49 @@
|
|||||||
|
// !MARK_DYNAMIC_CALLS
|
||||||
|
|
||||||
|
// MODULE[js]: m1
|
||||||
|
// FILE: k.kt
|
||||||
|
|
||||||
|
fun test(d: dynamic) {
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!>
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!> = 1
|
||||||
|
|
||||||
|
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!>
|
||||||
|
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!> = 1
|
||||||
|
|
||||||
|
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!>
|
||||||
|
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!> = 1
|
||||||
|
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onNullableAnyVal<!> = 1
|
||||||
|
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onStringVal<!> = 1
|
||||||
|
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onDynamicVal<!> = 1
|
||||||
|
|
||||||
|
d?.<!DEBUG_INFO_DYNAMIC!>onDynamicVal<!> = 1
|
||||||
|
|
||||||
|
(d: String).onStringVal
|
||||||
|
(d: Any).onAnyVal
|
||||||
|
(d: Any?).onNullableAnyVal
|
||||||
|
(d: Any).onDynamicVal
|
||||||
|
|
||||||
|
<!VAL_REASSIGNMENT!>(d: String).onStringVal<!> = 1
|
||||||
|
<!VAL_REASSIGNMENT!>(d: Any).onAnyVal<!> = 1
|
||||||
|
<!VAL_REASSIGNMENT!>(d: Any?).onNullableAnyVal<!> = 1
|
||||||
|
<!VAL_REASSIGNMENT!>(d: Any).onDynamicVal<!> = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
val Any.onAnyVal: Int get() = 1
|
||||||
|
val Any?.onNullableAnyVal: Int get() = 1
|
||||||
|
val String.onStringVal: Int get() = 1
|
||||||
|
val dynamic.onDynamicVal: Int get() = 1
|
||||||
|
|
||||||
|
class C {
|
||||||
|
fun test(d: dynamic) {
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>memberVal<!>
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>memberExtensionVal<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
val memberVal = 1
|
||||||
|
val Any.memberExtensionVal: Int
|
||||||
|
get() = 1
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal val kotlin.Any.onAnyVal: kotlin.Int
|
||||||
|
internal val dynamic.onDynamicVal: kotlin.Int
|
||||||
|
internal val kotlin.Any?.onNullableAnyVal: kotlin.Int
|
||||||
|
internal val kotlin.String.onStringVal: kotlin.Int
|
||||||
|
internal fun test(/*0*/ d: dynamic): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class C {
|
||||||
|
public constructor C()
|
||||||
|
internal final val memberVal: kotlin.Int = 1
|
||||||
|
internal final val kotlin.Any.memberExtensionVal: kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
internal final fun test(/*0*/ d: dynamic): kotlin.Unit
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
// !MARK_DYNAMIC_CALLS
|
||||||
|
|
||||||
|
// MODULE[js]: m1
|
||||||
|
// FILE: k.kt
|
||||||
|
|
||||||
|
fun test(d: dynamic) {
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!>
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!> = 1
|
||||||
|
|
||||||
|
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!>
|
||||||
|
d?.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!> = 1
|
||||||
|
|
||||||
|
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!>
|
||||||
|
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!> = 1
|
||||||
|
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onNullableAnyVar<!> = 1
|
||||||
|
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onStringVar<!> = 1
|
||||||
|
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>onDynamicVar<!> = 1
|
||||||
|
|
||||||
|
d?.<!DEBUG_INFO_DYNAMIC!>onDynamicVar<!> = 1
|
||||||
|
|
||||||
|
(d: String).onStringVar
|
||||||
|
(d: Any).onAnyVar
|
||||||
|
(d: Any?).onNullableAnyVar
|
||||||
|
(d: Any).onDynamicVar
|
||||||
|
|
||||||
|
(d: String).onStringVar = 1
|
||||||
|
(d: Any).onAnyVar = 1
|
||||||
|
(d: Any?).onNullableAnyVar = 1
|
||||||
|
(d: Any).onDynamicVar = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
var Any.onAnyVar: Int
|
||||||
|
get() = 1
|
||||||
|
set(v) {}
|
||||||
|
|
||||||
|
var Any?.onNullableAnyVar: Int
|
||||||
|
get() = 1
|
||||||
|
set(v) {}
|
||||||
|
|
||||||
|
var String.onStringVar: Int
|
||||||
|
get() = 1
|
||||||
|
set(v) {}
|
||||||
|
|
||||||
|
var dynamic.onDynamicVar: Int
|
||||||
|
get() = 1
|
||||||
|
set(v) {}
|
||||||
|
|
||||||
|
class C {
|
||||||
|
fun test(d: dynamic) {
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>memberVar<!>
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>memberExtensionVar<!>
|
||||||
|
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>memberVar<!> = 1
|
||||||
|
d.<!DEBUG_INFO_DYNAMIC!>memberExtensionVar<!> = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
var memberVar = 1
|
||||||
|
var Any.memberExtensionVar: Int
|
||||||
|
get() = 1
|
||||||
|
set(v) {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
internal var kotlin.Any.onAnyVar: kotlin.Int
|
||||||
|
internal var dynamic.onDynamicVar: kotlin.Int
|
||||||
|
internal var kotlin.Any?.onNullableAnyVar: kotlin.Int
|
||||||
|
internal var kotlin.String.onStringVar: kotlin.Int
|
||||||
|
internal fun test(/*0*/ d: dynamic): kotlin.Unit
|
||||||
|
|
||||||
|
internal final class C {
|
||||||
|
public constructor C()
|
||||||
|
internal final var memberVar: kotlin.Int
|
||||||
|
internal final var kotlin.Any.memberExtensionVar: kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
internal final fun test(/*0*/ d: dynamic): kotlin.Unit
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
@@ -3764,6 +3764,18 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("extensionVals.kt")
|
||||||
|
public void testExtensionVals() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/extensionVals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("extensionVars.kt")
|
||||||
|
public void testExtensionVars() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/extensionVars.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("extensions.kt")
|
@TestMetadata("extensions.kt")
|
||||||
public void testExtensions() throws Exception {
|
public void testExtensions() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/extensions.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/extensions.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user