Do not implicitly propagate deprecations originated in Java
^KT-29604 Fixed
This commit is contained in:
+1
-1
@@ -40,7 +40,7 @@ public class C extends A {
|
||||
|
||||
fun use(a: A, b: B, c: C) {
|
||||
a.<!DEPRECATION!>f<!>()
|
||||
b.<!DEPRECATION!>f<!>()
|
||||
b.f()
|
||||
c.<!DEPRECATION!>f<!>()
|
||||
|
||||
A.<!DEPRECATION!>D<!>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
// FILE: J.java
|
||||
public interface J {
|
||||
@Deprecated
|
||||
public void foo();
|
||||
|
||||
@Deprecated
|
||||
public String bar();
|
||||
|
||||
@Deprecated
|
||||
public CharSequence baz();
|
||||
}
|
||||
// FILE: J2.java
|
||||
public interface J2 extends J, K {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
interface K {
|
||||
fun bar(): CharSequence
|
||||
fun baz(): String
|
||||
}
|
||||
|
||||
interface A : J, K
|
||||
|
||||
fun main(j: J, j2: J2, a: A) {
|
||||
j.<!DEPRECATION!>foo<!>()
|
||||
j2.<!DEPRECATION!>foo<!>()
|
||||
a.<!DEPRECATION!>foo<!>()
|
||||
|
||||
j.<!DEPRECATION!>bar<!>()
|
||||
j2.<!DEPRECATION!>bar<!>()
|
||||
a.<!DEPRECATION!>bar<!>()
|
||||
|
||||
j.<!DEPRECATION!>baz<!>()
|
||||
j2.baz()
|
||||
a.baz()
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package
|
||||
|
||||
public fun main(/*0*/ j: J, /*1*/ j2: J2, /*2*/ a: A): kotlin.Unit
|
||||
|
||||
public interface A : J, K {
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract override /*2*/ /*fake_override*/ fun bar(): kotlin.String!
|
||||
public abstract override /*2*/ /*fake_override*/ fun baz(): kotlin.String
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface J {
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract fun bar(): kotlin.String!
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract fun baz(): kotlin.CharSequence!
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface J2 : J, K {
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract override /*2*/ /*fake_override*/ fun bar(): kotlin.String
|
||||
public abstract override /*2*/ /*fake_override*/ fun baz(): kotlin.String
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface K {
|
||||
public abstract fun bar(): kotlin.CharSequence
|
||||
public abstract fun baz(): kotlin.String
|
||||
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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
// FILE: J.java
|
||||
public class J {
|
||||
@Deprecated
|
||||
public void foo() {}
|
||||
}
|
||||
// FILE: J2.java
|
||||
public class J2 extends J implements WithDeprecation {
|
||||
@Override
|
||||
public void foo() {}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
interface WithDeprecation {
|
||||
@Deprecated("")
|
||||
fun foo()
|
||||
}
|
||||
|
||||
class A : J(), WithDeprecation {
|
||||
override fun foo() {}
|
||||
}
|
||||
|
||||
fun main() {
|
||||
J().<!DEPRECATION!>foo<!>()
|
||||
|
||||
J2().<!DEPRECATION!>foo<!>()
|
||||
A().<!DEPRECATION!>foo<!>()
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package
|
||||
|
||||
public fun main(): kotlin.Unit
|
||||
|
||||
public final class A : J, WithDeprecation {
|
||||
public constructor A()
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*2*/ fun foo(): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class J {
|
||||
public constructor J()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public open fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class J2 : J, WithDeprecation {
|
||||
public constructor J2()
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@java.lang.Override public open override /*2*/ fun foo(): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface WithDeprecation {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.Deprecated(message = "") public abstract fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// FILE: J.java
|
||||
public interface J {
|
||||
@Deprecated
|
||||
public void foo();
|
||||
|
||||
}
|
||||
// FILE: J2.java
|
||||
public interface J2 extends J {
|
||||
@Override
|
||||
public void foo();
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
interface A : J {
|
||||
override fun foo()
|
||||
}
|
||||
|
||||
fun main(j: J, j2: J2, a: A) {
|
||||
j.<!DEPRECATION!>foo<!>()
|
||||
j2.foo()
|
||||
a.foo()
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package
|
||||
|
||||
public fun main(/*0*/ j: J, /*1*/ j2: J2, /*2*/ a: A): kotlin.Unit
|
||||
|
||||
public interface A : J {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface J {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@kotlin.Deprecated(message = "Deprecated in Java") public abstract fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface J2 : J {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@java.lang.Override public abstract override /*1*/ fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user