mirror of
https://github.com/jlengrand/detekt.git
synced 2026-03-10 08:11:23 +00:00
Replace @requiresTypeResolution kdoc tag with @RequiresTypeResolution annotation (#3579)
* Change indentation according to ktlint * Add test case to verify requiresTypeResolution flag * Add RequiresTypeResolution annotation * Generate documentation based on RequiresTypeResolution annotation * Use @RequiresTypeResolution instead of kdoc tag * Update documentation for @RequiresTypeResolution * Remove support for @requiresTypeResolution kdoc tag * Add @RequiresTypeResolution to public api * Move extension functions to separate files * Remove @RequiresOptIn from public api * Update annotation comment Co-authored-by: Markus Schwarz <post@markus-schwarz.net>
This commit is contained in:
@@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
|
||||
import io.gitlab.arturbosch.detekt.api.Issue
|
||||
import io.gitlab.arturbosch.detekt.api.Severity
|
||||
import io.gitlab.arturbosch.detekt.api.ThresholdRule
|
||||
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
|
||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getParameterForArgument
|
||||
@@ -28,8 +29,8 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||
* </compliant>
|
||||
*
|
||||
* @configuration threshold - number of parameters that triggers this inspection (default: `3`)
|
||||
* @requiresTypeResolution
|
||||
*/
|
||||
@RequiresTypeResolution
|
||||
class NamedArguments(
|
||||
config: Config = Config.empty,
|
||||
threshold: Int = DEFAULT_FUNCTION_THRESHOLD
|
||||
|
||||
@@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
|
||||
import io.gitlab.arturbosch.detekt.api.Issue
|
||||
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.callUtil.getResolvedCall
|
||||
@@ -37,13 +38,15 @@ import org.jetbrains.kotlin.types.isNullable
|
||||
* } ?: emptyList()
|
||||
* </compliant>
|
||||
*
|
||||
* @requiresTypeResolution
|
||||
*/
|
||||
@RequiresTypeResolution
|
||||
class ReplaceSafeCallChainWithRun(config: Config = Config.empty) : Rule(config) {
|
||||
|
||||
override val issue = Issue(javaClass.simpleName, Severity.Maintainability,
|
||||
override val issue = Issue(
|
||||
javaClass.simpleName, Severity.Maintainability,
|
||||
"Chains of safe calls on non-nullable types can be surrounded with run {}",
|
||||
Debt.TEN_MINS)
|
||||
Debt.TEN_MINS
|
||||
)
|
||||
|
||||
override fun visitSafeQualifiedExpression(expression: KtSafeQualifiedExpression) {
|
||||
super.visitSafeQualifiedExpression(expression)
|
||||
|
||||
Reference in New Issue
Block a user