[java-inspections] LambdaToAnonymousFix: tolerate incorrect state

It was not checked in the same RA that the state is correct
Fixes EA-1003038 - T: LambdaCanBeReplacedWithAnonymousInspection.doFix

GitOrigin-RevId: e53a448587e698a9984bf3bc25a7ac177d86be08
This commit is contained in:
Tagir Valeev
2024-06-28 15:34:56 +02:00
committed by intellij-monorepo-bot
parent f5c9f0b071
commit aa035a99ca

View File

@@ -24,7 +24,6 @@ import com.siyeh.ig.BaseInspectionVisitor;
import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@@ -49,16 +48,16 @@ public final class LambdaCanBeReplacedWithAnonymousInspection extends BaseInspec
} }
@Override @Override
protected @Nullable LocalQuickFix buildFix(Object... infos) { protected @NotNull LocalQuickFix buildFix(Object... infos) {
return new LambdaToAnonymousFix(); return new LambdaToAnonymousFix();
} }
public static PsiAnonymousClass doFix(@NotNull Project project, @NotNull PsiLambdaExpression lambdaExpression) { public static PsiAnonymousClass doFix(@NotNull Project project, @NotNull PsiLambdaExpression lambdaExpression) {
final PsiParameter[] paramListCopy = ((PsiParameterList)lambdaExpression.getParameterList().copy()).getParameters(); final PsiParameter[] paramListCopy = ((PsiParameterList)lambdaExpression.getParameterList().copy()).getParameters();
final PsiType functionalInterfaceType = lambdaExpression.getFunctionalInterfaceType(); final PsiType functionalInterfaceType = lambdaExpression.getFunctionalInterfaceType();
LOG.assertTrue(functionalInterfaceType != null); if (functionalInterfaceType == null) return null;
final PsiMethod method = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceType); final PsiMethod method = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceType);
LOG.assertTrue(method != null); if (method == null) return null;
final String blockText = getBodyText(lambdaExpression); final String blockText = getBodyText(lambdaExpression);
if (blockText == null) return null; if (blockText == null) return null;