diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JdkAndMockLibraryProjectDescriptor.java b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JdkAndMockLibraryProjectDescriptor.java index c472d7517bc..760158f0e7b 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JdkAndMockLibraryProjectDescriptor.java +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JdkAndMockLibraryProjectDescriptor.java @@ -22,6 +22,7 @@ import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.util.io.FileUtilRt; +import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.test.MockLibraryUtil; import java.io.File; @@ -44,7 +45,7 @@ public class JdkAndMockLibraryProjectDescriptor extends JetLightProjectDescripto } @Override - public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) { + public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { File libraryJar = MockLibraryUtil.compileLibraryToJar(sourcesPath, LIBRARY_NAME, withSources, isJsLibrary); String jarUrl = "jar://" + FileUtilRt.toSystemIndependentName(libraryJar.getAbsolutePath()) + "!/"; diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetJdkAndLibraryProjectDescriptor.java b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetJdkAndLibraryProjectDescriptor.java index 73491407797..9844d686bd0 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetJdkAndLibraryProjectDescriptor.java +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetJdkAndLibraryProjectDescriptor.java @@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable; import java.io.File; -public class JetJdkAndLibraryProjectDescriptor implements LightProjectDescriptor { +public class JetJdkAndLibraryProjectDescriptor extends JetLightProjectDescriptor { public static final String LIBRARY_NAME = "myLibrary"; private final File libraryFile; @@ -52,7 +52,7 @@ public class JetJdkAndLibraryProjectDescriptor implements LightProjectDescriptor } @Override - public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, @Nullable ContentEntry contentEntry) { + public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { NewLibraryEditor editor = new NewLibraryEditor(); editor.setName(LIBRARY_NAME); editor.addRoot(VfsUtil.getUrlForLibraryRoot(libraryFile), OrderRootType.CLASSES); diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetLightProjectDescriptor.java b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetLightProjectDescriptor.java index db6e7aecbd1..a64ef540f50 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetLightProjectDescriptor.java +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/JetLightProjectDescriptor.java @@ -23,6 +23,7 @@ import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.ContentEntry; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.testFramework.LightProjectDescriptor; +import org.jetbrains.annotations.NotNull; public class JetLightProjectDescriptor implements LightProjectDescriptor { protected JetLightProjectDescriptor() { @@ -41,6 +42,10 @@ public class JetLightProjectDescriptor implements LightProjectDescriptor { } @Override - public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) { + public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, @NotNull ContentEntry contentEntry) { + configureModule(module, model); + } + + public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { } } diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinStdJSProjectDescriptor.kt b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinStdJSProjectDescriptor.kt index 028308dec21..3e7d6216956 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinStdJSProjectDescriptor.kt +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinStdJSProjectDescriptor.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.idea.test import com.intellij.testFramework.LightProjectDescriptor -public trait KotlinStdJSProjectDescriptor : LightProjectDescriptor { +public open class KotlinStdJSProjectDescriptor : JetLightProjectDescriptor() { companion object { public val instance: KotlinStdJSProjectDescriptor = Class.forName("org.jetbrains.kotlin.test.KotlinStdJSProjectDescriptorImpl").newInstance() as KotlinStdJSProjectDescriptor diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/ProjectDescriptorWithStdlibSources.java b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/ProjectDescriptorWithStdlibSources.java index 729db3c2f10..d32e8fe9610 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/ProjectDescriptorWithStdlibSources.java +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/ProjectDescriptorWithStdlibSources.java @@ -31,8 +31,8 @@ public class ProjectDescriptorWithStdlibSources extends JetWithJdkAndRuntimeLigh public static final ProjectDescriptorWithStdlibSources INSTANCE = new ProjectDescriptorWithStdlibSources(); @Override - public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, @Nullable ContentEntry contentEntry) { - super.configureModule(module, model, contentEntry); + public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { + super.configureModule(module, model); Library library = model.getModuleLibraryTable().getLibraryByName(LIBRARY_NAME); assert library != null; diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt index f2ceee92f56..d947a9b4a7a 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt @@ -37,7 +37,7 @@ public enum class ModuleKind { KOTLIN_JAVASCRIPT } -public fun Module.configureAs(descriptor: LightProjectDescriptor) { +public fun Module.configureAs(descriptor: JetLightProjectDescriptor) { val module = this updateModel(module, object : Consumer { override fun consume(model: ModifiableRootModel) { @@ -45,8 +45,12 @@ public fun Module.configureAs(descriptor: LightProjectDescriptor) { model.setSdk(descriptor.getSdk()) } val entries = model.getContentEntries() - val entry = if (entries.size() > 0) entries[0] else null - descriptor.configureModule(module, model, entry) + if (entries.isEmpty()) { + descriptor.configureModule(module, model) + } + else { + descriptor.configureModule(module, model, entries[0]) + } } }) } diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/HighlightingWithDependentLibrariesTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/HighlightingWithDependentLibrariesTest.kt index 36c1b868536..c60491c2b8e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/HighlightingWithDependentLibrariesTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/HighlightingWithDependentLibrariesTest.kt @@ -33,7 +33,7 @@ public class HighlightingWithDependentLibrariesTest : JetLightCodeInsightFixture private val TEST_DATA_PATH = PluginTestCaseBase.getTestDataPathBase() + "/highlightingWithDependentLibraries" override fun getProjectDescriptor() = object : JetLightProjectDescriptor() { - override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry?) { + override fun configureModule(module: Module, model: ModifiableRootModel) { val compiledJar1 = MockLibraryUtil.compileLibraryToJar("$TEST_DATA_PATH/lib1", "lib1", false) val compiledJar2 = MockLibraryUtil.compileLibraryToJar("$TEST_DATA_PATH/lib2", "lib2", false, compiledJar1.canonicalPath) diff --git a/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java b/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java index a48c43c5cf4..1a7d660dbbc 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java +++ b/idea/tests/org/jetbrains/kotlin/idea/debugger/KotlinDebuggerTestCase.java @@ -84,7 +84,7 @@ public abstract class KotlinDebuggerTestCase extends DescriptorTestCase { public void run() { ModifiableRootModel model = ModuleRootManager.getInstance(getModule()).getModifiableModel(); - projectDescriptor.configureModule(getModule(), model, null); + projectDescriptor.configureModule(getModule(), model); VirtualFile customLibrarySources = VfsUtil.findFileByIoFile(CUSTOM_LIBRARY_SOURCES, false); assert customLibrarySources != null : "VirtualFile for customLibrary sources should be found"; diff --git a/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/CodeFragmentCompletionInLibraryTest.kt b/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/CodeFragmentCompletionInLibraryTest.kt index 55b099baf48..fbbd39144f8 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/CodeFragmentCompletionInLibraryTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/debugger/evaluate/CodeFragmentCompletionInLibraryTest.kt @@ -39,8 +39,8 @@ private val LIBRARY_SRC_PATH = JetTestUtils.getHomeDirectory() + "/idea/idea-com public class CodeFragmentCompletionInLibraryTest : AbstractJvmBasicCompletionTest() { override fun getProjectDescriptor() = object: JdkAndMockLibraryProjectDescriptor(LIBRARY_SRC_PATH, false) { - override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry?) { - super.configureModule(module, model, contentEntry) + override fun configureModule(module: Module, model: ModifiableRootModel) { + super.configureModule(module, model) val library = model.getModuleLibraryTable().getLibraryByName(JdkAndMockLibraryProjectDescriptor.LIBRARY_NAME)!! val modifiableModel = library.getModifiableModel() diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/AbstractNavigateToLibrarySourceTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/AbstractNavigateToLibrarySourceTest.kt index 01969b22337..007a0c0f3b2 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/AbstractNavigateToLibrarySourceTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/AbstractNavigateToLibrarySourceTest.kt @@ -107,6 +107,6 @@ public abstract class AbstractNavigateToLibrarySourceTest : KotlinCodeInsightTes return JetTestUtils.getLastCommentedLines(document) } - private fun getProjectDescriptor(): LightProjectDescriptor = + private fun getProjectDescriptor(): JetLightProjectDescriptor = JdkAndMockLibraryProjectDescriptor(PluginTestCaseBase.getTestDataPathBase() + "/decompiler/navigation/library", true) } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/test/KotlinStdJSProjectDescriptorImpl.java b/idea/tests/org/jetbrains/kotlin/test/KotlinStdJSProjectDescriptorImpl.java index 27ab2cb0817..42bdc4bbaf7 100644 --- a/idea/tests/org/jetbrains/kotlin/test/KotlinStdJSProjectDescriptorImpl.java +++ b/idea/tests/org/jetbrains/kotlin/test/KotlinStdJSProjectDescriptorImpl.java @@ -20,16 +20,15 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleType; import com.intellij.openapi.module.StdModuleTypes; import com.intellij.openapi.projectRoots.Sdk; -import com.intellij.openapi.roots.ContentEntry; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.libraries.NewLibraryConfiguration; import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor; import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor; import org.jetbrains.kotlin.idea.framework.JSLibraryStdDescription; import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil; +import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor; -public class KotlinStdJSProjectDescriptorImpl implements KotlinStdJSProjectDescriptor { +public class KotlinStdJSProjectDescriptorImpl extends KotlinStdJSProjectDescriptor { @Override public ModuleType getModuleType() { return StdModuleTypes.JAVA; @@ -41,7 +40,7 @@ public class KotlinStdJSProjectDescriptorImpl implements KotlinStdJSProjectDescr } @Override - public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, ContentEntry contentEntry) { + public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { NewLibraryConfiguration configuration = new JSLibraryStdDescription(module.getProject()).createNewLibraryForTests(); assert configuration != null : "Configuration should exist";