[FE] Move type-related checks to TypeResolver

This commit is contained in:
Anastasiya Shadrina
2021-11-03 19:54:08 +07:00
committed by TeamCityServer
parent 9896cbd2b8
commit 7ab9b68ad5
10 changed files with 95 additions and 38 deletions
@@ -0,0 +1,15 @@
// !DIAGNOSTICS: -UNCHECKED_CAST
context(Any)
fun f(g: context(Any) () -> Unit, value: Any): context(A) () -> Unit {
return value as (context(A) () -> Unit)
}
context(String, Int)
class A {
context(Any)
val p: Any get() = 42
context(String, Int)
fun m() {}
}
@@ -0,0 +1,15 @@
// !DIAGNOSTICS: -UNCHECKED_CAST
<!UNSUPPORTED_FEATURE!>context(Any)<!>
fun f(g: <!UNSUPPORTED_FEATURE!>context(Any)<!> () -> Unit, value: Any): <!UNSUPPORTED_FEATURE!>context(A)<!> () -> Unit {
return value as (<!UNSUPPORTED_FEATURE!>context(A)<!> () -> Unit)
}
<!UNSUPPORTED_FEATURE!>context(String, Int)<!>
class A {
<!UNSUPPORTED_FEATURE!>context(Any)<!>
val p: Any get() = 42
<!UNSUPPORTED_FEATURE!>context(String, Int)<!>
fun m() {}
}
@@ -0,0 +1,12 @@
package
public fun f(/*0*/ g: context(kotlin.Any) () -> kotlin.Unit, /*1*/ value: kotlin.Any): context(A) () -> kotlin.Unit
public final class A {
public constructor A()
public final val p: kotlin.Any
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final fun m(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}