From 28deec85d37aa7ca94158c95b420f5b147677006 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 3 Dec 2021 17:36:54 +0700 Subject: [PATCH] [java-inspections] isSafeLambdaReplacement: use copyWithExpectedType GitOrigin-RevId: efdf10a2a346f4c33b18519377e2f6bb0306093d --- java/java-psi-api/src/com/intellij/psi/LambdaUtil.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java index e074704bb3be..8e7f28e2286c 100644 --- a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java @@ -943,11 +943,7 @@ public final class LambdaUtil { else if (PsiPolyExpressionUtil.isInAssignmentOrInvocationContext(lambda)) { PsiType origType = lambda.getFunctionalInterfaceType(); if (origType != null) { - Project project = lambda.getProject(); - PsiElementFactory factory = JavaPsiFacade.getElementFactory(project); - PsiDeclarationStatement declaration = factory.createVariableDeclarationStatement("$$$", origType, lambda, lambda); - PsiLocalVariable variable = (PsiLocalVariable)declaration.getDeclaredElements()[0]; - PsiLambdaExpression lambdaCopy = (PsiLambdaExpression)variable.getInitializer(); + PsiLambdaExpression lambdaCopy = (PsiLambdaExpression)copyWithExpectedType(lambda, origType); PsiExpression replacement = replacer.apply(lambdaCopy); PsiType type = replacement.getType(); return type != null && origType.isAssignableFrom(type);