New diagnostic for Java default method call via super in trait
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
// FILE: Test.java
|
||||
public interface Test {
|
||||
default String test() {
|
||||
return "123";
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
trait KTrait : Test {
|
||||
fun ktest() {
|
||||
<!TRAIT_CANT_CALL_DEFAULT_METHOD_VIA_SUPER!>super.test()<!>
|
||||
|
||||
test()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class A : KTrait {
|
||||
fun a() {
|
||||
super.test()
|
||||
|
||||
test()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package
|
||||
|
||||
internal final class A : KTrait {
|
||||
public constructor A()
|
||||
internal final fun a(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal open override /*1*/ /*fake_override*/ fun ktest(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
internal trait KTrait : Test {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal open fun ktest(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun test(): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public trait Test {
|
||||
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(): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
// FILE: test.kt
|
||||
|
||||
public trait Test {
|
||||
fun test(): String {
|
||||
return "123";
|
||||
}
|
||||
}
|
||||
|
||||
trait KTrait : Test {
|
||||
fun ktest() {
|
||||
super.test()
|
||||
|
||||
test()
|
||||
}
|
||||
}
|
||||
|
||||
class A : KTrait {
|
||||
fun b() {
|
||||
super.test()
|
||||
|
||||
test()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package
|
||||
|
||||
internal final class A : KTrait {
|
||||
public constructor A()
|
||||
internal final fun b(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal open override /*1*/ /*fake_override*/ fun ktest(): kotlin.Unit
|
||||
internal open override /*1*/ /*fake_override*/ fun test(): kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
internal trait KTrait : Test {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal open fun ktest(): kotlin.Unit
|
||||
internal open override /*1*/ /*fake_override*/ fun test(): kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public trait Test {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal open fun test(): kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user