[java-inspections] RenameToIgnoredFix: cancel gracefully in case of concurrent modification

Fixes EA-1328866 - NA: PsiReferenceExpressionImpl.bindToElement

GitOrigin-RevId: 1bb87c6d4054c1c775f2bfe02becb6fc40d0db6c
This commit is contained in:
Tagir Valeev
2024-07-09 16:54:16 +02:00
committed by intellij-monorepo-bot
parent 2d07347f4b
commit 38df966e10
2 changed files with 4 additions and 3 deletions

View File

@@ -44,10 +44,10 @@ public class RenameToIgnoredFix extends PsiUpdateModCommandAction<PsiVariable> {
@Override
protected void invoke(@NotNull ActionContext context, @NotNull PsiVariable variable, @NotNull ModPsiUpdater updater) {
List<PsiReferenceExpression> references = VariableAccessUtils.getVariableReferences(variable);
variable.setName(myName);
for (PsiReferenceExpression reference : references) {
reference.bindToElement(variable);
if (!references.isEmpty()) {
updater.cancel(JavaBundle.message("tooltip.variable.used", variable.getName()));
}
variable.setName(myName);
}
@Override

View File

@@ -1942,3 +1942,4 @@ intention.name.delete.method.only=... and nothing else
intention.family.name.delete.private.method=Delete private method
checkbox.check.for.jdk.updates=Check for JDK updates
intention.family.name.rename.to.ignored=Rename to ignored
tooltip.variable.used=Variable ''{0}'' is used