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
public class A {
private lateinit val privateField: String
private lateinit var privateField: String
protected lateinit var protectedField: 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.isPublic(clazz.getDeclaredField("publicField").modifiers)) cond += "NOT_PUBLIC"
if (Modifier.isFinal(clazz.getDeclaredField("privateField").modifiers)) cond += "FINAL"
try {
val a = privateField
} catch (e: UninitializedPropertyAccessException) {
@@ -1,16 +1,16 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
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() {
<!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 {
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)
@Retention(AnnotationRetention.SOURCE)
@MustBeDocumented
@Deprecated("Use lateinit instead")
public annotation class publicField
/**