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.AsmUtil.*;
|
||||||
import static org.jetbrains.kotlin.codegen.JvmCodegenUtil.isJvmInterface;
|
import static org.jetbrains.kotlin.codegen.JvmCodegenUtil.isJvmInterface;
|
||||||
import static org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings.*;
|
import static org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings.*;
|
||||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isCompanionObject;
|
import static org.jetbrains.kotlin.resolve.DescriptorUtils.*;
|
||||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isInterface;
|
|
||||||
import static org.jetbrains.kotlin.resolve.jvm.AsmTypes.PROPERTY_METADATA_TYPE;
|
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.annotations.AnnotationUtilKt.hasJvmFieldAnnotation;
|
||||||
import static org.jetbrains.kotlin.resolve.jvm.diagnostics.DiagnosticsPackage.OtherOrigin;
|
import static org.jetbrains.kotlin.resolve.jvm.diagnostics.DiagnosticsPackage.OtherOrigin;
|
||||||
@@ -327,6 +326,13 @@ public class PropertyCodegen {
|
|||||||
backingFieldContext = codegen.context;
|
backingFieldContext = codegen.context;
|
||||||
v.getSerializationBindings().put(STATIC_FIELD_IN_OUTER_CLASS, propertyDescriptor);
|
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) {
|
else if (takeVisibilityFromDescriptor) {
|
||||||
modifiers |= getVisibilityAccessFlag(propertyDescriptor);
|
modifiers |= getVisibilityAccessFlag(propertyDescriptor);
|
||||||
|
|||||||
+3
@@ -1,4 +1,7 @@
|
|||||||
public final class ClassObjectField {
|
public final class ClassObjectField {
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
@org.jetbrains.annotations.Nullable
|
@org.jetbrains.annotations.Nullable
|
||||||
public static final java.lang.String x = "";
|
public static final java.lang.String x = "";
|
||||||
private static final java.lang.String y = "";
|
private static final java.lang.String y = "";
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
public final class A {
|
public final class A {
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
public static final int c = 1;
|
public static final int c = 1;
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
@org.jetbrains.annotations.NotNull
|
@org.jetbrains.annotations.NotNull
|
||||||
public static java.lang.String v;
|
public static java.lang.String v;
|
||||||
public static final pack.A INSTANCE;
|
public static final pack.A INSTANCE;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class Test {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// TESTED_OBJECTS: Test, prop
|
||||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class Test {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// TESTED_OBJECTS: Test, prop
|
||||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class Test {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class Test {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class Test {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// TESTED_OBJECTS: Test, prop
|
||||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ class Test {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// TESTED_OBJECTS: Test, prop
|
||||||
// FLAGS: ACC_STATIC, ACC_PROTECTED
|
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_DEPRECATED
|
||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ class Test {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// TESTED_OBJECTS: Test, prop
|
||||||
// FLAGS: ACC_STATIC, ACC_PUBLIC
|
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
|
||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
|
|||||||
+1
-1
@@ -13,4 +13,4 @@ class Test(val prop: String) {
|
|||||||
|
|
||||||
// TESTED_OBJECT_KIND: property
|
// TESTED_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// 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_OBJECT_KIND: property
|
||||||
// TESTED_OBJECTS: Test$Companion, prop
|
// TESTED_OBJECTS: Test$Companion, prop
|
||||||
// FLAGS: ACC_PUBLIC, ACC_STATIC
|
// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_DEPRECATED
|
||||||
|
|||||||
Reference in New Issue
Block a user