Skip to main content

Detekt Rule Set

The authors ruleset provides rules that ensures good practices when writing detekt rules

RequiresTypeResolutionRulesDoesNotRunWithoutAContext

A rule annotated with RequiresTypeResolution should override visitCondition and return false if the provided bindingContext is empty.

Active by default: Yes - Since v1.22.0

Debt: 5min

Noncompliant Code:

@RequiresTypeResolution
class MyRule(config: Config = Config.empty) : Rule(config) {
override fun visitKtFile(file: KtFile) =
if (bindingContext == BindingContext.EMPTY) return
...
}
}

Compliant Code:

@RequiresTypeResolution
class MyRule(config: Config = Config.empty) : Rule(config) {
override fun visitCondition(root: KtFile) =
bindingContext != BindingContext.EMPTY && super.visitCondition(root)
}
}