From 60521e20ffc50b4575ffb149da4c0543811e7844 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 17 Dec 2015 18:20:33 +0300 Subject: [PATCH] SETTER_VISIBILITY_DIFFERS_FROM_LATEINIT_VISIBILITY diagnostic removed --- .../src/org/jetbrains/kotlin/diagnostics/Errors.java | 1 - .../diagnostics/rendering/DefaultErrorMessages.java | 1 - .../org/jetbrains/kotlin/resolve/DeclarationsChecker.kt | 3 --- compiler/testData/diagnostics/tests/LateInit.kt | 2 +- compiler/testData/diagnostics/tests/LateInitSetter.kt | 8 ++++---- .../jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt | 1 - 6 files changed, 5 insertions(+), 11 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java index 6c337a08f10..de9f7fa50d3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java @@ -357,7 +357,6 @@ public interface Errors { DiagnosticFactory0 REDUNDANT_MODIFIER_IN_GETTER = DiagnosticFactory0.create(WARNING); DiagnosticFactory0 GETTER_VISIBILITY_DIFFERS_FROM_PROPERTY_VISIBILITY = DiagnosticFactory0.create(ERROR); - DiagnosticFactory0 SETTER_VISIBILITY_DIFFERS_FROM_LATEINIT_VISIBILITY = DiagnosticFactory0.create(ERROR); DiagnosticFactory0 SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY = DiagnosticFactory0.create(ERROR); DiagnosticFactory0 PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY = DiagnosticFactory0.create(ERROR); DiagnosticFactory0 PRIVATE_SETTER_FOR_OPEN_PROPERTY = DiagnosticFactory0.create(ERROR); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java index 90416a00dcc..f7e9463bf04 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java @@ -210,7 +210,6 @@ public class DefaultErrorMessages { MAP.put(INAPPLICABLE_LATEINIT_MODIFIER, "''lateinit'' modifier {0}", STRING); MAP.put(GETTER_VISIBILITY_DIFFERS_FROM_PROPERTY_VISIBILITY, "Getter visibility must be the same as property visibility"); - MAP.put(SETTER_VISIBILITY_DIFFERS_FROM_LATEINIT_VISIBILITY, "Setter visibility must be the same as lateinit property visibility"); MAP.put(SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY, "Setter visibility must be the same or less permissive than property visibility"); MAP.put(PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY, "Private setters are not allowed for abstract properties"); MAP.put(PRIVATE_SETTER_FOR_OPEN_PROPERTY, "Private setters are deprecated for open properties"); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationsChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationsChecker.kt index 46bee23420c..8809ba86df3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationsChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationsChecker.kt @@ -720,9 +720,6 @@ class DeclarationsChecker( reportVisibilityModifierDiagnostics(tokens.values, Errors.PRIVATE_SETTER_FOR_OPEN_PROPERTY) } } - else if (propertyDescriptor.isLateInit && accessorDescriptor.visibility != propertyDescriptor.visibility) { - reportVisibilityModifierDiagnostics(tokens.values, Errors.SETTER_VISIBILITY_DIFFERS_FROM_LATEINIT_VISIBILITY) - } else { val compare = Visibilities.compare(accessorDescriptor.visibility, propertyDescriptor.visibility) if (compare == null || compare > 0) { diff --git a/compiler/testData/diagnostics/tests/LateInit.kt b/compiler/testData/diagnostics/tests/LateInit.kt index bf6b1e3138c..ac699462bf6 100644 --- a/compiler/testData/diagnostics/tests/LateInit.kt +++ b/compiler/testData/diagnostics/tests/LateInit.kt @@ -16,7 +16,7 @@ public abstract class A(la public lateinit var e: String get - private set + private set fun a() { lateinit var a: String diff --git a/compiler/testData/diagnostics/tests/LateInitSetter.kt b/compiler/testData/diagnostics/tests/LateInitSetter.kt index be5b48f12bd..b533370f204 100644 --- a/compiler/testData/diagnostics/tests/LateInitSetter.kt +++ b/compiler/testData/diagnostics/tests/LateInitSetter.kt @@ -1,20 +1,20 @@ class My { lateinit var x: String - private set + private set lateinit var y: String - internal set + internal set lateinit protected var z: String - private set + private set lateinit private var w: String // Ok, private var / private set private set lateinit protected var v: String - public set + public set lateinit public var u: String // Ok, public var / public set diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt index 8115ac7768d..710f2c58ab0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt @@ -115,7 +115,6 @@ public class QuickFixRegistrar : QuickFixContributor { val removeModifierFactory = RemoveModifierFix.createRemoveModifierFactory() GETTER_VISIBILITY_DIFFERS_FROM_PROPERTY_VISIBILITY.registerFactory(removeModifierFactory) - SETTER_VISIBILITY_DIFFERS_FROM_LATEINIT_VISIBILITY.registerFactory(removeModifierFactory) SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY.registerFactory(removeModifierFactory) PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY.registerFactory(removeModifierFactory) PRIVATE_SETTER_FOR_OPEN_PROPERTY.registerFactory(removeModifierFactory)