Deprecate @publicField

This commit is contained in:
Yan Zhulanow
2015-09-23 21:08:02 +03:00
parent cc2d005984
commit aada13c91f
4 changed files with 7 additions and 8 deletions
@@ -1,7 +1,7 @@
import java.lang.reflect.Modifier import java.lang.reflect.Modifier
public class A { public class A {
private lateinit val privateField: String private lateinit var privateField: String
protected lateinit var protectedField: String protected lateinit var protectedField: String
public lateinit var publicField: String public lateinit var publicField: String
@@ -13,8 +13,6 @@ public class A {
if (!Modifier.isProtected(clazz.getDeclaredField("protectedField").modifiers)) cond += "NOT_PROTECTED" if (!Modifier.isProtected(clazz.getDeclaredField("protectedField").modifiers)) cond += "NOT_PROTECTED"
if (!Modifier.isPublic(clazz.getDeclaredField("publicField").modifiers)) cond += "NOT_PUBLIC" if (!Modifier.isPublic(clazz.getDeclaredField("publicField").modifiers)) cond += "NOT_PUBLIC"
if (Modifier.isFinal(clazz.getDeclaredField("privateField").modifiers)) cond += "FINAL"
try { try {
val a = privateField val a = privateField
} catch (e: UninitializedPropertyAccessException) { } catch (e: UninitializedPropertyAccessException) {
@@ -1,16 +1,16 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
class C { class C {
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.publicField<!> constructor(s: String) { <!WRONG_ANNOTATION_TARGET!>@<!DEPRECATED_SYMBOL_WITH_MESSAGE!>kotlin.jvm.publicField<!><!> constructor(s: String) {
} }
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.publicField<!> private fun foo(s: String = "OK") { <!WRONG_ANNOTATION_TARGET!>@<!DEPRECATED_SYMBOL_WITH_MESSAGE!>kotlin.jvm.publicField<!><!> private fun foo(s: String = "OK") {
} }
} }
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.publicField<!> <!WRONG_ANNOTATION_TARGET!>@<!DEPRECATED_SYMBOL_WITH_MESSAGE!>kotlin.jvm.publicField<!><!>
fun foo() { fun foo() {
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.publicField<!> val <!UNUSED_VARIABLE!>x<!> = "A" <!WRONG_ANNOTATION_TARGET!>@<!DEPRECATED_SYMBOL_WITH_MESSAGE!>kotlin.jvm.publicField<!><!> val <!UNUSED_VARIABLE!>x<!> = "A"
} }
@@ -1,3 +1,3 @@
class C { class C {
private <!INAPPLICABLE_PUBLIC_FIELD!>@publicField<!> val a: String by lazy { "A" } private <!INAPPLICABLE_PUBLIC_FIELD!>@<!DEPRECATED_SYMBOL_WITH_MESSAGE!>publicField<!><!> val a: String by lazy { "A" }
} }
@@ -67,6 +67,7 @@ public annotation class JvmMultifileClass
@Target(AnnotationTarget.FIELD) @Target(AnnotationTarget.FIELD)
@Retention(AnnotationRetention.SOURCE) @Retention(AnnotationRetention.SOURCE)
@MustBeDocumented @MustBeDocumented
@Deprecated("Use lateinit instead")
public annotation class publicField public annotation class publicField
/** /**