diff --git a/detekt-core/src/main/resources/deprecation.properties b/detekt-core/src/main/resources/deprecation.properties index 7d9a994a4b1..ccee103932f 100644 --- a/detekt-core/src/main/resources/deprecation.properties +++ b/detekt-core/src/main/resources/deprecation.properties @@ -1,7 +1,11 @@ complexity>LongParameterList>threshold=Use `functionThreshold` and `constructorThreshold` instead empty-blocks>EmptyFunctionBlock>ignoreOverriddenFunctions=Use `ignoreOverridden` instead +potential-bugs>DuplicateCaseInWhenExpression=Rule deprecated as compiler performs this check by default +potential-bugs>ElseCaseInsteadOfExhaustiveWhen=Rule deprecated as compiler performs this check by default potential-bugs>IgnoredReturnValue>restrictToAnnotatedMethods=Use `restrictToConfig` instead potential-bugs>LateinitUsage>excludeAnnotatedProperties=Use `ignoreAnnotated` instead +potential-bugs>MissingWhenCase=Rule deprecated as compiler performs this check by default +potential-bugs>RedundantElseInWhen=Rule deprecated as compiler performs this check by default naming>FunctionParameterNaming>ignoreOverriddenFunctions=Use `ignoreOverridden` instead naming>MemberNameEqualsClassName>ignoreOverriddenFunction=Use `ignoreOverridden` instead style>FunctionOnlyReturningConstant>excludeAnnotatedFunction=Use `ignoreAnnotated` instead diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt index b3553c007eb..95fccaf208b 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt @@ -5,6 +5,7 @@ import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider import io.gitlab.arturbosch.detekt.generator.collection.exception.InvalidDocumentationException import io.gitlab.arturbosch.detekt.rules.isOverride +import org.jetbrains.kotlin.psi.KtAnnotatedExpression import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtFile @@ -128,6 +129,7 @@ class RuleSetProviderVisitor : DetektVisitor() { val ruleArgumentNames = (ruleListExpression as? KtCallExpression) ?.valueArguments ?.mapNotNull { it.getArgumentExpression() } + ?.map { if (it is KtAnnotatedExpression) it.lastChild as KtCallExpression else it } ?.mapNotNull { it.referenceExpression()?.text } .orEmpty() diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt index 413de756ffd..22cf779e262 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt @@ -20,7 +20,7 @@ class PotentialBugProvider : DefaultRuleSetProvider { Deprecation(config), DontDowncastCollectionTypes(config), DoubleMutabilityForCollection(config), - @Suppress("DEPRECATION") DuplicateCaseInWhenExpression(config), + DuplicateCaseInWhenExpression(config), @Suppress("DEPRECATION") ElseCaseInsteadOfExhaustiveWhen(config), EqualsAlwaysReturnsTrueOrFalse(config), EqualsWithHashCodeExist(config),