Do not skip delegated members in LIGHT_CLASSES mode

This commit is contained in:
Andrey Breslav
2014-06-06 21:58:13 +04:00
parent 8fd166ea7b
commit 707da9278f
7 changed files with 123 additions and 46 deletions
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -CONFLICTING_JVM_DECLARATIONS
trait One {
public fun foo(): Any?
}
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -CONFLICTING_JVM_DECLARATIONS
trait One {
public open fun foo() : Int
private fun boo() = 10
@@ -15,4 +16,4 @@ trait TwoImpl : Two {
class <!MANY_IMPL_MEMBER_NOT_IMPLEMENTED!>Test1<!>() : TwoImpl, OneImpl {}
class Test2(a : One) : One by a, Two {}
class <!MANY_IMPL_MEMBER_NOT_IMPLEMENTED!>Test3<!>(a : One, b : Two) : Two by b, One by a {}
class <!MANY_IMPL_MEMBER_NOT_IMPLEMENTED!>Test3<!>(a : One, b : Two) : Two by b, One by a {}
@@ -6,5 +6,5 @@ trait D {
val x: Int
}
class <!ACCIDENTAL_OVERRIDE!>C(d: D)<!> : D by d, B {
class <!CONFLICTING_JVM_DECLARATIONS!>C(d: D)<!> : D by d, B {
}
@@ -8,5 +8,5 @@ trait Bar<T> {
fun foo(l: List<T>)
}
<!CONFLICTING_JVM_DECLARATIONS!>class Baz(f: Foo<String>, b: Bar<Int>)<!>: Foo<String> by f, Bar<Int> by b {
class <!CONFLICTING_JVM_DECLARATIONS!>Baz(f: Foo<String>, b: Bar<Int>)<!>: Foo<String> by f, Bar<Int> by b {
}
@@ -4,6 +4,6 @@ trait Foo<T> {
fun foo(l: List<T>)
}
class Bar(f: Foo<String>): Foo<String> by f {
class <!CONFLICTING_JVM_DECLARATIONS!>Bar(f: Foo<String>)<!>: Foo<String> by f {
<!CONFLICTING_JVM_DECLARATIONS!>fun foo(l: List<Int>)<!> {}
}
@@ -1,5 +1,5 @@
trait Foo
class Bar(f: Foo) : Foo by f {
class <!CONFLICTING_JVM_DECLARATIONS!>Bar(f: Foo)<!> : Foo by f {
<!CONFLICTING_JVM_DECLARATIONS!>val `$delegate_0`: Foo?<!> = null
}