Delete companion manually during callable inlining
This commit is contained in:
+9
-1
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
|||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||||
|
|
||||||
class KotlinInlineCallableProcessor(
|
class KotlinInlineCallableProcessor(
|
||||||
project: Project,
|
project: Project,
|
||||||
@@ -70,7 +71,14 @@ class KotlinInlineCallableProcessor(
|
|||||||
postAction = {
|
postAction = {
|
||||||
if (deleteAfter) {
|
if (deleteAfter) {
|
||||||
if (usages.size == simpleNameUsages.size) {
|
if (usages.size == simpleNameUsages.size) {
|
||||||
declaration.delete()
|
val containingClass = declaration.containingClassOrObject
|
||||||
|
if (containingClass is KtObjectDeclaration
|
||||||
|
&& containingClass.isCompanion()
|
||||||
|
&& containingClass.declarations.size == 1) {
|
||||||
|
containingClass.delete()
|
||||||
|
} else {
|
||||||
|
declaration.delete()
|
||||||
|
}
|
||||||
statementToDelete?.delete()
|
statementToDelete?.delete()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user