diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java index 7acfdf238d5..1a3776aea4c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java @@ -703,12 +703,9 @@ public class AsmUtil { } public static boolean isPropertyWithBackingFieldCopyInOuterClass(@NotNull PropertyDescriptor propertyDescriptor) { - boolean isExtensionProperty = propertyDescriptor.getExtensionReceiverParameter() != null; DeclarationDescriptor propertyContainer = propertyDescriptor.getContainingDeclaration(); - return !propertyDescriptor.isVar() - && !isExtensionProperty + return propertyDescriptor.isConst() && isCompanionObject(propertyContainer) && isInterface(propertyContainer.getContainingDeclaration()) - && areBothAccessorDefault(propertyDescriptor) && getVisibilityForSpecialPropertyBackingField(propertyDescriptor, false) == ACC_PUBLIC; } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java index 5790e5d6270..79face1c6ce 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java @@ -873,7 +873,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { PropertyDescriptor property = info.descriptor; Type type = typeMapper.mapType(property); - int modifiers = ACC_STATIC | ACC_FINAL | ACC_PUBLIC | (property.isConst() ? 0 : ACC_DEPRECATED); + int modifiers = ACC_STATIC | ACC_FINAL | ACC_PUBLIC; FieldVisitor fv = v.newField(JvmDeclarationOriginKt.Synthetic(DescriptorToSourceUtils.descriptorToDeclaration(property), property), modifiers, context.getFieldName(property, false), type.getDescriptor(), typeMapper.mapFieldSignature(property.getType(), property), diff --git a/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/Test.java b/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/Test.java index faeab128d3b..06605a89d36 100644 --- a/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/Test.java +++ b/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/Test.java @@ -8,9 +8,6 @@ class Test { s = Trait.NAME; if (!s.equals("Trait")) throw new AssertionError("Fail interface: " + s); - s = Trait.DEPRECATED; - if (!s.equals("DEPRECATED")) throw new AssertionError("Fail interface: " + s); - s = Enoom.NAME; if (!s.equals("Enum")) throw new AssertionError("Fail enum: " + s); diff --git a/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/classObjectProperties.kt b/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/classObjectProperties.kt index c019de4c440..dd66557abe3 100644 --- a/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/classObjectProperties.kt +++ b/compiler/testData/codegen/boxWithJava/properties/classObjectProperties/classObjectProperties.kt @@ -7,7 +7,6 @@ class Klass { interface Trait { companion object { const val NAME = "Trait" - val DEPRECATED = "DEPRECATED" } } diff --git a/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt b/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt index 6244d1be04c..e4c3afc4d11 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt @@ -6,7 +6,7 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test, prop -// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED +// ABSENT: TRUE // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test$Companion, prop diff --git a/compiler/testData/writeFlags/property/classObject/trait/publicVal.kt b/compiler/testData/writeFlags/property/classObject/trait/publicVal.kt index 98ca9fbab70..78ff25b41ee 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/publicVal.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/publicVal.kt @@ -6,7 +6,7 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test, prop -// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED +// ABSENT: TRUE // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test$Companion, prop