[lombok] IDEA-353757 Fix Quick-fix "Annotate method as '@SneakyThrows' " available in non-Lombok project

GitOrigin-RevId: f0e7075b2310057725c374ed423fbdc79a529457
This commit is contained in:
Michail Plushnikov
2024-09-10 21:49:14 +02:00
committed by intellij-monorepo-bot
parent 9092a09789
commit ab4a1ac05e

View File

@@ -7,11 +7,14 @@ import com.intellij.modcommand.ActionContext;
import com.intellij.modcommand.ModPsiUpdater;
import com.intellij.modcommand.Presentation;
import com.intellij.modcommand.PsiUpdateModCommandAction;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.JavaPsiConstructorUtil;
import de.plushnikov.intellij.plugin.LombokClassNames;
import de.plushnikov.intellij.plugin.util.LombokLibraryUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -31,6 +34,11 @@ public class AddSneakyThrowsAnnotationCommandAction extends PsiUpdateModCommandA
@Override
protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiElement element) {
Module module = ModuleUtilCore.findModuleForPsiElement(element);
if (!LombokLibraryUtil.hasLombokClasses(module)) {
return null;
}
PsiElement importantParent = PsiTreeUtil.getParentOfType(element, PsiMethod.class, PsiLambdaExpression.class,
PsiMethodReferenceExpression.class, PsiClassInitializer.class);