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 9b8e9c0691b8..3c1e5912dc38 100644 --- a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java @@ -777,7 +777,8 @@ public class LambdaUtil { if (resolveMethod == null) { return null; } - PsiClass anEnum = JavaPsiFacade.getElementFactory(call.getProject()).createEnum(enumName); + PsiElement contextFile = call.getContainingFile().copy(); + PsiClass anEnum = (PsiClass)contextFile.add(JavaPsiFacade.getElementFactory(call.getProject()).createEnum(enumName)); anEnum.add(resolveMethod); return (PsiCall)anEnum.add(call); } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/beforeEnum_1.7.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/beforeEnum_1.7.java new file mode 100644 index 000000000000..4451349c6bba --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/beforeEnum_1.7.java @@ -0,0 +1,6 @@ +// "Replace with <>" "false" +import java.util.*; +enum Test { + test(new ArrayListring>()); + Test(List l){} +} diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/Simplify2DiamondInspectionsTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/Simplify2DiamondInspectionsTest.java index da5b5facc8be..cb835706d496 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/Simplify2DiamondInspectionsTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/Simplify2DiamondInspectionsTest.java @@ -65,6 +65,9 @@ public class Simplify2DiamondInspectionsTest extends LightQuickFixParameterizedT @Override protected LanguageLevel getLanguageLevel() { + if (getTestName(false).endsWith("_1.7.java")){ + return LanguageLevel.JDK_1_7; + } return LanguageLevel.JDK_1_8; } } \ No newline at end of file