Add positioning strategy DECLARATION_NAME for DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE.

This commit is contained in:
Stanislav Erokhin
2017-01-26 19:50:35 +03:00
parent 2aa2df75ae
commit b033ad1b2b
8 changed files with 14 additions and 12 deletions
@@ -6,7 +6,7 @@ open class IDerived1 : IBase1 {
override fun foo(): String = "1"
}
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!><!RETURN_TYPE_MISMATCH_BY_DELEGATION!>class Broken1<!>(val b: IBase1) : IBase1 by b, IDerived1()<!>
<!RETURN_TYPE_MISMATCH_BY_DELEGATION, DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class Broken1<!>(val b: IBase1) : IBase1 by b, IDerived1()
interface IBase2 {
val foo: Any
@@ -16,4 +16,4 @@ open class IDerived2 : IBase2 {
override val foo: String = "2"
}
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!><!PROPERTY_TYPE_MISMATCH_BY_DELEGATION!>class Broken2<!>(val b: IBase2) : IBase2 by b, IDerived2()<!>
<!PROPERTY_TYPE_MISMATCH_BY_DELEGATION, DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class Broken2<!>(val b: IBase2) : IBase2 by b, IDerived2()
@@ -10,4 +10,4 @@ abstract class Middle : Base {
abstract class MyClass : Middle()
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class A : MyClass(), Base by Delegate()<!>
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class A<!> : MyClass(), Base by Delegate()
@@ -22,6 +22,6 @@ public abstract class MyClass : Base1, Base2 {
}
}
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE, DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!><!MANY_IMPL_MEMBER_NOT_IMPLEMENTED!>class A<!> : MyClass(), Base1 by Delegate1(), <!SUPERTYPE_APPEARS_TWICE!>Base1<!> by <!TYPE_MISMATCH!>Delegate2()<!> {
<!MANY_IMPL_MEMBER_NOT_IMPLEMENTED, DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE, DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class A<!> : MyClass(), Base1 by Delegate1(), <!SUPERTYPE_APPEARS_TWICE!>Base1<!> by <!TYPE_MISMATCH!>Delegate2()<!> {
}<!>
}
@@ -14,6 +14,6 @@ public abstract class MyClass : Base {
}
}
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class A : MyClass(), Base by Delegate() {
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class A<!> : MyClass(), Base by Delegate() {
override fun getValue() = "Delegate"
}<!>
}
@@ -16,6 +16,6 @@ public abstract class MyClass : Base {
}
}
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class A : MyClass(), Base by Delegate() {
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class A<!> : MyClass(), Base by Delegate() {
override fun getValue() = "Delegate"
}<!>
}
@@ -10,4 +10,4 @@ interface B {
class <!CONFLICTING_JVM_DECLARATIONS!>C(f: A<String>)<!>: A<String> by f, B
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class D(f: A<Int>): A<Int> by f, B<!>
<!DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE!>class D<!>(f: A<Int>): A<Int> by f, B