Force resolve annotations in annotation checker

#KT-46173 Fixed
This commit is contained in:
Dmitriy Novozhilov
2021-04-19 10:55:56 +03:00
committed by TeamCityServer
parent 83bae89ed8
commit 7fb2bf00c5
39 changed files with 83 additions and 462 deletions
@@ -1,20 +0,0 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
// FILE: Foo.java
public class Foo {
public static <K, V> void create(java.util.Map<? extends K, ? extends V> m) { return null; }
}
// FILE: test.kt
fun test(properties: Map<String, String>, nullableProperties: Map<String, String>?) {
val f1 = Foo.create(select1(properties, myEmptyMap()))
val f2 = Foo.create(nullableProperties ?: myEmptyMap())
}
fun <T, R> myEmptyMap(): Map<T, R> = TODO()
@Suppress("INVISIBLE_REFERENCE")
fun <S> select1(x: S, y: S): <!HIDDEN, HIDDEN!>@kotlin.internal.Exact<!> S = y
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
@@ -16,5 +17,5 @@ fun test(properties: Map<String, String>, nullableProperties: Map<String, String
fun <T, R> myEmptyMap(): Map<T, R> = TODO()
@Suppress("INVISIBLE_REFERENCE")
@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER", "HIDDEN")
fun <S> select1(x: S, y: S): @kotlin.internal.Exact S = y
@@ -1,7 +1,7 @@
package
public fun </*0*/ T, /*1*/ R> myEmptyMap(): kotlin.collections.Map<T, R>
@kotlin.Suppress(names = {"INVISIBLE_REFERENCE"}) public fun </*0*/ S> select1(/*0*/ x: S, /*1*/ y: S): S
@kotlin.Suppress(names = {"INVISIBLE_REFERENCE", "INVISIBLE_MEMBER", "HIDDEN"}) public fun </*0*/ S> select1(/*0*/ x: S, /*1*/ y: S): S
public fun test(/*0*/ properties: kotlin.collections.Map<kotlin.String, kotlin.String>, /*1*/ nullableProperties: kotlin.collections.Map<kotlin.String, kotlin.String>?): kotlin.Unit
public open class Foo {
@@ -1,5 +1,5 @@
FILE: implicitNothingInDelegate.kt
@R|kotlin/Suppress|(vararg(String(INVISIBLE_REFERENCE))) public final operator fun <V, V1 : R|V|> R|kotlin/collections/Map<in kotlin/String, @Exact V>|.getValue(thisRef: R|kotlin/Any?|, property: R|kotlin/reflect/KProperty<*>|): R|V1| {
@R|kotlin/Suppress|(vararg(String(INVISIBLE_REFERENCE), String(INVISIBLE_MEMBER))) public final operator fun <V, V1 : R|V|> R|kotlin/collections/Map<in kotlin/String, @Exact V>|.getValue(thisRef: R|kotlin/Any?|, property: R|kotlin/reflect/KProperty<*>|): R|V1| {
^getValue Null(null)!!
}
public final val m2: R|kotlin/collections/Map<kotlin/String, *>| = R|kotlin/collections/mapOf|<R|kotlin/String|, R|kotlin/String|>(String(baz).R|kotlin/to|<R|kotlin/String|, R|kotlin/String|>(String(bat)))
@@ -4,7 +4,7 @@
import kotlin.reflect.KProperty
@Suppress("INVISIBLE_REFERENCE")
@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
public operator fun <V, V1 : V> Map<in String, @kotlin.internal.Exact V>.getValue(thisRef: Any?, property: KProperty<*>): V1 = null!!
val m2: Map<String, *> = mapOf("baz" to "bat")
@@ -3,5 +3,5 @@ package
public val bar: kotlin.String
public val m2: kotlin.collections.Map<kotlin.String, *>
public fun foo(): kotlin.Unit
@kotlin.Suppress(names = {"INVISIBLE_REFERENCE"}) public operator fun </*0*/ V, /*1*/ V1 : V> kotlin.collections.Map<in kotlin.String, V>.getValue(/*0*/ thisRef: kotlin.Any?, /*1*/ property: kotlin.reflect.KProperty<*>): V1
@kotlin.Suppress(names = {"INVISIBLE_REFERENCE", "INVISIBLE_MEMBER"}) public operator fun </*0*/ V, /*1*/ V1 : V> kotlin.collections.Map<in kotlin.String, V>.getValue(/*0*/ thisRef: kotlin.Any?, /*1*/ property: kotlin.reflect.KProperty<*>): V1