Deprecated flag for static non-JvmField and non-const properties
This commit is contained in:
@@ -56,8 +56,7 @@ import java.util.List;
|
||||
import static org.jetbrains.kotlin.codegen.AsmUtil.*;
|
||||
import static org.jetbrains.kotlin.codegen.JvmCodegenUtil.isJvmInterface;
|
||||
import static org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings.*;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isCompanionObject;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isInterface;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.*;
|
||||
import static org.jetbrains.kotlin.resolve.jvm.AsmTypes.PROPERTY_METADATA_TYPE;
|
||||
import static org.jetbrains.kotlin.resolve.jvm.annotations.AnnotationUtilKt.hasJvmFieldAnnotation;
|
||||
import static org.jetbrains.kotlin.resolve.jvm.diagnostics.DiagnosticsPackage.OtherOrigin;
|
||||
@@ -327,6 +326,13 @@ public class PropertyCodegen {
|
||||
backingFieldContext = codegen.context;
|
||||
v.getSerializationBindings().put(STATIC_FIELD_IN_OUTER_CLASS, propertyDescriptor);
|
||||
}
|
||||
|
||||
if (isObject(propertyDescriptor.getContainingDeclaration()) &&
|
||||
!hasJvmFieldAnnotation &&
|
||||
!propertyDescriptor.isConst() &&
|
||||
(modifiers & ACC_PRIVATE) == 0) {
|
||||
modifiers |= ACC_DEPRECATED;
|
||||
}
|
||||
}
|
||||
else if (takeVisibilityFromDescriptor) {
|
||||
modifiers |= getVisibilityAccessFlag(propertyDescriptor);
|
||||
|
||||
+3
@@ -1,4 +1,7 @@
|
||||
public final class ClassObjectField {
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
@org.jetbrains.annotations.Nullable
|
||||
public static final java.lang.String x = "";
|
||||
private static final java.lang.String y = "";
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
public final class A {
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
public static final int c = 1;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
@org.jetbrains.annotations.NotNull
|
||||
public static java.lang.String v;
|
||||
public static final pack.A INSTANCE;
|
||||
|
||||
@@ -6,7 +6,7 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
@@ -6,7 +6,7 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
@@ -6,7 +6,7 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_FINAL
|
||||
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_FINAL, ACC_DEPRECATED
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
@@ -6,7 +6,7 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL, ACC_DEPRECATED
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
@@ -6,7 +6,7 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PROTECTED
|
||||
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_DEPRECATED
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
+1
-1
@@ -13,4 +13,4 @@ class Test(val prop: String) {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL, ACC_DEPRECATED
|
||||
+1
-1
@@ -13,4 +13,4 @@ class Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL, ACC_DEPRECATED
|
||||
@@ -10,4 +10,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC
|
||||
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED
|
||||
@@ -10,4 +10,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PUBLIC, ACC_STATIC
|
||||
// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_DEPRECATED
|
||||
|
||||
@@ -10,4 +10,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PROTECTED, ACC_FINAL, ACC_STATIC
|
||||
// FLAGS: ACC_PROTECTED, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED
|
||||
@@ -10,4 +10,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC
|
||||
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED
|
||||
@@ -10,4 +10,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PUBLIC, ACC_STATIC
|
||||
// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_DEPRECATED
|
||||
+1
-1
@@ -11,4 +11,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PROTECTED, ACC_STATIC
|
||||
// FLAGS: ACC_PROTECTED, ACC_STATIC, ACC_DEPRECATED
|
||||
|
||||
+1
-1
@@ -11,4 +11,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PUBLIC, ACC_STATIC
|
||||
// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_DEPRECATED
|
||||
|
||||
Reference in New Issue
Block a user