Refactoring: inline implementation into KotlinStdJSProjectDescriptor

This commit is contained in:
Nikolay Krasko
2017-06-28 18:27:25 +03:00
parent df393e18fe
commit 6a5d6854bb
9 changed files with 25 additions and 67 deletions
@@ -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) {
@@ -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)
}
}
@@ -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")