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)
}
}