Report VIRTUAL_MEMBER_HIDDEN on declaration name
#KT-13749 Fixed
This commit is contained in:
@@ -376,7 +376,7 @@ public interface Errors {
|
||||
DiagnosticFactory1<KtModifierListOwner, CallableMemberDescriptor> NOTHING_TO_OVERRIDE = DiagnosticFactory1.create(ERROR, OVERRIDE_MODIFIER);
|
||||
|
||||
DiagnosticFactory3<KtNamedDeclaration, CallableMemberDescriptor, CallableMemberDescriptor, DeclarationDescriptor> VIRTUAL_MEMBER_HIDDEN =
|
||||
DiagnosticFactory3.create(ERROR, DECLARATION_SIGNATURE);
|
||||
DiagnosticFactory3.create(ERROR, DECLARATION_NAME);
|
||||
|
||||
DiagnosticFactory2<KtModifierListOwner, CallableMemberDescriptor, CallableDescriptor> CANNOT_OVERRIDE_INVISIBLE_MEMBER =
|
||||
DiagnosticFactory2.create(ERROR, OVERRIDE_MODIFIER);
|
||||
|
||||
Vendored
+2
-2
@@ -1,6 +1,6 @@
|
||||
enum class E {
|
||||
ENTRY;
|
||||
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun getDeclaringClass()<!> {}
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun finalize()<!> {}
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>getDeclaringClass<!>() {}
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>finalize<!>() {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
interface IA {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun toString(): String<!> = "IB"
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>toString<!>(): String = "IB"
|
||||
|
||||
override fun equals(other: Any?): Boolean
|
||||
}
|
||||
@@ -23,8 +23,8 @@ open class MyGenericClass<T>(t : T) : MyTrait<T>, MyAbstractClass<T>(), MyProps<
|
||||
class MyChildClass() : MyGenericClass<Int>(1) {}
|
||||
class MyChildClass1<T>(t : T) : MyGenericClass<T>(t) {}
|
||||
class MyChildClass2<T>(t : T) : MyGenericClass<T>(t) {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun foo(t: T)<!> = t
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>val pr : T<!> = t
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>foo<!>(t: T) = t
|
||||
val <!VIRTUAL_MEMBER_HIDDEN!>pr<!> : T = t
|
||||
override fun bar(t: T) = t
|
||||
override val p : T = t
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -7,9 +7,9 @@ interface Y {
|
||||
}
|
||||
|
||||
class Z : X, Y {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun foo(a : Int)<!> {}
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>foo<!>(a : Int) {}
|
||||
}
|
||||
|
||||
object ZO : X, Y {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun foo(a : Int)<!> {}
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>foo<!>(a : Int) {}
|
||||
}
|
||||
@@ -36,15 +36,15 @@ class MyChildClass() : MyClass() {}
|
||||
}
|
||||
|
||||
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class MyIllegalClass4<!>() : MyTrait, MyAbstractClass() {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun foo()<!> {}
|
||||
<!VIRTUAL_MEMBER_HIDDEN, MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val pr : Unit<!>
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>foo<!>() {}
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val <!VIRTUAL_MEMBER_HIDDEN!>pr<!> : Unit<!>
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> fun other() {}
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> val otherPr : Int = 1
|
||||
}
|
||||
|
||||
class MyChildClass1() : MyClass() {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun foo()<!> {}
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>val pr : Unit<!> = Unit
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>foo<!>() {}
|
||||
val <!VIRTUAL_MEMBER_HIDDEN!>pr<!> : Unit = Unit
|
||||
override fun bar() {}
|
||||
override val prr : Unit = Unit
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ fun test() {
|
||||
}
|
||||
|
||||
class E: A() {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun foo()<!> = A()
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>foo<!>() = A()
|
||||
|
||||
init {
|
||||
val a: A = foo() // todo: discuss
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN
|
||||
|
||||
abstract class Test1 : Map<String, String> {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun containsKey(key: String): Boolean<!> = TODO()
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
|
||||
|
||||
fun getOrDefault(key: String, defaultValue: String): String = TODO()
|
||||
}
|
||||
@@ -11,7 +11,7 @@ abstract class Test2 : MutableMap<String, String> {
|
||||
}
|
||||
|
||||
abstract class Test3 : java.util.AbstractMap<String, String>() {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun containsKey(key: String): Boolean<!> = TODO()
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
|
||||
|
||||
fun replace(key: String, value: String): String? = TODO()
|
||||
}
|
||||
|
||||
Vendored
+3
-3
@@ -7,7 +7,7 @@
|
||||
open class WithDelegation(val m: Map<String, String>) : Map<String, String> by m
|
||||
|
||||
class TestNoDelegationToDefaultMethods(m: Map<String, String>): WithDelegation(m) {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun containsKey(key: String): Boolean<!> = TODO()
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
|
||||
|
||||
fun getOrDefault(key: String, defaultValue: String): String = TODO()
|
||||
|
||||
@@ -23,10 +23,10 @@ interface IBaseWithKotlinDeclaration : Map<String, String> {
|
||||
abstract class WithDelegation2(val m: Map<String, String>) : Map<String, String> by m, IBaseWithKotlinDeclaration
|
||||
|
||||
abstract class TestNoDelegationToDefaultMethods2(m: Map<String, String>): WithDelegation2(m) {
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun containsKey(key: String): Boolean<!> = TODO()
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>containsKey<!>(key: String): Boolean = TODO()
|
||||
|
||||
fun getOrDefault(key: String, defaultValue: String): String = TODO()
|
||||
|
||||
// VIRTUAL_MEMBER_HIDDEN: hides member declaration inherited from a Kotlin interface
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun replace(key: String, value: String): String?<!> = TODO()
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>replace<!>(key: String, value: String): String? = TODO()
|
||||
}
|
||||
|
||||
+2
-2
@@ -6,10 +6,10 @@ interface IBaseWithKotlinDeclaration : Map<String, String> {
|
||||
|
||||
interface TestDerivedInterfaceHidingWithKotlinDeclaration : IBaseWithKotlinDeclaration {
|
||||
// VIRTUAL_MEMBER_HIDDEN: hides member declaration inherited from a Kotlin interface
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun replace(key: String, value: String): String?<!>
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>replace<!>(key: String, value: String): String?
|
||||
}
|
||||
|
||||
interface TestDerivedInterfaceDefaultWithKotlinDeclaration : IBaseWithKotlinDeclaration {
|
||||
// VIRTUAL_MEMBER_HIDDEN: hides member declaration inherited from a Kotlin interface
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun replace(key: String, value: String): String?<!> = TODO()
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>replace<!>(key: String, value: String): String? = TODO()
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
||||
enum class TestEnum {
|
||||
ENTRY;
|
||||
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun getDeclaringClass()<!> {}
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun finalize()<!> {}
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>getDeclaringClass<!>() {}
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>finalize<!>() {}
|
||||
}
|
||||
|
||||
class TestFinalize {
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ class A1 : java.util.ArrayList<String>() {
|
||||
fun stream(): java.util.stream.Stream<String> = super.<!UNRESOLVED_REFERENCE!>stream<!>()
|
||||
|
||||
// `sort` is defined in ArrayList, so it was impossible to declare it in 1.0 without an 'override' keyword
|
||||
<!VIRTUAL_MEMBER_HIDDEN!>fun sort(c: Comparator<in String>?)<!> {
|
||||
fun <!VIRTUAL_MEMBER_HIDDEN!>sort<!>(c: Comparator<in String>?) {
|
||||
super.sort(c)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user