Change Signature: Clear callback after the call
Retaining the callback leads to the leak of obsolete resolve data
This commit is contained in:
+10
@@ -45,6 +45,16 @@ class KotlinChangeSignatureProcessor(
|
|||||||
val ktChangeInfo
|
val ktChangeInfo
|
||||||
get() = changeInfo.delegate!!
|
get() = changeInfo.delegate!!
|
||||||
|
|
||||||
|
override fun setPrepareSuccessfulSwingThreadCallback(callback: Runnable?) {
|
||||||
|
val actualCallback = if (callback != null) {
|
||||||
|
Runnable {
|
||||||
|
callback.run()
|
||||||
|
setPrepareSuccessfulSwingThreadCallback(null)
|
||||||
|
}
|
||||||
|
} else null
|
||||||
|
super.setPrepareSuccessfulSwingThreadCallback(actualCallback)
|
||||||
|
}
|
||||||
|
|
||||||
override fun createUsageViewDescriptor(usages: Array<UsageInfo>): UsageViewDescriptor {
|
override fun createUsageViewDescriptor(usages: Array<UsageInfo>): UsageViewDescriptor {
|
||||||
val subject = if (ktChangeInfo.kind.isConstructor) "constructor" else "function"
|
val subject = if (ktChangeInfo.kind.isConstructor) "constructor" else "function"
|
||||||
return KotlinUsagesViewDescriptor(myChangeInfo.method, RefactoringBundle.message("0.to.change.signature", subject))
|
return KotlinUsagesViewDescriptor(myChangeInfo.method, RefactoringBundle.message("0.to.change.signature", subject))
|
||||||
|
|||||||
Reference in New Issue
Block a user