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
|
||||
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 {
|
||||
val subject = if (ktChangeInfo.kind.isConstructor) "constructor" else "function"
|
||||
return KotlinUsagesViewDescriptor(myChangeInfo.method, RefactoringBundle.message("0.to.change.signature", subject))
|
||||
|
||||
Reference in New Issue
Block a user