[FIR] KT-57665: Make dynamic members' parameters dynamic
Parameter types are not only used "to accept" some data, but they also are used as inputs for inference (expected types) ^KT-57665 Fixed
This commit is contained in:
committed by
Space Team
parent
18f80b1ab5
commit
3b0a923210
@@ -128,7 +128,7 @@ class FirDynamicMembersStorage(val session: FirSession) : FirSessionComponent {
|
||||
private val anyArrayTypeRef = buildResolvedTypeRef {
|
||||
type = ConeClassLikeTypeImpl(
|
||||
StandardClassIds.Array.toLookupTag(),
|
||||
arrayOf(session.builtinTypes.nullableAnyType.coneType),
|
||||
arrayOf(dynamicTypeRef.coneType),
|
||||
isNullable = false
|
||||
)
|
||||
}
|
||||
|
||||
+9
-9
@@ -2,15 +2,15 @@ fun test(d: dynamic) {
|
||||
val a = arrayOf(1, 2, 3)
|
||||
|
||||
d.foo(*d)
|
||||
d.foo(*<!ARGUMENT_TYPE_MISMATCH!>a<!>)
|
||||
d.foo(1, "2", *<!ARGUMENT_TYPE_MISMATCH!>a<!>)
|
||||
d.foo(1, *<!ARGUMENT_TYPE_MISMATCH!>a<!>) <!VARARG_OUTSIDE_PARENTHESES!>{ }<!>
|
||||
d.foo(*<!ARGUMENT_TYPE_MISMATCH!>a<!>) <!VARARG_OUTSIDE_PARENTHESES!>{ "" }<!>
|
||||
d.foo(*<!ARGUMENT_TYPE_MISMATCH!>a<!>, *<!ARGUMENT_TYPE_MISMATCH!>a<!>)
|
||||
d.foo(*<!ARGUMENT_TYPE_MISMATCH!>a<!>, *<!ARGUMENT_TYPE_MISMATCH!>a<!>) <!VARARG_OUTSIDE_PARENTHESES!>{ "" }<!>
|
||||
d.foo(*<!ARGUMENT_TYPE_MISMATCH!>a<!>, 1, { "" }, *<!ARGUMENT_TYPE_MISMATCH!>a<!>)
|
||||
d.foo(*<!ARGUMENT_TYPE_MISMATCH!>a<!>, 1)
|
||||
d.foo(*<!ARGUMENT_TYPE_MISMATCH!>a<!>, *<!ARGUMENT_TYPE_MISMATCH!>a<!>, { "" })
|
||||
d.foo(*a)
|
||||
d.foo(1, "2", *a)
|
||||
d.foo(1, *a) <!VARARG_OUTSIDE_PARENTHESES!>{ }<!>
|
||||
d.foo(*a) <!VARARG_OUTSIDE_PARENTHESES!>{ "" }<!>
|
||||
d.foo(*a, *a)
|
||||
d.foo(*a, *a) <!VARARG_OUTSIDE_PARENTHESES!>{ "" }<!>
|
||||
d.foo(*a, 1, { "" }, *a)
|
||||
d.foo(*a, 1)
|
||||
d.foo(*a, *a, { "" })
|
||||
|
||||
bar(d)
|
||||
bar(d, d)
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
// ISSUE: KT-57665
|
||||
// DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun <T> T.foo(a: String, b: (T) -> Unit) {
|
||||
this.asDynamic().goo(jso {
|
||||
this.<!UNRESOLVED_REFERENCE!>asjhasdas<!>
|
||||
})
|
||||
}
|
||||
|
||||
fun <T : Any> jso(): T =
|
||||
js("({})")
|
||||
|
||||
fun <T : Any> jso(
|
||||
block: T.() -> Unit,
|
||||
): T = jso<T>().apply(block)
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-57665
|
||||
// DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
|
||||
Reference in New Issue
Block a user