mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 15:09:39 +07:00
[extract method] wrap replace duplicates with a single write action
GitOrigin-RevId: c1932445cebdd5b0406cdcdb3045ad000c528d0f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2dd467ae92
commit
50a0bfcbf0
@@ -9,7 +9,7 @@ import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.ReadConstraint
|
||||
import com.intellij.openapi.application.constrainedReadAction
|
||||
import com.intellij.openapi.application.readAction
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.command.WriteCommandAction
|
||||
import com.intellij.openapi.command.writeCommandAction
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.editor.ScrollType
|
||||
@@ -130,21 +130,17 @@ class DuplicatesMethodExtractor(val extractOptions: ExtractOptions, val targetCl
|
||||
|
||||
val duplicatesExtractOptions = duplicates.map { duplicate -> createExtractDescriptor(duplicate, parameters) }
|
||||
|
||||
if (duplicatesExtractOptions.any { options -> options.isStatic }) {
|
||||
runWriteAction {
|
||||
WriteCommandAction.writeCommandAction(project).withName(ExtractMethodHandler.getRefactoringName()).run<Throwable> {
|
||||
if (duplicatesExtractOptions.any { options -> options.isStatic }) {
|
||||
extractedElements.method.modifierList.setModifierProperty(PsiModifier.STATIC, true)
|
||||
}
|
||||
}
|
||||
|
||||
val replacedMethod = runWriteAction {
|
||||
replacePsiRange(calls, extractedElements.callElements)
|
||||
method.replace(extractedElements.method) as PsiMethod
|
||||
}
|
||||
val replacedMethod = method.replace(extractedElements.method) as PsiMethod
|
||||
|
||||
duplicates.zip(duplicatesExtractOptions).forEach { (duplicate, extractOptions) ->
|
||||
beforeDuplicateReplaced(duplicate.candidate)
|
||||
val callElements = CallBuilder(extractOptions.elements.first()).createCall(replacedMethod, extractOptions)
|
||||
runWriteAction {
|
||||
duplicates.zip(duplicatesExtractOptions).forEach { (duplicate, extractOptions) ->
|
||||
beforeDuplicateReplaced(duplicate.candidate)
|
||||
val callElements = CallBuilder(extractOptions.elements.first()).createCall(replacedMethod, extractOptions)
|
||||
replacePsiRange(duplicate.candidate, callElements)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user