Private setter is now forbidden for non-private late init variables

This commit is contained in:
Mikhail Glukhikh
2015-10-09 16:32:43 +03:00
parent 2cab34bb3f
commit 65f0f312ff
8 changed files with 68 additions and 13 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ public abstract class A<T: Any, V: String?>(<!INAPPLICABLE_LATEINIT_MODIFIER_PRI
public lateinit var e: String
get
private set
<!PRIVATE_SETTER_ON_NON_PRIVATE_LATE_INIT_VAR!>private<!> set
fun a() {
<!WRONG_MODIFIER_TARGET!>lateinit<!> var <!UNUSED_VARIABLE!>a<!>: String
+16
View File
@@ -0,0 +1,16 @@
class My {
lateinit var x: String
<!PRIVATE_SETTER_ON_NON_PRIVATE_LATE_INIT_VAR!>private<!> set
lateinit var y: String
// Ok, non-private setter
internal set
lateinit protected var z: String
<!PRIVATE_SETTER_ON_NON_PRIVATE_LATE_INIT_VAR!>private<!> set
lateinit private var w: String
// Ok, private var
private set
}
+12
View File
@@ -0,0 +1,12 @@
package
public final class My {
public constructor My()
private final lateinit var w: kotlin.String
public final lateinit var x: kotlin.String
public final lateinit var y: kotlin.String
protected final lateinit var z: kotlin.String
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 override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}