diff --git a/idea/idea-completion/idea-completion.iml b/idea/idea-completion/idea-completion.iml index ff92562197a..d3158c4c2da 100644 --- a/idea/idea-completion/idea-completion.iml +++ b/idea/idea-completion/idea-completion.iml @@ -22,7 +22,6 @@ - diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/AbstractJSBasicCompletionTest.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/AbstractJSBasicCompletionTest.java index 4f796e1a207..97d51e04efc 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/AbstractJSBasicCompletionTest.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/AbstractJSBasicCompletionTest.java @@ -27,7 +27,7 @@ public abstract class AbstractJSBasicCompletionTest extends KotlinFixtureComplet @NotNull @Override protected LightProjectDescriptor getProjectDescriptor() { - return KotlinStdJSProjectDescriptor.Companion.getInstance(); + return KotlinStdJSProjectDescriptor.INSTANCE; } @NotNull diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt index f764fe7073b..19c18181d34 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt @@ -130,7 +130,7 @@ abstract class KotlinLightCodeInsightFixtureTestCase : KotlinLightCodeInsightFix return KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE } else if (InTextDirectivesUtils.isDirectiveDefined(fileText, "JS")) { - return KotlinStdJSProjectDescriptor.instance + return KotlinStdJSProjectDescriptor } } catch (e: IOException) { 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 9230edf1945..c8c8ddfe09c 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 @@ -1,5 +1,5 @@ /* - * Copyright 2010-2015 JetBrains s.r.o. + * Copyright 2010-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,11 +16,24 @@ package org.jetbrains.kotlin.idea.test -import com.intellij.testFramework.LightProjectDescriptor +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.ModifiableRootModel +import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor +import org.jetbrains.kotlin.idea.framework.JSLibraryStdDescription -open class KotlinStdJSProjectDescriptor : KotlinLightProjectDescriptor() { - companion object { - val instance: KotlinStdJSProjectDescriptor - = Class.forName("org.jetbrains.kotlin.test.KotlinStdJSProjectDescriptorImpl").newInstance() as KotlinStdJSProjectDescriptor +object KotlinStdJSProjectDescriptor : KotlinLightProjectDescriptor() { + override fun getModuleType(): ModuleType<*> = StdModuleTypes.JAVA + override fun getSdk(): Sdk? = null + + override fun configureModule(module: Module, model: ModifiableRootModel) { + val configuration = JSLibraryStdDescription(module.project).createNewLibraryForTests() ?: error("Configuration should exist") + + val editor = NewLibraryEditor(configuration.libraryType, configuration.properties) + configuration.addRoots(editor) + + ConfigLibraryUtil.addLibrary(editor, model) } } \ No newline at end of file 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 eeaddd3633f..c39b77b0877 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 @@ -66,7 +66,7 @@ fun Module.configureAs(kind: ModuleKind) { ModuleKind.KOTLIN_JVM_WITH_STDLIB_SOURCES -> this.configureAs(ProjectDescriptorWithStdlibSources.INSTANCE) ModuleKind.KOTLIN_JAVASCRIPT -> { - this.configureAs(KotlinStdJSProjectDescriptor.instance) + this.configureAs(KotlinStdJSProjectDescriptor) } else -> throw IllegalArgumentException("Unknown kind=$kind") diff --git a/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt b/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt index 9fb39f46783..1177133bd74 100644 --- a/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt @@ -22,7 +22,6 @@ import com.intellij.testFramework.LightProjectDescriptor import junit.framework.TestCase import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase -import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.psi.KtFile diff --git a/idea/tests/org/jetbrains/kotlin/checkers/AbstractJsCheckerTest.java b/idea/tests/org/jetbrains/kotlin/checkers/AbstractJsCheckerTest.java index 2a9d9bffc16..902a56533d9 100644 --- a/idea/tests/org/jetbrains/kotlin/checkers/AbstractJsCheckerTest.java +++ b/idea/tests/org/jetbrains/kotlin/checkers/AbstractJsCheckerTest.java @@ -25,7 +25,7 @@ public abstract class AbstractJsCheckerTest extends KotlinLightCodeInsightFixtur @NotNull @Override protected LightProjectDescriptor getProjectDescriptor() { - return KotlinStdJSProjectDescriptor.Companion.getInstance(); + return KotlinStdJSProjectDescriptor.INSTANCE; } public void doTest(String filePath) { diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt b/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt index 90ffc0de807..c5734499329 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt @@ -17,8 +17,8 @@ package org.jetbrains.kotlin.idea.imports import org.jetbrains.kotlin.AbstractImportsTest -import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor import org.jetbrains.kotlin.psi.KtFile +import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor abstract class AbstractOptimizeImportsTest() : AbstractImportsTest() { override fun doTest(file: KtFile): String { @@ -39,5 +39,5 @@ abstract class AbstractOptimizeImportsTest() : AbstractImportsTest() { abstract class AbstractJvmOptimizeImportsTest : AbstractOptimizeImportsTest() abstract class AbstractJsOptimizeImportsTest : AbstractOptimizeImportsTest() { - override fun getProjectDescriptor() = KotlinStdJSProjectDescriptor.instance + override fun getProjectDescriptor() = KotlinStdJSProjectDescriptor } diff --git a/idea/tests/org/jetbrains/kotlin/test/KotlinStdJSProjectDescriptorImpl.java b/idea/tests/org/jetbrains/kotlin/test/KotlinStdJSProjectDescriptorImpl.java deleted file mode 100644 index 42bdc4bbaf7..00000000000 --- a/idea/tests/org/jetbrains/kotlin/test/KotlinStdJSProjectDescriptorImpl.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.test; - -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.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.framework.JSLibraryStdDescription; -import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil; -import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor; - -public class KotlinStdJSProjectDescriptorImpl extends KotlinStdJSProjectDescriptor { - @Override - public ModuleType getModuleType() { - return StdModuleTypes.JAVA; - } - - @Override - public Sdk getSdk() { - return null; - } - - @Override - public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { - NewLibraryConfiguration configuration = new JSLibraryStdDescription(module.getProject()).createNewLibraryForTests(); - - assert configuration != null : "Configuration should exist"; - - NewLibraryEditor editor = new NewLibraryEditor(configuration.getLibraryType(), configuration.getProperties()); - configuration.addRoots(editor); - - ConfigLibraryUtil.addLibrary(editor, model); - } -}