[java-intentions] MoveToPackageFix: do not store class, compute text in constructor instead

GitOrigin-RevId: 9a66bc17a7e0e71e661243f4ae9606d7f8fd4e97
This commit is contained in:
Tagir Valeev
2025-04-07 15:47:08 +00:00
committed by intellij-monorepo-bot
parent f82e57e5cc
commit 0c604ad7e0
@@ -23,30 +23,24 @@ import org.jetbrains.annotations.Nullable;
public class MoveToPackageFix extends LocalQuickFixAndIntentionActionOnPsiElement {
private static final Logger LOG = Logger.getInstance(MoveToPackageFix.class);
private final String myTargetPackage;
private final @Nullable SmartPsiElementPointer<@NotNull PsiClass> myClass;
private final @IntentionName String myText;
public MoveToPackageFix(@NotNull PsiFile psiFile, @NotNull String targetPackage) {
super(psiFile);
myTargetPackage = targetPackage;
myClass = null;
myText = QuickFixBundle.message("move.class.to.package.text", myTargetPackage);
}
public MoveToPackageFix(@NotNull PsiClass aClass, @NotNull String targetPackage) {
super(aClass.getContainingFile());
myTargetPackage = targetPackage;
myClass = SmartPointerManager.getInstance(aClass.getProject()).createSmartPsiElementPointer(aClass);
myText = QuickFixBundle.message("move.class.0.to.package.text",
JavaElementKind.fromElement(aClass).object(), aClass.getName(), myTargetPackage);
}
@Override
public @IntentionName @NotNull String getText() {
if (myClass != null) {
PsiClass aClass = myClass.getElement();
if (aClass != null) {
return QuickFixBundle.message("move.class.0.to.package.text",
JavaElementKind.fromElement(aClass).object(), aClass.getName(), myTargetPackage);
}
}
return QuickFixBundle.message("move.class.to.package.text", myTargetPackage);
return myText;
}
@Override