Unused Symbol Inspection: Fix exception on deleting unused declaration in IDEA 2016.3
This commit is contained in:
@@ -335,6 +335,7 @@ These artifacts include extensions for the types available in the latter JDKs, s
|
|||||||
- [`KT-14501`](https://youtrack.jetbrains.com/issue/KT-14501) Create from Usage: Support array access expressions/binary expressions with type mismatch errors
|
- [`KT-14501`](https://youtrack.jetbrains.com/issue/KT-14501) Create from Usage: Support array access expressions/binary expressions with type mismatch errors
|
||||||
- [`KT-14500`](https://youtrack.jetbrains.com/issue/KT-14500) Create from Usage: Suggest functional type based on the call with lambda argument and unresolved invoke()
|
- [`KT-14500`](https://youtrack.jetbrains.com/issue/KT-14500) Create from Usage: Suggest functional type based on the call with lambda argument and unresolved invoke()
|
||||||
- [`KT-14459`](https://youtrack.jetbrains.com/issue/KT-14459) Initialize with Constructor Parameter: Fix IDE freeze on properties in generic class
|
- [`KT-14459`](https://youtrack.jetbrains.com/issue/KT-14459) Initialize with Constructor Parameter: Fix IDE freeze on properties in generic class
|
||||||
|
- [`KT-14044`](https://youtrack.jetbrains.com/issue/KT-14044) Fix exception on deleting unused declaration in IDEA 2016.3
|
||||||
|
|
||||||
#### Refactorings
|
#### Refactorings
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ import com.intellij.codeInspection.deadCode.UnusedDeclarationInspection
|
|||||||
import com.intellij.codeInspection.ex.EntryPointsManager
|
import com.intellij.codeInspection.ex.EntryPointsManager
|
||||||
import com.intellij.codeInspection.ex.EntryPointsManagerBase
|
import com.intellij.codeInspection.ex.EntryPointsManagerBase
|
||||||
import com.intellij.codeInspection.ex.EntryPointsManagerImpl
|
import com.intellij.codeInspection.ex.EntryPointsManagerImpl
|
||||||
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
|
import com.intellij.openapi.application.ModalityState
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.util.text.StringUtil
|
import com.intellij.openapi.util.text.StringUtil
|
||||||
import com.intellij.psi.PsiClass
|
import com.intellij.psi.PsiClass
|
||||||
@@ -74,7 +76,6 @@ import java.awt.Insets
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
import javax.swing.JComponent
|
import javax.swing.JComponent
|
||||||
import javax.swing.JPanel
|
import javax.swing.JPanel
|
||||||
import javax.swing.SwingUtilities
|
|
||||||
|
|
||||||
class UnusedSymbolInspection : AbstractKotlinInspection() {
|
class UnusedSymbolInspection : AbstractKotlinInspection() {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -359,8 +360,9 @@ class SafeDeleteFix(declaration: KtDeclaration) : LocalQuickFix {
|
|||||||
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
||||||
val declaration = descriptor.psiElement.getStrictParentOfType<KtDeclaration>() ?: return
|
val declaration = descriptor.psiElement.getStrictParentOfType<KtDeclaration>() ?: return
|
||||||
if (!FileModificationService.getInstance().prepareFileForWrite(declaration.containingFile)) return
|
if (!FileModificationService.getInstance().prepareFileForWrite(declaration.containingFile)) return
|
||||||
SwingUtilities.invokeLater {
|
ApplicationManager.getApplication().invokeLater(
|
||||||
SafeDeleteHandler.invoke(project, arrayOf(declaration), false)
|
{ SafeDeleteHandler.invoke(project, arrayOf(declaration), false) },
|
||||||
}
|
ModalityState.NON_MODAL
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user