[FIR] Report warning on non-deprecated overrides of deprecated members

^KT-47902
This commit is contained in:
Dmitriy Novozhilov
2021-08-27 17:30:59 +03:00
parent ef9ad5af51
commit 88913aa2a3
18 changed files with 140 additions and 40 deletions
@@ -29,49 +29,49 @@ interface NotDeprecated {
}
open class WE : WarningDeprecated, ErrorDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class WH : WarningDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class EH : ErrorDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NW : WarningDeprecated, NotDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NE : ErrorDeprecated, NotDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NH : HiddenDeprecated, NotDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class WEH: WarningDeprecated, ErrorDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NWEH: NotDeprecated, WarningDeprecated, ErrorDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
@@ -89,12 +89,12 @@ interface E2: ErrorDeprecated
interface W2: WarningDeprecated
interface EW2: E2, W2 {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
interface HEW2: EW2, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
@@ -29,49 +29,49 @@ interface NotDeprecated {
}
open class WE : WarningDeprecated, ErrorDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class WH : WarningDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class EH : ErrorDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NW : WarningDeprecated, NotDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NE : ErrorDeprecated, NotDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NH : HiddenDeprecated, NotDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class WEH: WarningDeprecated, ErrorDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
open class NWEH: NotDeprecated, WarningDeprecated, ErrorDeprecated, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
@@ -89,12 +89,12 @@ interface E2: ErrorDeprecated
interface W2: WarningDeprecated
interface EW2: E2, W2 {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
interface HEW2: EW2, HiddenDeprecated {
override fun f() {
override fun <!OVERRIDE_DEPRECATION!>f<!>() {
}
}
@@ -32,48 +32,48 @@ open class SetterDeprecated {
}
class WD: WarningDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {}
}
class ED: ErrorDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class GD: GetterDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class SD: SetterDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class SDH: SetterDeprecated(), HiddenDeprecated {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class EDH: ErrorDeprecated(), HiddenDeprecated {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class NED: ErrorDeprecated(), NoDeprecation {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
@@ -32,48 +32,48 @@ open class SetterDeprecated {
}
class WD: WarningDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {}
}
class ED: ErrorDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class GD: GetterDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class SD: SetterDeprecated() {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class SDH: SetterDeprecated(), HiddenDeprecated {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class EDH: ErrorDeprecated(), HiddenDeprecated {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
}
class NED: ErrorDeprecated(), NoDeprecation {
override var p: Int
override var <!OVERRIDE_DEPRECATION!>p<!>: Int
get() = 3
set(value) {
}
@@ -0,0 +1,16 @@
// !DIAGNOSTICS: -NO_VALUE_FOR_PARAMETER
// FILE: A.java
@Deprecated
public class A {
@Deprecated
public String getFoo(String text) {
return text;
}
}
// FILE: B.kt
class B(private @property:Deprecated val foo: String) : <!DEPRECATION!>A<!>() {
override fun <!OVERRIDE_DEPRECATION!>getFoo<!>(text: String): String = super.<!DEPRECATION!>getFoo<!>(text + <!DEPRECATION!>foo<!>)
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -NO_VALUE_FOR_PARAMETER
// FILE: A.java