Add JvmDefaultWithoutCompatibility annotation

This commit is contained in:
Mikhail Bogdanov
2020-06-08 09:06:10 +02:00
parent a98ad79d86
commit 477cca3c99
16 changed files with 207 additions and 6 deletions
@@ -0,0 +1,7 @@
// !JVM_TARGET: 1.6
@JvmDefaultWithoutCompatibility
interface A {}
@JvmDefaultWithoutCompatibility
class B : A {}
@@ -0,0 +1,7 @@
// !JVM_TARGET: 1.6
<!JVM_DEFAULT_IN_JVM6_TARGET!>@JvmDefaultWithoutCompatibility<!>
interface A {}
<!JVM_DEFAULT_IN_JVM6_TARGET!>@JvmDefaultWithoutCompatibility<!>
class B : A {}
@@ -0,0 +1,14 @@
package
@kotlin.jvm.JvmDefaultWithoutCompatibility public interface A {
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
}
@kotlin.jvm.JvmDefaultWithoutCompatibility public final class B : A {
public constructor B()
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,10 @@
// FIR_IDENTICAL
// !JVM_TARGET: 1.8
// !JVM_DEFAULT_MODE: all-compatibility
@JvmDefaultWithoutCompatibility
interface A<T> {
fun test(p: T) {}
}
class B : A<String> {}
@@ -0,0 +1,16 @@
package
@kotlin.jvm.JvmDefaultWithoutCompatibility public interface A</*0*/ T> {
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 fun test(/*0*/ p: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class B : A<kotlin.String> {
public constructor B()
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 test(/*0*/ p: kotlin.String): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,9 @@
// !JVM_TARGET: 1.8
@JvmDefaultWithoutCompatibility
interface A<T> {
fun test(p: T) {}
}
@JvmDefaultWithoutCompatibility
class B : A<String> {}
@@ -0,0 +1,9 @@
// !JVM_TARGET: 1.8
<!JVM_DEFAULT_IN_DECLARATION!>@JvmDefaultWithoutCompatibility<!>
interface A<T> {
fun test(p: T) {}
}
<!JVM_DEFAULT_IN_DECLARATION!>@JvmDefaultWithoutCompatibility<!>
class B : A<String> {}
@@ -0,0 +1,16 @@
package
@kotlin.jvm.JvmDefaultWithoutCompatibility public interface A</*0*/ T> {
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 fun test(/*0*/ p: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmDefaultWithoutCompatibility public final class B : A<kotlin.String> {
public constructor B()
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 test(/*0*/ p: kotlin.String): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}