diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt index 011481118ef..20c9ca80eba 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.util.application import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.command.CommandProcessor +import com.intellij.openapi.components.ComponentManager import com.intellij.openapi.project.Project import org.jetbrains.annotations.Nls @@ -54,5 +55,5 @@ inline fun invokeLater(crossinline action: () -> Unit) = inline fun isUnitTestMode(): Boolean = ApplicationManager.getApplication().isUnitTestMode -inline fun Project.getServiceSafe(): T = +inline fun ComponentManager.getServiceSafe(): T = this.getService(T::class.java) ?: error("Unable to locate service ${T::class.java.name}") diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.201 b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.201 index 190789bbff7..a6b388083f0 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.201 +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.201 @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.util.application import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.command.CommandProcessor +import com.intellij.openapi.components.ComponentManager import com.intellij.openapi.progress.impl.CancellationCheck import com.intellij.openapi.project.Project @@ -54,5 +55,5 @@ inline fun invokeLater(crossinline action: () -> Unit) = inline fun isUnitTestMode(): Boolean = ApplicationManager.getApplication().isUnitTestMode -inline fun Project.getServiceSafe(): T = +inline fun ComponentManager.getServiceSafe(): T = this.getService(T::class.java) ?: error("Unable to locate service ${T::class.java.name}") diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.as40 b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.as40 index 33b1699b214..7e79539378d 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.as40 +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ApplicationUtils.kt.as40 @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.util.application import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.command.CommandProcessor import com.intellij.openapi.components.ServiceManager +import com.intellij.openapi.components.ComponentManager import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.progress.ProgressIndicatorProvider import com.intellij.openapi.progress.ProgressManager @@ -57,7 +58,7 @@ inline fun invokeLater(crossinline action: () -> Unit) = inline fun isUnitTestMode(): Boolean = ApplicationManager.getApplication().isUnitTestMode -inline fun Project.getServiceSafe(): T = +inline fun ComponentManager.getServiceSafe(): T = this.getService(T::class.java) ?: error("Unable to locate service ${T::class.java.name}") fun Project.getServiceIfCreated(serviceClass: Class): T? = diff --git a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinImporterComponentCompat.kt b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinImporterComponentCompat.kt new file mode 100644 index 00000000000..a6756fc52b4 --- /dev/null +++ b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinImporterComponentCompat.kt @@ -0,0 +1,13 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.maven + +import com.intellij.openapi.module.Module +import org.jetbrains.kotlin.idea.util.application.getServiceSafe + +// BUNCH: 192 +internal val Module.kotlinImporterComponent: KotlinImporterComponent + get() = this.getServiceSafe() diff --git a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinImporterComponentCompat.kt.192 b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinImporterComponentCompat.kt.192 new file mode 100644 index 00000000000..8190b04ee77 --- /dev/null +++ b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinImporterComponentCompat.kt.192 @@ -0,0 +1,12 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.maven + +import com.intellij.openapi.module.Module + +// BUNCH: 192 +internal val Module.kotlinImporterComponent: KotlinImporterComponent + get() = getComponent(KotlinImporterComponent::class.java) ?: throw IllegalStateException("No maven importer state configured") diff --git a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt index 08ccf20c594..896ded15e03 100644 --- a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt +++ b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt @@ -417,7 +417,4 @@ class KotlinImporterComponent : PersistentStateComponentorg.jetbrains.kotlin.idea.maven.MavenImportListener + + + + org.jetbrains.kotlin.idea.maven.KotlinImporterComponent + +