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);
|
||||
}
|
||||
|
||||
@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")
|
||||
public void testExtensions() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/extensions.kt");
|
||||
|
||||
Reference in New Issue
Block a user