IJPL-578 wait for indexes to be ready in tests after java language level change

GitOrigin-RevId: 89aa34d35c05284af90258b3208fb1198be8bc9e
This commit is contained in:
Andrei.Kuznetsov
2024-02-29 16:58:19 +01:00
committed by intellij-monorepo-bot
parent 42ee08fe05
commit 8539bcd407
68 changed files with 178 additions and 229 deletions

View File

@@ -18,5 +18,6 @@
<orderEntry type="module" module-name="intellij.java.frontback.impl" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.tests" exported="" scope="TEST" />
<orderEntry type="module" module-name="intellij.tools.ide.metrics.benchmark" scope="TEST" />
<orderEntry type="module" module-name="intellij.java.testFramework" scope="TEST" />
</component>
</module>

View File

@@ -5,10 +5,9 @@ import com.intellij.openapi.command.undo.UndoManager;
import com.intellij.openapi.editor.ex.EditorEx;
import com.intellij.openapi.fileEditor.TextEditor;
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.Disposer;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.fixtures.BasePlatformTestCase;
import org.jetbrains.annotations.NotNull;
@@ -177,10 +176,7 @@ public abstract class AbstractBasicJavaTypingTest extends BasePlatformTestCase {
}
protected void setLanguageLevel(@NotNull LanguageLevel level) {
LanguageLevelProjectExtension extension = LanguageLevelProjectExtension.getInstance(getProject());
LanguageLevel prev = extension.getLanguageLevel();
extension.setLanguageLevel(level);
Disposer.register(myFixture.getTestRootDisposable(), () -> extension.setLanguageLevel(prev));
IdeaTestUtil.setProjectLanguageLevel(getProject(), level, myFixture.getTestRootDisposable());
}
protected void doTest(char c) {

View File

@@ -31,10 +31,10 @@ import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.UsefulTestCase;
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
import com.intellij.testFramework.fixtures.*;
import org.junit.Ignore;
import java.io.File;
@@ -66,12 +66,12 @@ public class SuppressExternalTest extends UsefulTestCase {
final JavaPsiFacade facade = JavaPsiFacade.getInstance(myFixture.getProject());
myLanguageLevel = LanguageLevelProjectExtension.getInstance(facade.getProject()).getLanguageLevel();
LanguageLevelProjectExtension.getInstance(facade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(facade.getProject(), LanguageLevel.JDK_1_5);
}
@Override
public void tearDown() throws Exception {
LanguageLevelProjectExtension.getInstance(myFixture.getProject()).setLanguageLevel(myLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(myFixture.getProject(), myLanguageLevel);
try {
myFixture.tearDown();

View File

@@ -5,10 +5,10 @@ import com.intellij.compiler.CompilerTestUtil;
import com.intellij.openapi.compiler.CompilerMessage;
import com.intellij.openapi.compiler.CompilerMessageCategory;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.CompilerTester;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
@@ -28,7 +28,7 @@ public abstract class AbstractCompilerAwareTest extends JavaCodeInsightFixtureTe
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_11);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_11);
}
@Override

View File

@@ -11,10 +11,10 @@ import com.intellij.lang.java.JavaDocumentationProvider;
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiClass;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.NeedsIndex;
import com.intellij.testFramework.TestDataPath;
import org.intellij.lang.annotations.Language;
@@ -28,7 +28,7 @@ public class ClassNameCompletionTest extends LightFixtureCompletionTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
}
@Override

View File

@@ -11,9 +11,9 @@ import com.intellij.codeInsight.lookup.LookupManager;
import com.intellij.codeInsight.lookup.impl.LookupManagerImpl;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.LightJavaCodeInsightTestCase;
import com.intellij.testFramework.NeedsIndex;
import com.intellij.testFramework.TestDataPath;
@@ -358,9 +358,7 @@ public class CompletionStyleTest extends LightJavaCodeInsightTestCase {
@NeedsIndex.SmartMode(reason = "For now ConstructorInsertHandler.createOverrideRunnable doesn't work in dumb mode")
public void testAfterNew15() {
final LanguageLevelProjectExtension ll = LanguageLevelProjectExtension.getInstance(getProject());
final LanguageLevel old = ll.getLanguageLevel();
ll.setLanguageLevel(LanguageLevel.JDK_1_5);
final LanguageLevel old = IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_5);
try {
final String path = BASE_PATH;
@@ -371,7 +369,7 @@ public class CompletionStyleTest extends LightJavaCodeInsightTestCase {
checkResultByFile(path + "/AfterNew15-out.java");
}
finally {
ll.setLanguageLevel(old);
IdeaTestUtil.setProjectLanguageLevel(getProject(), old);
}
}

View File

@@ -11,9 +11,9 @@ import com.intellij.compiler.chainsSearch.ChainRelevance;
import com.intellij.compiler.chainsSearch.ChainSearchMagicConstants;
import com.intellij.compiler.chainsSearch.completion.MethodChainCompletionContributor;
import com.intellij.compiler.chainsSearch.completion.lookup.JavaRelevantChainLookupElement;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.NeedsIndex;
import com.intellij.testFramework.SkipSlowTestLocally;
import com.intellij.util.SmartList;
@@ -37,7 +37,7 @@ public class MethodChainsCompletionTest extends AbstractCompilerAwareTest {
Registry.get(MethodChainCompletionContributor.REGISTRY_KEY).setValue(true, myFixture.getTestRootDisposable());
myDefaultAutoCompleteOnCodeCompletion = CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION;
CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = false;
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
CompilerReferenceService.getInstanceIfEnabled(getProject());
}

View File

@@ -9,7 +9,6 @@ import com.intellij.codeInspection.uncheckedWarnings.UncheckedWarningLocalInspec
import com.intellij.codeInspection.unusedImport.UnusedImportInspection;
import com.intellij.openapi.projectRoots.JavaSdkVersion;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.RecursionManager;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.GenericsUtil;
@@ -44,7 +43,7 @@ public class GenericsHighlightingTest extends LightDaemonAnalyzerTestCase {
}
private void doTest(@NotNull LanguageLevel languageLevel, @NotNull JavaSdkVersion sdkVersion, boolean checkWarnings) {
LanguageLevelProjectExtension.getInstance(getJavaFacade().getProject()).setLanguageLevel(languageLevel);
IdeaTestUtil.setProjectLanguageLevel(getJavaFacade().getProject(), languageLevel);
IdeaTestUtil.setTestVersion(sdkVersion, getModule(), getTestRootDisposable());
doTest(BASE_PATH + "/" + getTestName(false) + ".java", checkWarnings, false);
}

View File

@@ -28,7 +28,6 @@ import com.intellij.openapi.extensions.ExtensionPoint;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.projectRoots.JavaSdkVersion;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.RecursionManager;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
@@ -144,7 +143,7 @@ public class LightAdvHighlightingTest extends LightDaemonAnalyzerTestCase {
public void testBadUnicodeEscapeInComment() { doTest(false); }
public void testUnclosedDecl() { doTest(false); }
public void testSillyAssignment() {
LanguageLevelProjectExtension.getInstance(getJavaFacade().getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getJavaFacade().getProject(), LanguageLevel.JDK_1_7);
doTest(true, true);
}
public void testTernary() { doTest(false); }
@@ -337,12 +336,12 @@ public class LightAdvHighlightingTest extends LightDaemonAnalyzerTestCase {
}
public void testNamesHighlighting() {
LanguageLevelProjectExtension.getInstance(getJavaFacade().getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(getJavaFacade().getProject(), LanguageLevel.JDK_1_5);
doTestFile(BASE_PATH + "/" + getTestName(false) + ".java").checkSymbolNames().test();
}
public void testAnnotationHighlighting() {
LanguageLevelProjectExtension.getInstance(getJavaFacade().getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(getJavaFacade().getProject(), LanguageLevel.JDK_1_5);
doTestFile(BASE_PATH + "/" + getTestName(false) + ".java").checkSymbolNames().test();
}

View File

@@ -4,7 +4,6 @@ package com.intellij.java.codeInsight.daemon;
import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass;
import com.intellij.codeInspection.deadCode.UnusedDeclarationInspection;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
@@ -22,7 +21,7 @@ public class LightPatternsForSwitchHighlightingTest extends LightJavaCodeInsight
@Override
public void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_21);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_21);
}
@NotNull

View File

@@ -11,7 +11,6 @@ import com.intellij.codeInspection.unusedImport.UnusedImportInspection;
import com.intellij.openapi.editor.DefaultLanguageHighlighterColors;
import com.intellij.openapi.editor.colors.EditorColorsUtil;
import com.intellij.openapi.projectRoots.JavaSdkVersion;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
@@ -793,7 +792,7 @@ public class GenericsHighlighting8Test extends LightDaemonAnalyzerTestCase {
}
private void doTest(boolean warnings) {
LanguageLevelProjectExtension.getInstance(getJavaFacade().getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getJavaFacade().getProject(), LanguageLevel.JDK_1_8);
IdeaTestUtil.setTestVersion(JavaSdkVersion.JDK_1_8, getModule(), getTestRootDisposable());
doTest(BASE_PATH + "/" + getTestName(false) + ".java", warnings, false);
}

View File

@@ -17,7 +17,6 @@ package com.intellij.java.codeInsight.daemon.lambda;
import com.intellij.codeInsight.daemon.LightDaemonAnalyzerTestCase;
import com.intellij.openapi.projectRoots.JavaSdkVersion;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import org.jetbrains.annotations.NonNls;
@@ -36,7 +35,7 @@ public class GenericsHighlightingGenerated8Test extends LightDaemonAnalyzerTestC
}
private void doTest() {
LanguageLevelProjectExtension.getInstance(getJavaFacade().getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getJavaFacade().getProject(), LanguageLevel.JDK_1_8);
IdeaTestUtil.setTestVersion(JavaSdkVersion.JDK_1_8, getModule(), getTestRootDisposable());
doTest(BASE_PATH + "/" + getTestName(false) + ".java", false, false);
}

View File

@@ -5,7 +5,6 @@ import com.intellij.codeInsight.CustomExceptionHandler
import com.intellij.codeInsight.daemon.LightDaemonAnalyzerTestCase
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.projectRoots.JavaSdkVersion
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.psi.PsiClassType
import com.intellij.psi.PsiElement
@@ -32,7 +31,7 @@ class UnhandledExceptionsHighlightingTest : LightDaemonAnalyzerTestCase() {
}
private fun doTest() {
LanguageLevelProjectExtension.getInstance(javaFacade.project).languageLevel = LanguageLevel.JDK_1_8
IdeaTestUtil.setProjectLanguageLevel(javaFacade.project, LanguageLevel.JDK_1_8)
IdeaTestUtil.setTestVersion(JavaSdkVersion.JDK_1_8, module, testRootDisposable)
doTest("""/codeInsight/daemonCodeAnalyzer/exceptionHighlighting/${getTestName(false)}.java""", false, false)
}

View File

@@ -17,8 +17,8 @@ package com.intellij.java.codeInsight.intention;
import com.intellij.JavaTestUtil;
import com.intellij.java.JavaBundle;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.fixtures.CodeInsightTestUtil;
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
@@ -76,14 +76,12 @@ public class CreateSwitchTest extends JavaCodeInsightFixtureTestCase {
public void testNotAvailableOnLiteral() { doTestNotAvailable(); }
private void withJava7(Runnable runnable) {
final LanguageLevelProjectExtension languageLevelProjectExtension = LanguageLevelProjectExtension.getInstance(getProject());
final LanguageLevel oldLanguageLevel = languageLevelProjectExtension.getLanguageLevel();
languageLevelProjectExtension.setLanguageLevel(LanguageLevel.JDK_1_7);
final LanguageLevel oldLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
try {
runnable.run();
}
finally {
languageLevelProjectExtension.setLanguageLevel(oldLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), oldLanguageLevel);
}
}

View File

@@ -15,7 +15,6 @@
*/
package com.intellij.java.codeInsight.template.postfix.templates;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import org.jetbrains.annotations.NotNull;
@@ -26,15 +25,13 @@ public class LambdaPostfixTemplateTest extends PostfixTemplateTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension levelProjectExtension = LanguageLevelProjectExtension.getInstance(myFixture.getProject());
myDefaultLanguageLevel = levelProjectExtension.getLanguageLevel();
levelProjectExtension.setLanguageLevel(LanguageLevel.JDK_1_8);
myDefaultLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(myFixture.getProject(), LanguageLevel.JDK_1_8);
}
@Override
protected void tearDown() throws Exception {
try {
LanguageLevelProjectExtension.getInstance(myFixture.getProject()).setLanguageLevel(myDefaultLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(myFixture.getProject(), myDefaultLanguageLevel);
myDefaultLanguageLevel = null;
}
catch (Throwable e) {

View File

@@ -1,8 +1,8 @@
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.java.codeInsight.template.postfix.templates;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import org.jetbrains.annotations.NotNull;
public class ObjectsRequireNonNullPostfixTemplateTest extends PostfixTemplateTestCase {
@@ -11,15 +11,13 @@ public class ObjectsRequireNonNullPostfixTemplateTest extends PostfixTemplateTes
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension levelProjectExtension = LanguageLevelProjectExtension.getInstance(myFixture.getProject());
myDefaultLanguageLevel = levelProjectExtension.getLanguageLevel();
levelProjectExtension.setLanguageLevel(LanguageLevel.JDK_1_7);
myDefaultLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(myFixture.getProject(), LanguageLevel.JDK_1_7);
}
@Override
protected void tearDown() throws Exception {
try {
LanguageLevelProjectExtension.getInstance(myFixture.getProject()).setLanguageLevel(myDefaultLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(myFixture.getProject(), myDefaultLanguageLevel);
myDefaultLanguageLevel = null;
}
catch (Throwable e) {

View File

@@ -15,7 +15,6 @@
*/
package com.intellij.java.codeInsight.template.postfix.templates;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.NeedsIndex;
@@ -27,15 +26,13 @@ public class OptionalPostfixTemplateTest extends PostfixTemplateTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension levelProjectExtension = LanguageLevelProjectExtension.getInstance(myFixture.getProject());
myDefaultLanguageLevel = levelProjectExtension.getLanguageLevel();
levelProjectExtension.setLanguageLevel(LanguageLevel.JDK_1_8);
myDefaultLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(myFixture.getProject(), LanguageLevel.JDK_1_8);
}
@Override
protected void tearDown() throws Exception {
try {
LanguageLevelProjectExtension.getInstance(myFixture.getProject()).setLanguageLevel(myDefaultLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), myDefaultLanguageLevel);
myDefaultLanguageLevel = null;
}
catch (Throwable e) {

View File

@@ -15,8 +15,8 @@
*/
package com.intellij.java.codeInsight.template.postfix.templates;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import org.jetbrains.annotations.NotNull;
/**
@@ -32,7 +32,7 @@ public class SwitchPostfixTemplateTest extends PostfixTemplateTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
}
public void testInt() {

View File

@@ -15,8 +15,8 @@
*/
package com.intellij.java.codeInsight.template.postfix.templates;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import org.jetbrains.annotations.NotNull;
public class TryWithResourcesPostfixTemplateTest extends PostfixTemplateTestCase {
@@ -29,7 +29,7 @@ public class TryWithResourcesPostfixTemplateTest extends PostfixTemplateTestCase
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
}
public void testSimple() {

View File

@@ -2,13 +2,13 @@
package com.intellij.java.codeInsight.unwrap;
import com.intellij.codeInsight.unwrap.UnwrapTestCase;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
public class UnwrapCatchTest extends UnwrapTestCase {
public void testTryWithResources() {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
assertUnwrapped("""
try (AutoCloseable r = null) {
System.out.println();

View File

@@ -2,8 +2,8 @@
package com.intellij.java.codeInsight.unwrap;
import com.intellij.codeInsight.unwrap.UnwrapTestCase;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
public class UnwrapTryTest extends UnwrapTestCase {
public void testTryEmpty() {
@@ -202,7 +202,7 @@ public class UnwrapTryTest extends UnwrapTestCase {
}
public void testTryWithResources() {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_9);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_9);
assertUnwrapped("""
AutoCloseable s = null;
try (AutoCloseable r = null; s) {

View File

@@ -17,8 +17,8 @@ package com.intellij.java.codeInspection
import com.intellij.JavaTestUtil
import com.intellij.codeInspection.reflectiveAccess.JavaLangInvokeHandleSignatureInspection
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase
@@ -39,7 +39,7 @@ class JavaLangReflectHandleInvocationTest : LightJavaCodeInsightFixtureTestCase(
override fun setUp() {
super.setUp()
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_1_9
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_9)
myFixture.enableInspections(JavaLangInvokeHandleSignatureInspection())
}

View File

@@ -17,15 +17,15 @@ package com.intellij.java.codeInspection
import com.intellij.JavaTestUtil
import com.intellij.codeInspection.reflectiveAccess.JavaReflectionInvocationInspection
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase
class JavaReflectionInvocationTest : LightJavaCodeInsightFixtureTestCase() {
override fun setUp() {
super.setUp()
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_1_5
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_5)
myFixture.enableInspections(JavaReflectionInvocationInspection())
}

View File

@@ -4,7 +4,6 @@ package com.intellij.java.codeInspection;
import com.intellij.JavaTestUtil;
import com.intellij.codeInspection.redundantCast.RedundantCastInspection;
import com.intellij.idea.TestFor;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.TestDataPath;
@@ -20,7 +19,7 @@ public class RedundantCastInspectionTest extends LightJavaCodeInsightFixtureTest
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_3);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_3);
}
private void doTest() {

View File

@@ -3,8 +3,8 @@ package com.intellij.java.codeInspection
import com.intellij.JavaTestUtil
import com.intellij.codeInspection.deprecation.RedundantScheduledForRemovalAnnotationInspection
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.TestDataPath
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase
@@ -15,7 +15,7 @@ class RedundantScheduledForRemovalInspectionTest : LightJavaCodeInsightFixtureTe
override fun setUp() {
super.setUp()
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_1_9
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_9)
myFixture.enableInspections(RedundantScheduledForRemovalAnnotationInspection())
myFixture.addClass("""
|package org.jetbrains.annotations;

View File

@@ -10,7 +10,6 @@ import com.intellij.openapi.compiler.options.ExcludeEntryDescription;
import com.intellij.openapi.compiler.options.ExcludesConfiguration;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
@@ -21,6 +20,7 @@ import com.intellij.psi.search.searches.MethodReferencesSearch;
import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.PointersKt;
import com.intellij.testFramework.CompilerTester;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.SkipSlowTestLocally;
import com.intellij.util.Consumer;
import org.jetbrains.annotations.NotNull;
@@ -37,7 +37,7 @@ public class CompilerReferencesFindUsagesTest extends DaemonAnalyzerTestCase {
public void setUp() throws Exception {
super.setUp();
myCompilerTester = new CompilerTester(myModule);
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_1_8);
}
@Override

View File

@@ -8,9 +8,9 @@ import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import org.jetbrains.annotations.NotNull;
import java.io.File;
@@ -24,7 +24,7 @@ public abstract class BaseUnivocityTest extends AbstractApplyAndRevertTestCase {
WriteAction.run(() -> {
ProjectJdkTable.getInstance().addJdk(jdk, getTestRootDisposable());
ProjectRootManager.getInstance(myProject).setProjectSdk(jdk);
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(projectLanguageLevel());
IdeaTestUtil.setProjectLanguageLevel(myProject, projectLanguageLevel());
});
CompilerTestUtil.saveApplicationSettings();
}

View File

@@ -10,7 +10,6 @@ import com.intellij.openapi.application.impl.NonBlockingReadActionImpl;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.RecursionManager;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
@@ -18,6 +17,7 @@ import com.intellij.psi.impl.PsiDocumentManagerImpl;
import com.intellij.psi.search.searches.DirectClassInheritorsSearch;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.refactoring.util.CommonRefactoringUtil;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.propertyBased.InvokeIntention;
import com.intellij.testFramework.propertyBased.MadTestingUtil;
import com.intellij.util.containers.ContainerUtil;
@@ -34,7 +34,7 @@ public class MakeClassSealedPropertyTest extends BaseUnivocityTest {
@Override
public void setUp() throws Exception {
super.setUp();
WriteAction.run(() -> LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_17));
WriteAction.run(() -> IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_17));
((PsiDocumentManagerImpl)PsiDocumentManager.getInstance(myProject)).disableBackgroundCommit(getTestRootDisposable());
MadTestingUtil.enableAllInspections(myProject, JavaLanguage.INSTANCE);
}

View File

@@ -17,10 +17,10 @@ package com.intellij.java.psi;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.JavaPsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
@@ -30,7 +30,7 @@ public abstract class GenericsTestCase extends JavaPsiTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(myJavaFacade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myJavaFacade.getProject(), LanguageLevel.JDK_1_5);
}
protected void setupGenericSampleClasses() {

View File

@@ -15,7 +15,6 @@
*/
package com.intellij.java.psi;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.JavaDirectoryService;
@@ -31,7 +30,7 @@ import com.intellij.testFramework.fixtures.impl.TempDirTestFixtureImpl;
public class JavaDirectoryServiceHeavyTest extends JavaCodeInsightFixtureTestCase {
public void testCreatingEnumInLanguageLevel3Project() {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_3);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_3);
IdeaTestUtil.setModuleLanguageLevel(getModule(), LanguageLevel.JDK_1_7);
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
@@ -49,7 +48,7 @@ public class JavaDirectoryServiceHeavyTest extends JavaCodeInsightFixtureTestCas
VirtualFile root = temp.findOrCreateDir("lib");
PsiTestUtil.addLibrary(getModule(), "lib", root.getPath(), new String[]{}, new String[]{""});
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_3);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_3);
IdeaTestUtil.setModuleLanguageLevel(getModule(), LanguageLevel.JDK_1_7);
IndexingTestUtil.waitUntilIndexesAreReady(getProject());

View File

@@ -18,7 +18,6 @@ package com.intellij.java.psi;
import com.intellij.codeInsight.JavaCodeInsightTestCase;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.impl.java.stubs.FunctionalExpressionStub;
@@ -34,7 +33,7 @@ public class JavaFunctionalExpressionPresentationTest extends JavaCodeInsightTes
@Override
public void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_1_8);
}
@Override

View File

@@ -6,7 +6,6 @@ import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.impl.LoadTextUtil;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.impl.PushedFilePropertiesUpdater;
import com.intellij.openapi.util.Conditions;
import com.intellij.openapi.util.Factory;
@@ -20,6 +19,7 @@ import com.intellij.psi.impl.light.LightTypeParameterBuilder;
import com.intellij.psi.impl.source.PostprocessReformattingAspect;
import com.intellij.psi.impl.source.tree.LazyParseableElement;
import com.intellij.psi.util.PsiUtilCore;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.SkipSlowTestLocally;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
import com.intellij.util.ThrowableRunnable;
@@ -222,14 +222,13 @@ public class MiscPsiTest extends LightJavaCodeInsightFixtureTestCase {
public void testTopLevelEnumIsNotStatic() {
final JavaPsiFacade facade = getJavaFacade();
final LanguageLevel prevLanguageLevel = LanguageLevelProjectExtension.getInstance(facade.getProject()).getLanguageLevel();
LanguageLevelProjectExtension.getInstance(facade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
final LanguageLevel prevLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(facade.getProject(), LanguageLevel.JDK_1_5);
final PsiClass aClass;
try {
aClass = JavaPsiFacade.getElementFactory(getProject()).createEnum("E");
}
finally {
LanguageLevelProjectExtension.getInstance(facade.getProject()).setLanguageLevel(prevLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(facade.getProject(), prevLanguageLevel);
}
assertTrue(aClass.isEnum());
assertFalse(aClass.hasModifierProperty(PsiModifier.STATIC));

View File

@@ -11,7 +11,6 @@ import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
@@ -40,7 +39,7 @@ public class PsiConcurrencyStressTest extends DaemonAnalyzerTestCase {
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_1_5);
String root = PathManagerEx.getTestDataPath() + "/psi/repositoryUse/src";
PsiTestUtil.removeAllRoots(myModule, IdeaTestUtil.getMockJdk17());
createTestProjectStructure( root);

View File

@@ -2,7 +2,6 @@
package com.intellij.java.psi;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.VirtualFileFilter;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
@@ -29,7 +28,7 @@ public class Src15RepositoryUseTest extends JavaPsiTestCase {
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_1_5);
String root = PathManagerEx.getTestDataPath() + "/psi/repositoryUse/src15";
PsiTestUtil.removeAllRoots(myModule, IdeaTestUtil.getMockJdk17());
createTestProjectStructure( root);
@@ -38,7 +37,7 @@ public class Src15RepositoryUseTest extends JavaPsiTestCase {
@Override
protected void tearDown() throws Exception {
try {
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_1_5);
}
catch (Throwable e) {
addSuppressedException(e);

View File

@@ -6,7 +6,10 @@ import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.projectRoots.impl.ProjectRootUtil;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.SourceFolder;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.io.FileUtil;
@@ -42,7 +45,7 @@ public class SrcRepositoryUseTest extends JavaPsiTestCase {
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_1_5);
String root = PathManagerEx.getTestDataPath() + "/psi/repositoryUse/src";
PsiTestUtil.removeAllRoots(myModule, IdeaTestUtil.getMockJdk17());
createTestProjectStructure( root);

View File

@@ -11,7 +11,6 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.impl.DocumentImpl;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
@@ -23,6 +22,7 @@ import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
import com.intellij.psi.codeStyle.DetectableIndentOptionsProvider;
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
import com.intellij.psi.util.PsiUtil;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.LightIdeaTestCase;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.text.LineReader;
@@ -81,7 +81,7 @@ public abstract class AbstractJavaFormatterTest extends LightIdeaTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.HIGHEST);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.HIGHEST);
}
public CommonCodeStyleSettings getSettings() {

View File

@@ -3,10 +3,10 @@ package com.intellij.java.psi.formatter.java;
import com.intellij.application.options.CodeStyle;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
import com.intellij.testFramework.IdeaTestUtil;
public class AnnotationFormatterTest extends JavaFormatterTestCase {
@Override
@@ -324,9 +324,8 @@ public class AnnotationFormatterTest extends JavaFormatterTestCase {
public void testEnumFormatting() {
getSettings(JavaLanguage.INSTANCE).ENUM_CONSTANTS_WRAP = CommonCodeStyleSettings.WRAP_ALWAYS;
final LanguageLevel effectiveLanguageLevel = LanguageLevelProjectExtension.getInstance(getProject()).getLanguageLevel();
final LanguageLevel effectiveLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_5);
try {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
doTextTest("""
enum Breed {
Dalmatian ( "spotted" ),Labrador ( "black" ),Dachshund( "brown" );
@@ -388,7 +387,7 @@ public class AnnotationFormatterTest extends JavaFormatterTestCase {
}""");
}
finally {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(effectiveLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), effectiveLanguageLevel);
}
}

View File

@@ -2,8 +2,8 @@
package com.intellij.java.psi.formatter.java;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
import com.intellij.testFramework.IdeaTestUtil;
/**
* Is intended to hold specific java formatting tests for 'spacing' settings.
@@ -12,7 +12,7 @@ public class JavaFormatterSpaceTest extends AbstractJavaFormatterTest {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(JavaTestUtil.getMaxRegisteredLanguageLevel());
IdeaTestUtil.setProjectLanguageLevel(getProject(), JavaTestUtil.getMaxRegisteredLanguageLevel());
}
public void testSpacingBetweenTypeParameters() {

View File

@@ -13,6 +13,7 @@ import com.intellij.psi.JavaCodeFragmentFactory
import com.intellij.psi.PsiElement
import com.intellij.psi.codeStyle.CodeStyleManager
import com.intellij.psi.codeStyle.CommonCodeStyleSettings
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.util.IncorrectOperationException
/**
@@ -118,7 +119,7 @@ class JavaFormatterTest : AbstractJavaFormatterTest() {
}
fun testAssert() {
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.HIGHEST
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.HIGHEST)
doTest()
}
@@ -1028,7 +1029,7 @@ class Test {
val facade = javaFacade
val effectiveLanguageLevel = LanguageLevelProjectExtension.getInstance(facade.project).languageLevel
try {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = LanguageLevel.JDK_1_5
IdeaTestUtil.setProjectLanguageLevel(facade.project, LanguageLevel.JDK_1_5)
settings.ASSERT_STATEMENT_COLON_ON_NEXT_LINE = false
doTextTest("class Foo {\n" +
@@ -1062,7 +1063,7 @@ class Test {
}
finally {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = effectiveLanguageLevel
IdeaTestUtil.setProjectLanguageLevel(facade.project, effectiveLanguageLevel)
}
}
@@ -1078,8 +1079,7 @@ class Test {
settings.ASSERT_STATEMENT_COLON_ON_NEXT_LINE = true
val facade = javaFacade
val effectiveLanguageLevel = LanguageLevelProjectExtension.getInstance(facade.project).languageLevel
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = LanguageLevel.JDK_1_5
val effectiveLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(facade.project, LanguageLevel.JDK_1_5)
try {
doTextTest(
@@ -1104,7 +1104,7 @@ class Test {
"}")
}
finally {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = effectiveLanguageLevel
IdeaTestUtil.setProjectLanguageLevel(facade.project, effectiveLanguageLevel)
}
}
@@ -1123,8 +1123,7 @@ class Test {
settings.ALIGN_MULTILINE_BINARY_OPERATION = true
val facade = javaFacade
val effectiveLanguageLevel = LanguageLevelProjectExtension.getInstance(facade.project).languageLevel
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = LanguageLevel.JDK_1_5
val effectiveLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(facade.project, LanguageLevel.JDK_1_5)
try {
@@ -1143,7 +1142,7 @@ class Test {
"}")
}
finally {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = effectiveLanguageLevel
IdeaTestUtil.setProjectLanguageLevel(facade.project, effectiveLanguageLevel)
}
}
@@ -1623,9 +1622,7 @@ class Test {
fun testSpacesIncode() {
val facade = javaFacade
val level = LanguageLevelProjectExtension.getInstance(facade.project).languageLevel
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = LanguageLevel.JDK_1_5
val level = IdeaTestUtil.setProjectLanguageLevel(facade.project, LanguageLevel.JDK_1_5)
try {
doTextTest("class C<Y, X> {\n" + "}", "class C<Y, X> {\n" + "}")
@@ -1669,7 +1666,7 @@ class Test {
"}")
}
finally {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = level
IdeaTestUtil.setProjectLanguageLevel(facade.project, level)
}
}
@@ -1798,16 +1795,13 @@ class Test {
settings.SPACE_AFTER_COMMA = true
val facade = javaFacade
val effectiveLanguageLevel = LanguageLevelProjectExtension.getInstance(facade.project).languageLevel
val effectiveLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(facade.project, LanguageLevel.JDK_1_5)
try {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = LanguageLevel.JDK_1_5
doTextTest("public enum StringExDirection {\n" + "\n" + " RIGHT_TO_LEFT, LEFT_TO_RIGHT\n" + "\n" + "}",
"public enum StringExDirection {\n" + "\n" + " RIGHT_TO_LEFT, LEFT_TO_RIGHT\n" + "\n" + "}")
}
finally {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = effectiveLanguageLevel
IdeaTestUtil.setProjectLanguageLevel(facade.project, effectiveLanguageLevel)
}
}
@@ -2682,8 +2676,7 @@ enum Foo {
settings.WHILE_ON_NEW_LINE = true
val facade = javaFacade
val stored = LanguageLevelProjectExtension.getInstance(facade.project).languageLevel
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = LanguageLevel.JDK_1_5
val stored = IdeaTestUtil.setProjectLanguageLevel(facade.project, LanguageLevel.JDK_1_5)
try {
doTextTest("class Foo {\n" + " void foo() {\n" + " if (a) foo();\n" + " else bar();\n" + " }\n" + "}",
@@ -2786,7 +2779,7 @@ enum Foo {
}
finally {
LanguageLevelProjectExtension.getInstance(facade.project).languageLevel = stored
IdeaTestUtil.setProjectLanguageLevel(facade.project, stored)
}

View File

@@ -1,14 +1,13 @@
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.java.psi.formatter.java
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.LightPlatformTestCase
import com.intellij.testFramework.IdeaTestUtil
class JavaModuleFormatterTest : AbstractJavaFormatterTest() {
override fun setUp() {
super.setUp()
LanguageLevelProjectExtension.getInstance(getProject()).languageLevel = LanguageLevel.JDK_1_9
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_9)
}
fun testEmpty() {

View File

@@ -4,8 +4,8 @@ package com.intellij.java.psi.formatter.java
import com.intellij.ide.highlighter.JavaFileType
import com.intellij.ide.todo.TodoConfiguration
import com.intellij.lang.java.JavaLanguage
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
class JavadocFormatterTest : AbstractJavaFormatterTest() {
fun testRIGHT_MARGIN() {
@@ -272,7 +272,7 @@ class A {
fun testPreserveExistingSelfClosingTagsAndGenerateOnlyPTag() {
javaSettings.ENABLE_JAVADOC_FORMATTING = true
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_1_7
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_7)
doTextTest(
"""/**
@@ -300,7 +300,7 @@ class T {
ENABLE_JAVADOC_FORMATTING = true
JD_P_AT_EMPTY_LINES = true
}
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_1_7
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_7)
doTextTest(
"""/**
@@ -915,7 +915,7 @@ public void voo() {
JD_P_AT_EMPTY_LINES = true
ENABLE_JAVADOC_FORMATTING = true
}
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_1_7
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_7)
doClassTest(
"""/**

View File

@@ -2,7 +2,6 @@
package com.intellij.java.psi.search;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
@@ -20,7 +19,7 @@ public class FindUsages15Test extends JavaPsiTestCase {
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(myJavaFacade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myJavaFacade.getProject(), LanguageLevel.JDK_1_5);
String root = JavaTestUtil.getJavaTestDataPath() + "/psi/search/findUsages15/" + getTestName(true);
PsiTestUtil.removeAllRoots(myModule, IdeaTestUtil.getMockJdk17());
createTestProjectStructure(root);

View File

@@ -2,7 +2,6 @@
package com.intellij.java.psi.search
import com.intellij.JavaTestUtil
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiReference
@@ -17,7 +16,7 @@ import java.lang.Integer.max
class FindUsagesJava14Test : JavaPsiTestCase() {
override fun setUp() {
super.setUp()
LanguageLevelProjectExtension.getInstance(myJavaFacade.project).languageLevel = LanguageLevel.HIGHEST
IdeaTestUtil.setProjectLanguageLevel(myJavaFacade.project, LanguageLevel.HIGHEST)
val root = JavaTestUtil.getJavaTestDataPath() + "/psi/search/findUsages14/" + getTestName(true)
PsiTestUtil.removeAllRoots(myModule, IdeaTestUtil.getMockJdk17())
createTestProjectStructure(root)

View File

@@ -9,7 +9,6 @@ import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.registry.RegistryValue;
import com.intellij.pom.java.LanguageLevel;
@@ -322,14 +321,12 @@ public class ExtractMethodNewTest extends LightJavaCodeInsightTestCase {
}
private void doTestWithLanguageLevel(LanguageLevel languageLevel) throws Exception {
LanguageLevelProjectExtension projectExtension = LanguageLevelProjectExtension.getInstance(getProject());
LanguageLevel oldLevel = projectExtension.getLanguageLevel();
LanguageLevel oldLevel = IdeaTestUtil.setProjectLanguageLevel(getProject(), languageLevel);
try {
projectExtension.setLanguageLevel(languageLevel);
doTest();
}
finally {
projectExtension.setLanguageLevel(oldLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), oldLevel);
}
}

View File

@@ -10,7 +10,6 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.registry.RegistryValue;
import com.intellij.pom.java.LanguageLevel;
@@ -282,14 +281,12 @@ public class ExtractMethodTest extends LightJavaCodeInsightTestCase {
}
private void doTestWithLanguageLevel(LanguageLevel languageLevel) throws Exception {
LanguageLevelProjectExtension projectExtension = LanguageLevelProjectExtension.getInstance(getProject());
LanguageLevel oldLevel = projectExtension.getLanguageLevel();
LanguageLevel oldLevel = IdeaTestUtil.setProjectLanguageLevel(getProject(), languageLevel);
try {
projectExtension.setLanguageLevel(languageLevel);
doTest();
}
finally {
projectExtension.setLanguageLevel(oldLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), oldLevel);
}
}

View File

@@ -4,7 +4,6 @@ package com.intellij.java.refactoring;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
@@ -15,6 +14,7 @@ import com.intellij.refactoring.changeSignature.JavaMethodDescriptor;
import com.intellij.refactoring.changeSignature.ParameterInfoImpl;
import com.intellij.refactoring.introduceParameterObject.IntroduceParameterObjectProcessor;
import com.intellij.refactoring.introduceparameterobject.JavaIntroduceParameterObjectClassDescriptor;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.util.Function;
import com.intellij.util.VisibilityUtil;
import org.jetbrains.annotations.NotNull;
@@ -112,14 +112,12 @@ public class IntroduceParameterObjectTest extends LightMultiFileTestCase {
}
public void testTypeParametersWithSubstitution() {
final LanguageLevelProjectExtension projectExtension = LanguageLevelProjectExtension.getInstance(getProject());
final LanguageLevel oldLevel = projectExtension.getLanguageLevel();
final LanguageLevel oldLevel = IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.HIGHEST);
try {
projectExtension.setLanguageLevel(LanguageLevel.HIGHEST);
doTest();
}
finally {
projectExtension.setLanguageLevel(oldLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), oldLevel);
}
}

View File

@@ -2,7 +2,6 @@
package com.intellij.java.refactoring;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
@@ -12,6 +11,7 @@ import com.intellij.refactoring.BaseRefactoringProcessor;
import com.intellij.refactoring.LightMultiFileTestCase;
import com.intellij.refactoring.move.moveMembers.MockMoveMembersOptions;
import com.intellij.refactoring.move.moveMembers.MoveMembersProcessor;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.util.VisibilityUtil;
import java.util.ArrayList;
@@ -198,14 +198,12 @@ public class MoveMembersTest extends LightMultiFileTestCase {
}
public void testStaticToInterface() {
final LanguageLevelProjectExtension levelProjectExtension = LanguageLevelProjectExtension.getInstance(getProject());
final LanguageLevel level = levelProjectExtension.getLanguageLevel();
final LanguageLevel level = IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
try {
levelProjectExtension.setLanguageLevel(LanguageLevel.JDK_1_8);
doTest("A", "B", 0);
}
finally {
levelProjectExtension.setLanguageLevel(level);
IdeaTestUtil.setProjectLanguageLevel(getProject(), level);
}
}
@@ -246,14 +244,12 @@ public class MoveMembersTest extends LightMultiFileTestCase {
}
public void testFromNestedToOuterMethodRef() {
final LanguageLevelProjectExtension projectExtension = LanguageLevelProjectExtension.getInstance(getProject());
final LanguageLevel oldLevel = projectExtension.getLanguageLevel();
final LanguageLevel oldLevel = IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.HIGHEST);
try {
projectExtension.setLanguageLevel(LanguageLevel.HIGHEST);
doTest("Outer.Inner", "Outer", true, VisibilityUtil.ESCALATE_VISIBILITY, 0);
}
finally {
projectExtension.setLanguageLevel(oldLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), oldLevel);
}
}

View File

@@ -17,7 +17,6 @@ package com.intellij.java.refactoring;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.JavaPsiFacade;
@@ -30,6 +29,7 @@ import com.intellij.refactoring.MultiFileTestCase;
import com.intellij.refactoring.PackageWrapper;
import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesProcessor;
import com.intellij.refactoring.move.moveClassesOrPackages.MultipleRootsMoveDestination;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.PsiTestUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.model.java.JavaSourceRootType;
@@ -111,7 +111,7 @@ public class MovePackageMultirootTest extends MultiFileTestCase {
}
private void doMovementTest(@NotNull Set<String> sourceClassNames, @NotNull String targetPackageName) {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_9);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_9);
BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(() -> {
doTest((rootDir, rootAfter) -> {
JavaPsiFacadeEx facade = JavaPsiFacadeEx.getInstanceEx(getProject());
@@ -128,7 +128,7 @@ public class MovePackageMultirootTest extends MultiFileTestCase {
private void doMovementTestWithConflicts(@NotNull Set<String> sourceClassNames,
@NotNull String targetPackageName,
@NotNull String message) {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_9);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_9);
doTest((rootDir, rootAfter) -> {
JavaPsiFacadeEx facade = JavaPsiFacadeEx.getInstanceEx(getProject());
PsiClass[] sourceClasses = sourceClassNames.stream().map(name -> facade.findClass(name)).toArray(PsiClass[]::new);

View File

@@ -8,7 +8,6 @@ import com.intellij.ide.scratch.ScratchFileService;
import com.intellij.ide.scratch.ScratchRootType;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
@@ -236,7 +235,7 @@ public class SafeDeleteTest extends MultiFileTestCase {
public void testParameterFromFunctionalInterface() throws Exception {
try {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
doSingleFileTest();
fail("Conflict was not detected");
}
@@ -248,7 +247,7 @@ public class SafeDeleteTest extends MultiFileTestCase {
public void testFunctionalInterfaceMethod() throws Exception {
try {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
doSingleFileTest();
fail("Conflict was not detected");
}
@@ -270,7 +269,7 @@ public class SafeDeleteTest extends MultiFileTestCase {
}
public void testFunctionalInterfaceDefaultMethod() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
doSingleFileTest();
}
@@ -317,27 +316,27 @@ public class SafeDeleteTest extends MultiFileTestCase {
}
public void testLastResourceVariable() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
doSingleFileTest();
}
public void testLastResourceVariableConflictingVar() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
doSingleFileTest();
}
public void testLastResourceVariableWithFinallyBlock() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
doSingleFileTest();
}
public void testLastTypeParam() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
doSingleFileTest();
}
public void testTypeParamFromDiamond() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
doSingleFileTest();
}
@@ -384,12 +383,12 @@ public class SafeDeleteTest extends MultiFileTestCase {
}
public void testParameterInMethodUsedInMethodReference() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()->doSingleFileTest());
}
public void testNoConflictOnDeleteParameterWithMethodRefArg() throws Exception {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
doSingleFileTest();
}
@@ -469,12 +468,12 @@ public class SafeDeleteTest extends MultiFileTestCase {
}
public void testLastClassInPackage() {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_9);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_9);
doTest("pack1.First");
}
public void testNotLastClassInPackage() {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_9);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_9);
doTest("pack1.First");
}

View File

@@ -37,8 +37,7 @@ class JavaModuleExtensionsTest {
}
private fun setLanguageLevel(project: Project, newLevel: LanguageLevel) {
LanguageLevelProjectExtension.getInstance(project).languageLevel = newLevel
IndexingTestUtil.waitUntilIndexesAreReady(project)
IdeaTestUtil.setProjectLanguageLevel(project, newLevel)
}
@Test

View File

@@ -20,7 +20,6 @@ import com.intellij.openapi.fileEditor.TextEditor;
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.io.FileUtil;
@@ -593,6 +592,6 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
}
protected void setLanguageLevel(@NotNull LanguageLevel level) {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(level);
IdeaTestUtil.setProjectLanguageLevel(getProject(), level);
}
}

View File

@@ -8,6 +8,7 @@ import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.module.LanguageLevelUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.projectRoots.*;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
@@ -67,18 +68,32 @@ public final class IdeaTestUtil {
}
}
public static void setModuleLanguageLevel(@NotNull Module module, @Nullable LanguageLevel level) {
public static void setProjectLanguageLevel(@NotNull Project project, @NotNull LanguageLevel level, @NotNull Disposable disposable) {
LanguageLevel oldLevel = setProjectLanguageLevel(project, level);
Disposer.register(disposable, () -> {
setProjectLanguageLevel(project, oldLevel);
});
}
public static LanguageLevel setProjectLanguageLevel(@NotNull Project project, @NotNull LanguageLevel level) {
LanguageLevelProjectExtension projectExt = LanguageLevelProjectExtension.getInstance(project);
LanguageLevel oldLevel = projectExt.getLanguageLevel();
projectExt.setLanguageLevel(level);
IndexingTestUtil.waitUntilIndexesAreReady(project);
return oldLevel;
}
public static LanguageLevel setModuleLanguageLevel(@NotNull Module module, @Nullable LanguageLevel level) {
LanguageLevel prev = LanguageLevelUtil.getCustomLanguageLevel(module);
ModuleRootModificationUtil.updateModel(module, model -> model.getModuleExtension(LanguageLevelModuleExtension.class).setLanguageLevel(level));
IndexingTestUtil.waitUntilIndexesAreReady(module.getProject());
return prev;
}
public static void setModuleLanguageLevel(@NotNull Module module, @NotNull LanguageLevel level, @NotNull Disposable parentDisposable) {
LanguageLevel prev = LanguageLevelUtil.getCustomLanguageLevel(module);
IndexingTestUtil.waitUntilIndexesAreReady(module.getProject());
setModuleLanguageLevel(module, level);
LanguageLevel prev = setModuleLanguageLevel(module, level);
Disposer.register(parentDisposable, () -> {
setModuleLanguageLevel(module, prev);
IndexingTestUtil.waitUntilIndexesAreReady(module.getProject());
});
}

View File

@@ -4,7 +4,6 @@ package com.intellij.testFramework;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.module.StdModuleTypes;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.impl.JavaPsiFacadeEx;
import org.jetbrains.annotations.NotNull;
@@ -15,8 +14,7 @@ public abstract class JavaProjectTestCase extends HeavyPlatformTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(getProjectLanguageLevel());
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
IdeaTestUtil.setProjectLanguageLevel(getProject(), getProjectLanguageLevel());
myJavaFacade = JavaPsiFacadeEx.getInstanceEx(myProject);
}

View File

@@ -6,7 +6,6 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleTypeId;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.util.Disposer;
import com.intellij.pom.java.LanguageLevel;
@@ -83,14 +82,7 @@ public abstract class LightJavaCodeInsightTestCase extends LightPlatformCodeInsi
}
protected void setLanguageLevel(@NotNull LanguageLevel level) {
LanguageLevelProjectExtension extension = LanguageLevelProjectExtension.getInstance(getProject());
LanguageLevel prev = extension.getLanguageLevel();
extension.setLanguageLevel(level);
Disposer.register(myBeforeParentDisposeDisposable, () -> {
extension.setLanguageLevel(prev);
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
});
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
IdeaTestUtil.setProjectLanguageLevel(getProject(), level, myBeforeParentDisposeDisposable);
}
@Override

View File

@@ -5,11 +5,11 @@ import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiElementFactory;
import com.intellij.psi.impl.PsiManagerEx;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.TestDataPath;
import com.intellij.testFramework.TestIndexingModeSupporter;
import com.intellij.testFramework.UsefulTestCase;
@@ -48,7 +48,7 @@ public abstract class JavaCodeInsightFixtureTestCase extends UsefulTestCase impl
myFixture.setTestDataPath(getTestDataPath());
myFixture.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_6);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_6);
}
protected boolean toAddSourceRoot() {

View File

@@ -9,7 +9,6 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.LanguageLevelModuleExtension;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.pom.java.AcceptedLanguageLevelsSettings;
import com.intellij.pom.java.LanguageLevel;
@@ -120,8 +119,7 @@ public abstract class LightJavaCodeInsightFixtureTestCase extends UsefulTestCase
myFixture.setTestDataPath(getTestDataPath());
myFixture.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_6);
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_6);
}
@NotNull

View File

@@ -3,12 +3,12 @@ package com.intellij.refactoring;
import com.intellij.application.options.CodeStyle;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.LightProjectDescriptor;
import org.jetbrains.annotations.NotNull;
@@ -29,7 +29,7 @@ public class TypeMigrationTest extends TypeMigrationTestBase {
@Override
public void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.HIGHEST);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.HIGHEST);
myFactory = getElementFactory();
}

View File

@@ -1,7 +1,6 @@
package com.intellij.jvm.analysis.internal.testFramework
import com.intellij.jvm.analysis.testFramework.JvmInspectionTestBase
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.LightProjectDescriptor
@@ -23,7 +22,7 @@ abstract class JvmSdkInspectionTestBase : JvmInspectionTestBase() {
* Sets the current project and module language level to [languageLevel].
*/
protected fun JavaCodeInsightTestFixture.setLanguageLevel(languageLevel: LanguageLevel) {
LanguageLevelProjectExtension.getInstance(project).languageLevel = languageLevel
IdeaTestUtil.setProjectLanguageLevel(project, languageLevel)
IdeaTestUtil.setModuleLanguageLevel(myFixture.module, languageLevel, testRootDisposable)
}
}

View File

@@ -844,7 +844,7 @@ class ExternalSystemStorageTest {
ApplicationManager.getApplication().runWriteAction {
//we need to set language level explicitly because otherwise if some tests modifies language level in the default project, we'll
// get different content in misc.xml
LanguageLevelProjectExtension.getInstance(project)!!.languageLevel = LanguageLevel.JDK_1_8
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_1_8)
setupProject(project, projectDir)
}
}

View File

@@ -15,6 +15,7 @@ import com.intellij.openapi.roots.ProjectRootManager
import com.intellij.openapi.roots.impl.libraries.LibraryEx
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.UsefulTestCase
import junit.framework.AssertionFailedError
@@ -64,8 +65,7 @@ abstract class GradleJavaImportingTestCase : GradleImportingTestCase() {
fun setProjectLanguageLevel(languageLevel: LanguageLevel) {
val languageLevelProjectExtension = LanguageLevelProjectExtension.getInstance(myProject)
languageLevelProjectExtension.languageLevel = languageLevel
IdeaTestUtil.setProjectLanguageLevel(myProject, languageLevel)
}
fun setProjectTargetBytecodeVersion(targetBytecodeVersion: String) {

View File

@@ -15,12 +15,13 @@
*/
package org.jetbrains.plugins.groovy.transformations
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.pom.java.LanguageLevel
import com.intellij.psi.PsiCall
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiExpressionStatement
import com.intellij.psi.PsiJavaFile
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
import groovy.transform.CompileStatic
import org.jetbrains.plugins.groovy.SetupRule
@@ -99,7 +100,7 @@ class GrVetoableSupportTest {
@Test
void 'test java'() {
LanguageLevelProjectExtension.getInstance(fixture.project).languageLevel = LanguageLevel.HIGHEST
IdeaTestUtil.setProjectLanguageLevel(fixture.project, LanguageLevel.HIGHEST)
[
'new Person().addVetoableChangeListener(e -> {});',
'new Person().addVetoableChangeListener("", e -> {});',

View File

@@ -6,7 +6,6 @@ import com.intellij.codeInsight.daemon.impl.HighlightInfo;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.openapi.application.PluginPathManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.packaging.artifacts.ArtifactManager;
@@ -15,6 +14,7 @@ import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiFile;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.javaFX.fxml.AbstractJavaFXTestCase;
@@ -73,7 +73,7 @@ public class JavaFxFieldToPropertyTest extends DaemonAnalyzerTestCase {
}
private void doTest(String... fileNames) throws Exception {
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(myProject, LanguageLevel.JDK_1_7);
configureByFiles(null, fileNames);
final IntentionAction intentionAction = getIntentionAction();

View File

@@ -4,11 +4,11 @@ package org.jetbrains.kotlin.j2k
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.runWriteAction
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.openapi.util.Ref
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.util.ThrowableRunnable
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.caches.PerModulePackageCacheService.Companion.DEBUG_LOG_ENABLE_PerModulePackageCache
@@ -27,7 +27,7 @@ abstract class AbstractJavaToKotlinConverterTest : KotlinLightCodeInsightFixture
val testName = getTestName(false)
if (testName.contains("Java17") || testName.contains("java17")) {
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_17
IdeaTestUtil.setProjectLanguageLevel(project, LanguageLevel.JDK_17)
}
vfsDisposable = KotlinTestUtils.allowProjectRootAccess(this)
invalidateLibraryCache(project)

View File

@@ -2,8 +2,8 @@ package de.plushnikov.intellij.plugin.completion;
import com.intellij.codeInsight.completion.CompletionType;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import de.plushnikov.intellij.plugin.AbstractLombokLightCodeInsightTestCase;
import org.intellij.lang.annotations.Language;
@@ -14,11 +14,11 @@ public class LombokOnXCompletionContributorFilterTest extends AbstractLombokLigh
@Override
public void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
}
public void testOnConstructorJdk7() {
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_7);
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_7);
testOnAnnotation("""
import lombok.AllArgsConstructor;

View File

@@ -2,7 +2,6 @@
package com.intellij.java.refactoring;
import com.intellij.openapi.application.PluginPathManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiClass;
import com.intellij.refactoring.LightMultiFileTestCase;
@@ -11,6 +10,7 @@ import com.intellij.refactoring.typeCook.deductive.builder.ReductionSystem;
import com.intellij.refactoring.typeCook.deductive.builder.SystemBuilder;
import com.intellij.refactoring.typeCook.deductive.resolver.Binding;
import com.intellij.refactoring.typeCook.deductive.resolver.ResolverTree;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.LightProjectDescriptor;
import org.jetbrains.annotations.NotNull;
@@ -634,14 +634,12 @@ public class TypeCookTest extends LightMultiFileTestCase {
}
public void testConvertToDiamond() {
final LanguageLevelProjectExtension levelProjectExtension = LanguageLevelProjectExtension.getInstance(getProject());
final LanguageLevel oldLevel = levelProjectExtension.getLanguageLevel();
final LanguageLevel oldLevel = IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_8);
try {
levelProjectExtension.setLanguageLevel(LanguageLevel.JDK_1_8);
start();
}
finally {
levelProjectExtension.setLanguageLevel(oldLevel);
IdeaTestUtil.setProjectLanguageLevel(getProject(), oldLevel);
}
}

View File

@@ -4,10 +4,10 @@ package com.theoryinpractice.testng.intention;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.openapi.application.PluginPathManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.Comparing;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
import com.intellij.testFramework.fixtures.*;
import com.intellij.util.ui.UIUtil;
@@ -44,8 +44,7 @@ public class AddTestNGJarFixTest {
builder.setMockJdkLevel(JavaModuleFixtureBuilder.MockJdkLevel.jdk15);
myFixture.setUp();
final JavaPsiFacade facade = JavaPsiFacade.getInstance(myFixture.getProject());
myLanguageLevel = LanguageLevelProjectExtension.getInstance(facade.getProject()).getLanguageLevel();
LanguageLevelProjectExtension.getInstance(facade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
myLanguageLevel = IdeaTestUtil.setProjectLanguageLevel(facade.getProject(), LanguageLevel.JDK_1_5);
}
catch (Exception e) {
throw new RuntimeException(e);
@@ -59,7 +58,7 @@ public class AddTestNGJarFixTest {
public void tearDown() {
UIUtil.invokeAndWaitIfNeeded(() -> {
try {
LanguageLevelProjectExtension.getInstance(myFixture.getProject()).setLanguageLevel(myLanguageLevel);
IdeaTestUtil.setProjectLanguageLevel(myFixture.getProject(), myLanguageLevel);
myFixture.tearDown();
myFixture = null;
}

View File

@@ -4,7 +4,6 @@ package com.intellij.uiDesigner.binding;
import com.intellij.openapi.application.PluginPathManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiClass;
@@ -35,7 +34,7 @@ public class FormEnumUsageTest extends JavaPsiTestCase {
}
public void testEnumUsage() throws IncorrectOperationException {
LanguageLevelProjectExtension.getInstance(myJavaFacade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myJavaFacade.getProject(), LanguageLevel.JDK_1_5);
CommandProcessor.getInstance().executeCommand(myProject, () -> {
try {
createFile(myModule, myTestProjectRoot, "PropEnum.java", "public enum PropEnum { valueA, valueB }");

View File

@@ -2,13 +2,13 @@
package com.intellij.uiDesigner.binding;
import com.intellij.openapi.application.PluginPathManager;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.search.ProjectScope;
import com.intellij.refactoring.MultiFileTestCase;
import com.intellij.refactoring.rename.RenameProcessor;
import com.intellij.testFramework.IdeaTestUtil;
import junit.framework.Assert;
import org.jetbrains.annotations.NotNull;
@@ -25,7 +25,7 @@ public class RenameUIRelatedTest extends MultiFileTestCase {
@Override
protected void prepareProject(VirtualFile rootDir) {
LanguageLevelProjectExtension.getInstance(myJavaFacade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
IdeaTestUtil.setProjectLanguageLevel(myJavaFacade.getProject(), LanguageLevel.JDK_1_5);
super.prepareProject(rootDir);
}