diff options
author | Dmitry Gridin <dmitry.gridin@jetbrains.com> | 2020-08-12 13:50:10 +0700 |
---|---|---|
committer | kotlin-ide-monorepo-bot <kotlin-ide-monorepo-bot-no-reply@jetbrains.com> | 2020-08-12 06:57:11 +0000 |
commit | 7279c6ba393b5c5c688b36e54b3e8ec70adc518b (patch) | |
tree | a4182f99e91c0e94bdd63baa57ce0f9955a840df | |
parent | d6baf044913801418972ee64d7c94dc95d565a64 (diff) | |
download | intellij-kotlin-7279c6ba393b5c5c688b36e54b3e8ec70adc518b.tar.gz |
[inline] replace `inlineThisOnly` with `deleteAfter` for some cases
* Remove `@Override` and `override` only if `deleteAfter` == `true`
* Show conflict `Inlined {0} overrides {0} {1}` only if `deleteAfter` == `true`
#KT-41021 Fixed
GitOrigin-RevId: c9248dfe11c4742d5deaaac157b8b50b0edb5b35
-rw-r--r-- | idea/src/org/jetbrains/kotlin/idea/refactoring/inline/AbstractKotlinInlineDeclarationProcessor.kt | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/AbstractKotlinInlineDeclarationProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/AbstractKotlinInlineDeclarationProcessor.kt index fe07d6ff961d..a27a6cf4a049 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/AbstractKotlinInlineDeclarationProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/AbstractKotlinInlineDeclarationProcessor.kt @@ -82,14 +82,16 @@ abstract class AbstractKotlinInlineDeclarationProcessor<TDeclaration : KtNamedDe usages += UsageInfo(usage) } - declaration.forEachOverridingElement(scope = myRefactoringScope) { _, overridingMember -> - val superMethods = findSuperMethodsNoWrapping(overridingMember) - if (superMethods.singleOrNull()?.unwrapped == declaration) { - usages += OverrideUsageInfo(overridingMember) - return@forEachOverridingElement true - } + if (deleteAfter) { + declaration.forEachOverridingElement(scope = myRefactoringScope) { _, overridingMember -> + val superMethods = findSuperMethodsNoWrapping(overridingMember) + if (superMethods.singleOrNull()?.unwrapped == declaration) { + usages += OverrideUsageInfo(overridingMember) + return@forEachOverridingElement true + } - true + true + } } return usages.toArray(UsageInfo.EMPTY_ARRAY) @@ -102,7 +104,7 @@ abstract class AbstractKotlinInlineDeclarationProcessor<TDeclaration : KtNamedDe val conflicts = MultiMap<PsiElement, String>() if (!additionalPreprocessUsages(usagesInfo, conflicts)) return false - if (!inlineThisOnly) { + if (deleteAfter) { for (superDeclaration in findSuperMethodsNoWrapping(declaration)) { val fqName = superDeclaration.getKotlinFqName()?.asString() ?: KotlinBundle.message("fix.change.signature.error") val message = KotlinBundle.message("text.inlined.0.overrides.0.1", kind, fqName) |