diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NamedArguments.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NamedArguments.kt index 2fc021d9fe2..69251a0c5c4 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NamedArguments.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NamedArguments.kt @@ -12,7 +12,6 @@ import io.gitlab.arturbosch.detekt.api.internal.Configuration import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtLambdaArgument -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getParameterForArgument import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall @@ -49,7 +48,6 @@ class NamedArguments(config: Config = Config.empty) : Rule(config) { private val ignoreArgumentsMatchingNames: Boolean by config(defaultValue = false) override fun visitCallExpression(expression: KtCallExpression) { - if (bindingContext == BindingContext.EMPTY) return val valueArguments = expression.valueArguments.filterNot { it is KtLambdaArgument } if (valueArguments.size > threshold && expression.canNameArguments()) { val message = "This function call has ${valueArguments.size} arguments. To call a function with more " + diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt index 4d037aad5a3..763fb81859d 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctions.kt @@ -16,7 +16,6 @@ import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtNamedFunction -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall /** @@ -66,7 +65,6 @@ class NestedScopeFunctions(config: Config = Config.empty) : Rule(config) { } override fun visitNamedFunction(function: KtNamedFunction) { - if (bindingContext == BindingContext.EMPTY) return function.accept(FunctionDepthVisitor()) } diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ReplaceSafeCallChainWithRun.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ReplaceSafeCallChainWithRun.kt index 4d0209811e4..067924306fa 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ReplaceSafeCallChainWithRun.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ReplaceSafeCallChainWithRun.kt @@ -9,7 +9,6 @@ import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.psi.KtSafeQualifiedExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.types.isNullable @@ -52,8 +51,6 @@ class ReplaceSafeCallChainWithRun(config: Config = Config.empty) : Rule(config) override fun visitSafeQualifiedExpression(expression: KtSafeQualifiedExpression) { super.visitSafeQualifiedExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - /* We want the last safe qualified expression in the chain, so if there are more in this chain then there's no need to run checks on this one */ if (expression.parent is KtSafeQualifiedExpression) return diff --git a/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt b/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt index 9ba423a7a9a..8ebca921e21 100644 --- a/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt +++ b/detekt-rules-complexity/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedScopeFunctionsSpec.kt @@ -4,7 +4,6 @@ import io.gitlab.arturbosch.detekt.api.Finding import io.gitlab.arturbosch.detekt.rules.KotlinCoreEnvironmentTest import io.gitlab.arturbosch.detekt.test.TestConfig import io.gitlab.arturbosch.detekt.test.assertThat -import io.gitlab.arturbosch.detekt.test.compileAndLint import io.gitlab.arturbosch.detekt.test.compileAndLintWithContext import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.junit.jupiter.api.Test @@ -94,27 +93,10 @@ class NestedScopeFunctionsSpec(private val env: KotlinCoreEnvironment) { expectNoFindings() } - @Test - fun `should not report when binding context is empty`() { - givenCode = """ - fun f() { - 1.run { - 1.run { } - } - } - """.trimIndent() - whenLintRunsWithoutContext() - expectNoFindings() - } - private fun whenLintRuns() { actual = subject.compileAndLintWithContext(env, givenCode) } - private fun whenLintRunsWithoutContext() { - actual = subject.compileAndLint(givenCode) - } - private fun expectSourceLocation(location: Pair) { assertThat(actual).hasStartSourceLocation(location.first, location.second) } diff --git a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/InjectDispatcher.kt b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/InjectDispatcher.kt index 48301c29675..271c5ca42f6 100644 --- a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/InjectDispatcher.kt +++ b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/InjectDispatcher.kt @@ -17,7 +17,6 @@ import org.jetbrains.kotlin.psi.KtConstructorDelegationCall import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.psi.KtSimpleNameExpression import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.resolve.BindingContext.EMPTY import org.jetbrains.kotlin.resolve.calls.util.getType import org.jetbrains.kotlin.types.typeUtil.supertypes @@ -57,7 +56,7 @@ class InjectDispatcher(config: Config) : Rule(config) { override fun visitSimpleNameExpression(expression: KtSimpleNameExpression) { super.visitSimpleNameExpression(expression) - if (bindingContext == EMPTY || expression.getReferencedName() !in dispatcherNames) return + if (expression.getReferencedName() !in dispatcherNames) return val type = expression.getType(bindingContext) ?: return val isCoroutineDispatcher = type.fqNameOrNull() == COROUTINE_DISPATCHER_FQCN || type.supertypes().any { it.fqNameOrNull() == COROUTINE_DISPATCHER_FQCN } diff --git a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/RedundantSuspendModifier.kt b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/RedundantSuspendModifier.kt index 0005021245c..95ae114332a 100644 --- a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/RedundantSuspendModifier.kt +++ b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/RedundantSuspendModifier.kt @@ -66,7 +66,6 @@ class RedundantSuspendModifier(config: Config) : Rule(config) { ) override fun visitNamedFunction(function: KtNamedFunction) { - if (bindingContext == BindingContext.EMPTY) return val suspendModifier = function.modifierList?.getModifier(KtTokens.SUSPEND_KEYWORD) ?: return if (!function.hasBody()) return if (function.hasModifier(KtTokens.OVERRIDE_KEYWORD)) return diff --git a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SleepInsteadOfDelay.kt b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SleepInsteadOfDelay.kt index de15f72bcf2..9156e5d3ce7 100644 --- a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SleepInsteadOfDelay.kt +++ b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SleepInsteadOfDelay.kt @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.KtQualifiedExpression import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType import org.jetbrains.kotlin.psi.psiUtil.hasSuspendModifier -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -50,7 +49,6 @@ class SleepInsteadOfDelay(config: Config = Config.empty) : Rule(config) { ) override fun visitNamedFunction(function: KtNamedFunction) { - if (bindingContext == BindingContext.EMPTY) return if (function.modifierList?.hasSuspendModifier() == true) { function.checkDescendants(SUSPEND_FUN_MESSAGE) } diff --git a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithCoroutineScopeReceiver.kt b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithCoroutineScopeReceiver.kt index 5b18e583756..0a56c4d415f 100644 --- a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithCoroutineScopeReceiver.kt +++ b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithCoroutineScopeReceiver.kt @@ -60,7 +60,6 @@ class SuspendFunWithCoroutineScopeReceiver(config: Config) : Rule(config) { ) override fun visitNamedFunction(function: KtNamedFunction) { - if (bindingContext == BindingContext.EMPTY) return checkReceiver(function) } diff --git a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithFlowReturnType.kt b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithFlowReturnType.kt index 45b5688cda5..0067684f4d5 100644 --- a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithFlowReturnType.kt +++ b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/SuspendFunWithFlowReturnType.kt @@ -73,7 +73,6 @@ class SuspendFunWithFlowReturnType(config: Config) : Rule(config) { ) override fun visitNamedFunction(function: KtNamedFunction) { - if (bindingContext == BindingContext.EMPTY) return val suspendModifier = function.modifierList?.getModifier(KtTokens.SUSPEND_KEYWORD) ?: return bindingContext[BindingContext.FUNCTION, function] ?.returnType diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/AvoidReferentialEquality.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/AvoidReferentialEquality.kt index 1b249949f4a..09ff15a887b 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/AvoidReferentialEquality.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/AvoidReferentialEquality.kt @@ -16,7 +16,6 @@ import io.gitlab.arturbosch.detekt.rules.fqNameOrNull import org.jetbrains.kotlin.lexer.KtTokens.EQEQEQ import org.jetbrains.kotlin.lexer.KtTokens.EXCLEQEQEQ import org.jetbrains.kotlin.psi.KtBinaryExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getType /** @@ -62,7 +61,6 @@ class AvoidReferentialEquality(config: Config) : Rule(config) { } private fun checkBinaryExpression(expression: KtBinaryExpression) { - if (bindingContext == BindingContext.EMPTY) return if (expression.operationToken != EQEQEQ && expression.operationToken != EXCLEQEQEQ) return val checkedType = expression.left?.getType(bindingContext)?.fqNameOrNull() ?: return diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/Deprecation.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/Deprecation.kt index 615f1cf77c3..0e7c5bedbd2 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/Deprecation.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/Deprecation.kt @@ -11,7 +11,6 @@ import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.com.intellij.psi.PsiElement import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtNamedDeclaration -import org.jetbrains.kotlin.resolve.BindingContext /** * Deprecated elements are expected to be removed in the future. Alternatives should be found if possible. @@ -30,7 +29,6 @@ class Deprecation(config: Config) : Rule(config) { override val defaultRuleIdAliases = setOf("DEPRECATION") override fun visitElement(element: PsiElement) { - if (bindingContext == BindingContext.EMPTY) return if (hasDeprecationCompilerWarnings(element)) { val entity = if (element is KtNamedDeclaration) Entity.atName(element) else Entity.from(element) report(CodeSmell(issue, entity, "${element.text} is deprecated.")) diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DontDowncastCollectionTypes.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DontDowncastCollectionTypes.kt index 3310b269f4a..45c2ac7c167 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DontDowncastCollectionTypes.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DontDowncastCollectionTypes.kt @@ -15,7 +15,6 @@ import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtIsExpression import org.jetbrains.kotlin.psi.KtTypeReference import org.jetbrains.kotlin.psi.KtUserType -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getType /** @@ -50,7 +49,6 @@ class DontDowncastCollectionTypes(config: Config) : Rule(config) { override fun visitIsExpression(expression: KtIsExpression) { super.visitIsExpression(expression) - if (bindingContext == BindingContext.EMPTY) return checkForDowncast(expression, expression.leftHandSide, expression.typeReference) } @@ -58,8 +56,6 @@ class DontDowncastCollectionTypes(config: Config) : Rule(config) { override fun visitBinaryWithTypeRHSExpression(expression: KtBinaryExpressionWithTypeRHS) { super.visitBinaryWithTypeRHSExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - checkForDowncast(expression, expression.left, expression.right) } diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DoubleMutabilityForCollection.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DoubleMutabilityForCollection.kt index 57d6f8fb2f3..50501ffba33 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DoubleMutabilityForCollection.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DoubleMutabilityForCollection.kt @@ -65,8 +65,6 @@ class DoubleMutabilityForCollection(config: Config = Config.empty) : Rule(config override fun visitProperty(property: KtProperty) { super.visitProperty(property) - if (bindingContext == BindingContext.EMPTY) return - val type = (bindingContext[BindingContext.VARIABLE, property])?.type ?: return val standardType = type.fqNameOrNull() if (property.isVar && standardType in mutableTypes) { diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ElseCaseInsteadOfExhaustiveWhen.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ElseCaseInsteadOfExhaustiveWhen.kt index 59d71000607..c2bccfdfae8 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ElseCaseInsteadOfExhaustiveWhen.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ElseCaseInsteadOfExhaustiveWhen.kt @@ -10,7 +10,6 @@ import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.cfg.WhenChecker import org.jetbrains.kotlin.psi.KtWhenExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getType import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.typeUtil.isBooleanOrNullableBoolean @@ -63,7 +62,6 @@ class ElseCaseInsteadOfExhaustiveWhen(config: Config = Config.empty) : Rule(conf override fun visitWhenExpression(whenExpression: KtWhenExpression) { super.visitWhenExpression(whenExpression) - if (bindingContext == BindingContext.EMPTY) return checkForElseCaseInsteadOfExhaustiveWhenExpression(whenExpression) } diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExitOutsideMain.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExitOutsideMain.kt index d40c3c347a5..3370d7c482d 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExitOutsideMain.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExitOutsideMain.kt @@ -12,7 +12,6 @@ import io.gitlab.arturbosch.detekt.rules.isMainFunction import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -58,8 +57,6 @@ class ExitOutsideMain(config: Config = Config.empty) : Rule(config) { override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - if (expression.getStrictParentOfType()?.isMainFunction() == true) return val fqName = expression.getResolvedCall(bindingContext)?.resultingDescriptor?.fqNameOrNull() ?: return diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/HasPlatformType.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/HasPlatformType.kt index 80f8088c26f..0e6e892bed8 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/HasPlatformType.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/HasPlatformType.kt @@ -51,7 +51,6 @@ class HasPlatformType(config: Config) : Rule(config) { override fun visitKtElement(element: KtElement) { super.visitKtElement(element) - if (bindingContext == BindingContext.EMPTY) return if (element is KtCallableDeclaration && element.hasImplicitPlatformType()) { report( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IgnoredReturnValue.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IgnoredReturnValue.kt index b5eb9c48df4..fde27821f27 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IgnoredReturnValue.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IgnoredReturnValue.kt @@ -15,7 +15,6 @@ import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import io.gitlab.arturbosch.detekt.api.simplePatternToRegex import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor import org.jetbrains.kotlin.psi.KtCallExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsExpression import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.types.typeUtil.isUnit @@ -75,7 +74,6 @@ class IgnoredReturnValue(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.isUsedAsExpression(bindingContext)) return diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitUnitReturnType.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitUnitReturnType.kt index e4d4c0a5f56..c77f53c468c 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitUnitReturnType.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitUnitReturnType.kt @@ -13,7 +13,6 @@ import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtNamedFunction -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.types.typeUtil.isUnit @@ -58,9 +57,6 @@ class ImplicitUnitReturnType(config: Config) : Rule(config) { @Suppress("ReturnCount") override fun visitNamedFunction(function: KtNamedFunction) { super.visitNamedFunction(function) - if (BindingContext.EMPTY == bindingContext) { - return - } if (allowExplicitReturnType && function.hasDeclaredReturnType()) { return diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt index e91dcd1a7b0..5a4f1d28467 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt @@ -14,7 +14,6 @@ import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.cfg.WhenChecker import org.jetbrains.kotlin.diagnostics.WhenMissingCase import org.jetbrains.kotlin.psi.KtWhenExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsExpression import org.jetbrains.kotlin.resolve.calls.util.getType @@ -83,7 +82,6 @@ class MissingWhenCase(config: Config = Config.empty) : Rule(config) { override fun visitWhenExpression(expression: KtWhenExpression) { super.visitWhenExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (allowElseExpression && expression.elseExpression != null) return checkMissingWhenExpression(expression) } diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullCheckOnMutableProperty.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullCheckOnMutableProperty.kt index 1a153e64491..f11b3680e37 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullCheckOnMutableProperty.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullCheckOnMutableProperty.kt @@ -22,7 +22,6 @@ import org.jetbrains.kotlin.psi.KtNameReferenceExpression import org.jetbrains.kotlin.psi.KtPrimaryConstructor import org.jetbrains.kotlin.psi.KtProperty import org.jetbrains.kotlin.psi.KtReferenceExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -62,7 +61,6 @@ class NullCheckOnMutableProperty(config: Config) : Rule(config) { ) override fun visitKtFile(file: KtFile) { - if (bindingContext == BindingContext.EMPTY) return super.visitKtFile(file) NullCheckVisitor().visitKtFile(file) } diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullableToStringCall.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullableToStringCall.kt index b6d4eb7b86d..833772e13d5 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullableToStringCall.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/NullableToStringCall.kt @@ -61,7 +61,6 @@ class NullableToStringCall(config: Config = Config.empty) : Rule(config) { override fun visitSimpleNameExpression(expression: KtSimpleNameExpression) { super.visitSimpleNameExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val simpleOrCallExpression = expression.parent.safeAs() ?: expression val targetExpression = simpleOrCallExpression.targetExpression() ?: return diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt index e4a2b80d806..042a03569bb 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt @@ -11,7 +11,6 @@ import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtWhenExpression -import org.jetbrains.kotlin.resolve.BindingContext /** * Turn on this rule to flag `when` expressions that contain a redundant `else` case. This occurs when it can be @@ -72,7 +71,6 @@ class RedundantElseInWhen(config: Config = Config.empty) : Rule(config) { override fun visitWhenExpression(whenExpression: KtWhenExpression) { super.visitWhenExpression(whenExpression) - if (bindingContext == BindingContext.EMPTY) return val elseEntry = whenExpression.entries.lastOrNull { it.isElse } ?: return val compilerReports = bindingContext.diagnostics.forElement(elseEntry) if (compilerReports.any { it.factory == Errors.REDUNDANT_ELSE_IN_WHEN }) { diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt index d6c60d4319b..bc7300c2098 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt @@ -11,7 +11,6 @@ import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtUnaryExpression -import org.jetbrains.kotlin.resolve.BindingContext /** * Reports unnecessary not-null operator usage (!!) that can be removed by the user. @@ -39,7 +38,6 @@ class UnnecessaryNotNullOperator(config: Config = Config.empty) : Rule(config) { override fun visitUnaryExpression(expression: KtUnaryExpression) { super.visitUnaryExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val compilerReports = bindingContext.diagnostics.forElement(expression.operationReference) if (compilerReports.any { it.factory == Errors.UNNECESSARY_NOT_NULL_ASSERTION }) { diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt index 290723135eb..d108d741325 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtSafeQualifiedExpression import org.jetbrains.kotlin.psi.psiUtil.getChildOfType -import org.jetbrains.kotlin.resolve.BindingContext /** * Reports unnecessary safe call operators (`?.`) that can be removed by the user. @@ -44,8 +43,6 @@ class UnnecessarySafeCall(config: Config = Config.empty) : Rule(config) { override fun visitSafeQualifiedExpression(expression: KtSafeQualifiedExpression) { super.visitSafeQualifiedExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - val safeAccessElement = expression.getChildOfType() if (safeAccessElement == null || safeAccessElement.elementType != KtTokens.SAFE_ACCESS) { return diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCatchBlock.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCatchBlock.kt index 6846f42cd13..9a00e0662ac 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCatchBlock.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCatchBlock.kt @@ -60,7 +60,6 @@ class UnreachableCatchBlock(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitCatchSection(catchClause: KtCatchClause) { super.visitCatchSection(catchClause) - if (bindingContext == BindingContext.EMPTY) return val tryExpression = catchClause.getStrictParentOfType() ?: return val prevCatchClauses = tryExpression.catchClauses.takeWhile { it != catchClause } diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt index 5dac3f7bf14..a5e6d5fc966 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt @@ -11,7 +11,6 @@ import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtExpression -import org.jetbrains.kotlin.resolve.BindingContext /** * Reports unreachable code. @@ -46,9 +45,7 @@ class UnreachableCode(config: Config = Config.empty) : Rule(config) { override fun visitExpression(expression: KtExpression) { super.visitExpression(expression) - if (bindingContext != BindingContext.EMPTY && - bindingContext.diagnostics.forElement(expression).any { it.factory == Errors.UNREACHABLE_CODE } - ) { + if (bindingContext.diagnostics.forElement(expression).any { it.factory == Errors.UNREACHABLE_CODE }) { report( CodeSmell( issue, diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt index f05ff1ec2e9..1f798a13627 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt @@ -11,7 +11,6 @@ import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtPostfixExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getType import org.jetbrains.kotlin.types.typeUtil.TypeNullability import org.jetbrains.kotlin.types.typeUtil.nullability @@ -46,7 +45,6 @@ class UnsafeCallOnNullableType(config: Config = Config.empty) : Rule(config) { override fun visitPostfixExpression(expression: KtPostfixExpression) { super.visitPostfixExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.operationToken == KtTokens.EXCLEXCL && expression.baseExpression?.getType(bindingContext)?.nullability() == TypeNullability.NULLABLE ) { diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt index b80155cfa46..afe79d4fc33 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt @@ -11,7 +11,6 @@ import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS -import org.jetbrains.kotlin.resolve.BindingContext /** * Reports casts that will never succeed. @@ -46,8 +45,6 @@ class UnsafeCast(config: Config = Config.empty) : Rule(config) { ) override fun visitBinaryWithTypeRHSExpression(expression: KtBinaryExpressionWithTypeRHS) { - if (bindingContext == BindingContext.EMPTY) return - if (bindingContext.diagnostics.forElement(expression.operationReference) .any { it.factory == Errors.CAST_NEVER_SUCCEEDS } ) { diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnusedUnaryOperator.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnusedUnaryOperator.kt index da3b6e64487..402410feb41 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnusedUnaryOperator.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnusedUnaryOperator.kt @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtPrefixExpression import org.jetbrains.kotlin.psi.psiUtil.leaves import org.jetbrains.kotlin.psi.psiUtil.parents -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsExpression import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall @@ -51,7 +50,6 @@ class UnusedUnaryOperator(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitPrefixExpression(expression: KtPrefixExpression) { super.visitPrefixExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.baseExpression == null) return val operationToken = expression.operationToken diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ObjectExtendsThrowable.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ObjectExtendsThrowable.kt index e07a9f94466..3643d8bdc62 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ObjectExtendsThrowable.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ObjectExtendsThrowable.kt @@ -55,7 +55,6 @@ class ObjectExtendsThrowable(config: Config = Config.empty) : Rule(config) { override fun visitObjectDeclaration(declaration: KtObjectDeclaration) { super.visitObjectDeclaration(declaration) - if (bindingContext == BindingContext.EMPTY) return if (!declaration.isObjectLiteral() && declaration.isSubtypeOfThrowable()) { report( CodeSmell( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt index 6e92d8cab79..8fc1adae64d 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.psi.KtTryExpression import org.jetbrains.kotlin.psi.psiUtil.blockExpressionsOrSingle import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType import org.jetbrains.kotlin.psi.psiUtil.isInsideOf -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.bindingContextUtil.getTargetFunction import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsExpression import org.jetbrains.kotlin.resolve.calls.util.getType @@ -57,7 +56,6 @@ class ReturnFromFinally(config: Config = Config.empty) : Rule(config) { override fun visitTryExpression(expression: KtTryExpression) { super.visitTryExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val finallyBlock = expression.finallyBlock ?: return diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/BooleanPropertyNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/BooleanPropertyNaming.kt index 2bb5c283402..061b187fb35 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/BooleanPropertyNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/BooleanPropertyNaming.kt @@ -17,7 +17,6 @@ import io.gitlab.arturbosch.detekt.rules.isOverride import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.psi.KtProperty -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.typeBinding.createTypeBindingForReturnType /** @@ -62,10 +61,6 @@ class BooleanPropertyNaming(config: Config = Config.empty) : Rule(config) { } private fun validateDeclaration(declaration: KtCallableDeclaration) { - if (bindingContext == BindingContext.EMPTY) { - return - } - val name = declaration.identifierName() val typeName = getTypeName(declaration) val isBooleanType = diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NoNameShadowing.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NoNameShadowing.kt index e66e0321345..cff5fdbcb54 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NoNameShadowing.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NoNameShadowing.kt @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.psi.KtProperty import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.resolve.BindingContext /** * Disallows shadowing variable declarations. @@ -76,16 +75,13 @@ class NoNameShadowing(config: Config = Config.empty) : Rule(config) { private fun checkNameShadowing(declaration: KtNamedDeclaration) { val nameIdentifier = declaration.nameIdentifier ?: return - if (bindingContext != BindingContext.EMPTY && - bindingContext.diagnostics.forElement(declaration).any { it.factory == Errors.NAME_SHADOWING } - ) { + if (bindingContext.diagnostics.forElement(declaration).any { it.factory == Errors.NAME_SHADOWING }) { report(CodeSmell(issue, Entity.from(nameIdentifier), "Name shadowed: ${nameIdentifier.text}")) } } override fun visitLambdaExpression(lambdaExpression: KtLambdaExpression) { super.visitLambdaExpression(lambdaExpression) - if (bindingContext == BindingContext.EMPTY) return val implicitParameter = lambdaExpression.implicitParameter(bindingContext) ?: return if (lambdaExpression.hasImplicitParameterReference(implicitParameter, bindingContext) && lambdaExpression.hasParentImplicitParameterLambda() diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NonBooleanPropertyPrefixedWithIs.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NonBooleanPropertyPrefixedWithIs.kt index e8c17808be6..386c6223a8d 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NonBooleanPropertyPrefixedWithIs.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NonBooleanPropertyPrefixedWithIs.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.builtins.isFunctionOrKFunctionTypeWithAnySuspendabil import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.psi.KtProperty -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.typeBinding.createTypeBindingForReturnType import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.typeUtil.isBoolean @@ -59,10 +58,6 @@ class NonBooleanPropertyPrefixedWithIs(config: Config = Config.empty) : Rule(con } private fun validateDeclaration(declaration: KtCallableDeclaration) { - if (bindingContext == BindingContext.EMPTY) { - return - } - val name = declaration.identifierName() if (name.startsWith("is") && name.length > 2 && !name[2].isLowerCase()) { diff --git a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt index 95348b92ee1..890f1447ec5 100644 --- a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt +++ b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt @@ -15,11 +15,9 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtCallableDeclaration -import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.psi.KtTypeReference import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -52,11 +50,6 @@ class ArrayPrimitive(config: Config = Config.empty) : Rule(config) { Debt.FIVE_MINS ) - override fun visitKtFile(file: KtFile) { - if (bindingContext == BindingContext.EMPTY) return - super.visitKtFile(file) - } - override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) if (expression.calleeExpression?.text !in factoryMethodNames) return diff --git a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/CouldBeSequence.kt b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/CouldBeSequence.kt index 178cded16eb..d2360b7c83f 100644 --- a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/CouldBeSequence.kt +++ b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/CouldBeSequence.kt @@ -15,7 +15,6 @@ import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForReceiver import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForSelectorOrThis -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -51,8 +50,6 @@ class CouldBeSequence(config: Config = Config.empty) : Rule(config) { override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - if (visitedCallExpressions.contains(expression)) return if (!expression.isCalling(operationsFqNames)) return diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ExplicitCollectionElementAccessMethod.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ExplicitCollectionElementAccessMethod.kt index 58e7eaeb37a..ba7d03b4f5e 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ExplicitCollectionElementAccessMethod.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ExplicitCollectionElementAccessMethod.kt @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtDotQualifiedExpression import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForSelector -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.types.error.ErrorType @@ -52,7 +51,6 @@ class ExplicitCollectionElementAccessMethod(config: Config = Config.empty) : Rul override fun visitDotQualifiedExpression(expression: KtDotQualifiedExpression) { super.visitDotQualifiedExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val call = expression.selectorExpression as? KtCallExpression ?: return if (isIndexGetterRecommended(call) || isIndexSetterRecommended(call)) { report(CodeSmell(issue, Entity.from(expression), issue.description)) diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenMethodCall.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenMethodCall.kt index 6486d326e9c..88d43e5cb55 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenMethodCall.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenMethodCall.kt @@ -25,7 +25,6 @@ import org.jetbrains.kotlin.psi.KtPrefixExpression import org.jetbrains.kotlin.psi.psiUtil.isDotSelector import org.jetbrains.kotlin.psi2ir.unwrappedGetMethod import org.jetbrains.kotlin.psi2ir.unwrappedSetMethod -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getCalleeExpressionIfAny import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall @@ -106,8 +105,6 @@ class ForbiddenMethodCall(config: Config = Config.empty) : Rule(config) { } private fun check(expression: KtExpression) { - if (bindingContext == BindingContext.EMPTY) return - val descriptors = expression.getResolvedCall(bindingContext)?.resultingDescriptor?.let { val foundDescriptors = if (it is PropertyDescriptor) { listOfNotNull(it.unwrappedGetMethod, it.unwrappedSetMethod) diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenVoid.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenVoid.kt index 6e67b33309a..196dddc1892 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenVoid.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenVoid.kt @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.psi.KtTypeArgumentList import org.jetbrains.kotlin.psi.KtTypeReference import org.jetbrains.kotlin.psi.psiUtil.anyDescendantOfType import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.bindingContextUtil.getAbbreviatedTypeOrType /** @@ -57,7 +56,6 @@ class ForbiddenVoid(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitTypeReference(typeReference: KtTypeReference) { - if (bindingContext == BindingContext.EMPTY) return val kotlinType = typeReference.getAbbreviatedTypeOrType(bindingContext) ?: return if (kotlinType.fqNameOrNull() == VOID_FQ_NAME) { diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt index d63904568d4..711bb43bbcd 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt @@ -54,9 +54,6 @@ class LibraryCodeMustSpecifyReturnType(config: Config = Config.empty) : Rule(con ) override fun visitProperty(property: KtProperty) { - if (bindingContext == BindingContext.EMPTY) { - return - } if (property.explicitReturnTypeRequired()) { report( CodeSmell( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxChainedCallsOnSameLine.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxChainedCallsOnSameLine.kt index f64f09a2974..10040c68ff9 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxChainedCallsOnSameLine.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxChainedCallsOnSameLine.kt @@ -47,8 +47,6 @@ class MaxChainedCallsOnSameLine(config: Config = Config.empty) : Rule(config) { override fun visitQualifiedExpression(expression: KtQualifiedExpression) { super.visitQualifiedExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - val parent = expression.parent // skip if the parent is also a call on the same line to avoid duplicated warnings diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MultilineLambdaItParameter.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MultilineLambdaItParameter.kt index 3c6d898bd6c..40d08f0131a 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MultilineLambdaItParameter.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MultilineLambdaItParameter.kt @@ -12,7 +12,6 @@ import io.gitlab.arturbosch.detekt.rules.IT_LITERAL import io.gitlab.arturbosch.detekt.rules.hasImplicitParameterReference import io.gitlab.arturbosch.detekt.rules.implicitParameter import org.jetbrains.kotlin.psi.KtLambdaExpression -import org.jetbrains.kotlin.resolve.BindingContext /** * Lambda expressions are very useful in a lot of cases, and they often include very small chunks of @@ -75,7 +74,6 @@ class MultilineLambdaItParameter(val config: Config) : Rule(config) { override fun visitLambdaExpression(lambdaExpression: KtLambdaExpression) { super.visitLambdaExpression(lambdaExpression) - if (bindingContext == BindingContext.EMPTY) return val size = lambdaExpression.bodyExpression?.statements?.size if (size == null || size <= 1) return diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ObjectLiteralToLambda.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ObjectLiteralToLambda.kt index c4bbb262527..bddc5ebe654 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ObjectLiteralToLambda.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ObjectLiteralToLambda.kt @@ -96,7 +96,6 @@ class ObjectLiteralToLambda(config: Config = Config.empty) : Rule(config) { override fun visitObjectLiteralExpression(expression: KtObjectLiteralExpression) { super.visitObjectLiteralExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val declaration = expression.objectDeclaration if ( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantExplicitType.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantExplicitType.kt index 8b28cd4f123..5c709b2898b 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantExplicitType.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantExplicitType.kt @@ -56,7 +56,6 @@ class RedundantExplicitType(config: Config) : Rule(config) { @Suppress("ReturnCount", "ComplexMethod") override fun visitProperty(property: KtProperty) { - if (bindingContext == BindingContext.EMPTY) return if (!property.isLocal) return val typeReference = property.typeReference ?: return val type = diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantHigherOrderMapUsage.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantHigherOrderMapUsage.kt index 75f53400749..cc9568e7338 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantHigherOrderMapUsage.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/RedundantHigherOrderMapUsage.kt @@ -86,7 +86,6 @@ class RedundantHigherOrderMapUsage(config: Config = Config.empty) : Rule(config) override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val calleeExpression = expression.calleeExpression if (calleeExpression?.text != "map") return diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt index dc9a4647843..4d53753bf37 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt @@ -56,8 +56,6 @@ class UnnecessaryApply(config: Config) : Rule(config) { override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - if (expression.isApplyExpr() && expression.hasOnlyOneMemberAccessStatement() && !expression.receiverIsUsed(bindingContext) diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryFilter.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryFilter.kt index 9fdf56e03e5..d0249a78eee 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryFilter.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryFilter.kt @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.psi.KtLambdaExpression import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForReceiver import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForSelectorOrThis import org.jetbrains.kotlin.psi.unpackFunctionLiteral -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -57,7 +56,6 @@ class UnnecessaryFilter(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (!expression.isCalling(filterFqNames)) return val lambdaArgumentText = expression.lambda()?.text ?: return diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInnerClass.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInnerClass.kt index 3b4ea4c6f0a..813b3a71f26 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInnerClass.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInnerClass.kt @@ -13,7 +13,6 @@ import org.jetbrains.kotlin.backend.common.pop import org.jetbrains.kotlin.descriptors.ClassifierDescriptor import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.KtClass -import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtReferenceExpression import org.jetbrains.kotlin.psi.KtThisExpression import org.jetbrains.kotlin.psi.psiUtil.containingClass @@ -54,11 +53,6 @@ class UnnecessaryInnerClass(config: Config = Config.empty) : Rule(config) { Debt.FIVE_MINS ) - override fun visit(root: KtFile) { - if (bindingContext == BindingContext.EMPTY) return - super.visit(root) - } - override fun visitClass(klass: KtClass) { classChain.add(klass) if (klass.isInner()) { diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryLet.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryLet.kt index 51ef26576aa..18085155d16 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryLet.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryLet.kt @@ -59,8 +59,6 @@ class UnnecessaryLet(config: Config) : Rule(config) { override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return - if (!expression.isLetExpr()) return val lambdaExpr = expression.firstLambdaArg diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseAnyOrNoneInsteadOfFind.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseAnyOrNoneInsteadOfFind.kt index 87be6f8cf93..7a24b918f94 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseAnyOrNoneInsteadOfFind.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseAnyOrNoneInsteadOfFind.kt @@ -17,7 +17,6 @@ import org.jetbrains.kotlin.psi.KtBinaryExpression import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtQualifiedExpression import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.resolve.BindingContext /** * Turn on this rule to flag `find` calls for null check that can be replaced with a `any` or `none` call. @@ -45,7 +44,6 @@ class UseAnyOrNoneInsteadOfFind(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val functionName = expression.calleeExpression?.text ?: return val qualifiedOrThis = expression.getStrictParentOfType() ?: expression diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseCheckNotNull.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseCheckNotNull.kt index 9b64c40222f..dc1b2decc59 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseCheckNotNull.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseCheckNotNull.kt @@ -12,7 +12,6 @@ import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import io.gitlab.arturbosch.detekt.rules.isCallingWithNonNullCheckArgument import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtCallExpression -import org.jetbrains.kotlin.resolve.BindingContext /** * Turn on this rule to flag `check` calls for not-null check that can be replaced with a `checkNotNull` call. @@ -37,7 +36,6 @@ class UseCheckNotNull(config: Config = Config.empty) : Rule(config) { override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.isCallingWithNonNullCheckArgument(checkFunctionFqName, bindingContext)) { report(CodeSmell(issue, Entity.from(expression), issue.description)) } diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIfEmptyOrIfBlank.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIfEmptyOrIfBlank.kt index 8b0c14352b5..7ea3826042f 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIfEmptyOrIfBlank.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIfEmptyOrIfBlank.kt @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.psi.KtPrefixExpression import org.jetbrains.kotlin.psi.KtThisExpression import org.jetbrains.kotlin.psi.psiUtil.blockExpressionsOrSingle import org.jetbrains.kotlin.psi.psiUtil.getPossiblyQualifiedCallExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -59,7 +58,6 @@ class UseIfEmptyOrIfBlank(config: Config = Config.empty) : Rule(config) { override fun visitIfExpression(expression: KtIfExpression) { super.visitIfExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.isElseIf()) return val thenExpression = expression.then ?: return diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIsNullOrEmpty.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIsNullOrEmpty.kt index b10efcc64ae..fc2b96a1aa2 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIsNullOrEmpty.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseIsNullOrEmpty.kt @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtDotQualifiedExpression import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtSimpleNameExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.calls.util.getType import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -59,7 +58,6 @@ class UseIsNullOrEmpty(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitBinaryExpression(expression: KtBinaryExpression) { super.visitBinaryExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.operationToken != KtTokens.OROR) return val left = expression.left as? KtBinaryExpression ?: return diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseOrEmpty.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseOrEmpty.kt index 8f4e7a69798..c0e43203263 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseOrEmpty.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseOrEmpty.kt @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtStringTemplateExpression import org.jetbrains.kotlin.psi2ir.deparenthesize -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.calls.util.getType import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -57,7 +56,6 @@ class UseOrEmpty(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitBinaryExpression(expression: KtBinaryExpression) { super.visitBinaryExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.operationToken != KtTokens.ELVIS) return val left = expression.left ?: return diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseRequireNotNull.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseRequireNotNull.kt index d2eec9f51c0..12750c1b276 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseRequireNotNull.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UseRequireNotNull.kt @@ -12,7 +12,6 @@ import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import io.gitlab.arturbosch.detekt.rules.isCallingWithNonNullCheckArgument import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtCallExpression -import org.jetbrains.kotlin.resolve.BindingContext /** * Turn on this rule to flag `require` calls for not-null check that can be replaced with a `requireNotNull` call. @@ -37,7 +36,6 @@ class UseRequireNotNull(config: Config = Config.empty) : Rule(config) { override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.isCallingWithNonNullCheckArgument(requireFunctionFqName, bindingContext)) { report(CodeSmell(issue, Entity.from(expression), issue.description)) } diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt index 8f6e0eb6a92..b2600a04692 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtQualifiedExpression import org.jetbrains.kotlin.psi.KtSafeQualifiedExpression import org.jetbrains.kotlin.psi.ValueArgument -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.calls.util.getType import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -61,7 +60,6 @@ class UselessCallOnNotNull(config: Config = Config.empty) : Rule(config) { @Suppress("ReturnCount") override fun visitQualifiedExpression(expression: KtQualifiedExpression) { super.visitQualifiedExpression(expression) - if (bindingContext == BindingContext.EMPTY) return val safeExpression = expression as? KtSafeQualifiedExpression val notNullType = expression.receiverExpression.getType(bindingContext)?.isNullable() == false diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt index 8bc2fc7c2f4..da8c7c62ba8 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt @@ -76,7 +76,6 @@ class VarCouldBeVal(config: Config = Config.empty) : Rule(config) { override fun visitKtFile(file: KtFile) { super.visitKtFile(file) - if (bindingContext == BindingContext.EMPTY) return val assignmentVisitor = AssignmentVisitor(bindingContext, ignoreLateinitVar) file.accept(assignmentVisitor) diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/optional/PreferToOverPairSyntax.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/optional/PreferToOverPairSyntax.kt index 37228a57b85..d7e359b91b2 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/optional/PreferToOverPairSyntax.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/optional/PreferToOverPairSyntax.kt @@ -12,7 +12,6 @@ import io.gitlab.arturbosch.detekt.rules.safeAs import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtCallExpression -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.util.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull @@ -42,7 +41,6 @@ class PreferToOverPairSyntax(config: Config = Config.empty) : Rule(config) { override fun visitCallExpression(expression: KtCallExpression) { super.visitCallExpression(expression) - if (bindingContext == BindingContext.EMPTY) return if (expression.isPairConstructor()) { val arg = expression.valueArguments.joinToString(" to ") { it.text } report(