summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Gridin <dmitry.gridin@jetbrains.com>2020-08-12 13:50:10 +0700
committerkotlin-ide-monorepo-bot <kotlin-ide-monorepo-bot-no-reply@jetbrains.com>2020-08-12 06:57:11 +0000
commit7279c6ba393b5c5c688b36e54b3e8ec70adc518b (patch)
treea4182f99e91c0e94bdd63baa57ce0f9955a840df
parentd6baf044913801418972ee64d7c94dc95d565a64 (diff)
downloadintellij-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.kt18
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)