KT-12152 : constructor consistency analysis, base cases

This commit is contained in:
Mikhail Glukhikh
2015-08-10 14:35:54 +03:00
parent 8544b9a1d6
commit 8e18165065
46 changed files with 751 additions and 24 deletions
+10 -10
View File
@@ -1,6 +1,6 @@
class Test(foo: Any?, bar: Any?) {
val foo = foo ?: this
private val bar = bar ?: this
val foo = foo ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bar = bar ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bas = bas()
val bas2 = bas2()
@@ -15,8 +15,8 @@ class Test(foo: Any?, bar: Any?) {
// KT-6413 Typechecker recursive problem when class have non-invariant generic parameters
class Test2<A, B, C>(foo: Any?, bar: Any?) {
val foo = foo ?: this
private val bar = bar ?: this
val foo = foo ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bar = bar ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bas = bas()
val bas2 = bas2()
@@ -30,8 +30,8 @@ class Test2<A, B, C>(foo: Any?, bar: Any?) {
}
class Test3<in A, B, C>(foo: Any?, bar: Any?) {
val foo = foo ?: this
private val bar = bar ?: this
val foo = foo ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bar = bar ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bas = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!><!DEBUG_INFO_MISSING_UNRESOLVED!>bas<!>()<!>
val bas2 = bas2()
@@ -45,8 +45,8 @@ class Test3<in A, B, C>(foo: Any?, bar: Any?) {
}
class Test4<A, out B, C>(foo: Any?, bar: Any?) {
val foo = foo ?: this
private val bar = bar ?: this
val foo = foo ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bar = bar ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bas = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!><!DEBUG_INFO_MISSING_UNRESOLVED!>bas<!>()<!>
val bas2 = bas2()
@@ -60,8 +60,8 @@ class Test4<A, out B, C>(foo: Any?, bar: Any?) {
}
class Test5<A, out B, C>(foo: Any?, bar: Any?) {
val foo = foo ?: this
private val bar = bar ?: this
val foo = foo ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bar = bar ?: <!DEBUG_INFO_LEAKING_THIS!>this<!>
private val bas: Int = bas()
val bas2 = bas2()