FIR: Remove duplicated diagnostics on annotations on types.

This commit is contained in:
Mark Punzalan
2021-04-20 08:29:14 +00:00
committed by TeamCityServer
parent edb6b337dc
commit 1835185b16
18 changed files with 26 additions and 53 deletions
@@ -4,10 +4,10 @@
@Target(AnnotationTarget.TYPE)
annotation class Anno(val value: String)
fun foo(x: String): @Anno(<!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>Lorem<!>, <!TOO_MANY_ARGUMENTS, TOO_MANY_ARGUMENTS!><!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>ipsum<!>::class<!>, <!TOO_MANY_ARGUMENTS, TOO_MANY_ARGUMENTS!>"dolor"<!>, <!TOO_MANY_ARGUMENTS, TOO_MANY_ARGUMENTS!><!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>sit<!>-<!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>amet<!><!>) String { // OK
fun foo(x: String): @Anno(<!UNRESOLVED_REFERENCE!>Lorem<!>, <!TOO_MANY_ARGUMENTS!><!UNRESOLVED_REFERENCE!>ipsum<!>::class<!>, <!TOO_MANY_ARGUMENTS!>"dolor"<!>, <!TOO_MANY_ARGUMENTS!><!UNRESOLVED_REFERENCE!>sit<!>-<!UNRESOLVED_REFERENCE!>amet<!><!>) String { // OK
return x
}
abstract class Foo : @Anno(<!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>o_O<!>) Throwable() // OK
abstract class Foo : @Anno(<!UNRESOLVED_REFERENCE!>o_O<!>) Throwable() // OK
abstract class Bar<T : @Anno(<!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>O_o<!>) Any> // OK
abstract class Bar<T : @Anno(<!UNRESOLVED_REFERENCE!>O_o<!>) Any> // OK
@@ -6,5 +6,5 @@
annotation class Ann(val s: String)
fun some(): Int {
return 1 as @Ann(<!ARGUMENT_TYPE_MISMATCH, ARGUMENT_TYPE_MISMATCH!>6<!>) Int // should error but doesn't
return 1 as @Ann(<!ARGUMENT_TYPE_MISMATCH!>6<!>) Int // should error but doesn't
}
@@ -1,6 +0,0 @@
// !LANGUAGE: +ProperCheckAnnotationsTargetInTypeUsePositions
// ISSUE: KT-8325
fun foo() {
object : @<!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>__UNRESOLVED__<!> Any() {}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +ProperCheckAnnotationsTargetInTypeUsePositions
// ISSUE: KT-8325
@@ -22,8 +22,8 @@ typealias Test15 = (@A() suspend () -> Unit)?
typealias Test16 = (@A suspend () -> Unit)?
typealias Test17 = @A suspend RS.() -> Unit
typealias Test18 = (suspend () -> Unit)?
typealias Test19 = (@A({ val x: <!WRONG_MODIFIER_TARGET, WRONG_MODIFIER_TARGET!>suspend<!> String? = null; "" }()) suspend () -> Unit)?
typealias Test20 = (@A("".let { val x: <!WRONG_MODIFIER_TARGET, WRONG_MODIFIER_TARGET!>suspend<!> String? = null; it }) suspend () -> Unit)?
typealias Test19 = (@A({ val x: <!WRONG_MODIFIER_TARGET!>suspend<!> String? = null; "" }()) suspend () -> Unit)?
typealias Test20 = (@A("".let { val x: <!WRONG_MODIFIER_TARGET!>suspend<!> String? = null; it }) suspend () -> Unit)?
interface Supertype1 : suspend () -> Unit {