From 4a6cc3913d312000c771544cad1af187ccc3e3d6 Mon Sep 17 00:00:00 2001 From: Nicolay Mitropolsky Date: Mon, 18 Dec 2017 22:25:13 +0300 Subject: [PATCH] Fix for "safe delete" after caching added to light elements --- .../idea/refactoring/safeDelete/KotlinSafeDeleteProcessor.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/safeDelete/KotlinSafeDeleteProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/safeDelete/KotlinSafeDeleteProcessor.kt index 13983069692..0b27499d0c7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/safeDelete/KotlinSafeDeleteProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/safeDelete/KotlinSafeDeleteProcessor.kt @@ -129,9 +129,12 @@ class KotlinSafeDeleteProcessor : JavaSafeDeleteProcessor() { return getSearchInfo(declaration) } + fun asLightElements(ktElements: Array) = + ktElements.flatMap { (it as? KtElement)?.toLightElements() ?: listOf(it) }.toTypedArray() + fun findUsagesByJavaProcessor(element: PsiElement, forceReferencedElementUnwrapping: Boolean): NonCodeUsageSearchInfo? { val javaUsages = ArrayList() - val searchInfo = super.findUsages(element, allElementsToDelete, javaUsages) + val searchInfo = super.findUsages(element, asLightElements(allElementsToDelete), javaUsages) javaUsages.filterIsInstance().mapNotNullTo(deleteSet) { it.element }