Workaround for generalized configuration classes in 191
This commit is contained in:
+2
@@ -109,6 +109,8 @@
|
||||
<Problem reference="com.intellij.notification.NotificationAction#create" reason="Absent in 173." />
|
||||
<Problem reference="com.intellij.util.JdomKt#element" reason="Removed in 191" />
|
||||
<Problem reference="com.intellij.execution.JavaRunConfigurationExtensionManager#getInstance" reason="Can't be used in Kotlin, because method was replaced with property after J2K in 191. Use JavaRunConfigurationExtensionManagerUtil instead." />
|
||||
<Problem reference="com.intellij.execution.configurations.RunConfigurationBase" reason="Generalized in 191. Use RunConfigurationBaseAny instead in signatures." />
|
||||
<Problem reference="com.intellij.execution.configurations.ModuleBasedConfiguration" reason="Generalized in 191. Use ModuleBasedConfigurationElement instead." />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.intellij.coverage.CoverageSuitesBundle
|
||||
import com.intellij.coverage.JavaCoverageAnnotator
|
||||
import com.intellij.coverage.JavaCoverageEngineExtension
|
||||
import com.intellij.coverage.PackageAnnotator
|
||||
import com.intellij.execution.configurations.RunConfigurationBase
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.module.ModuleUtilCore
|
||||
import com.intellij.openapi.roots.CompilerModuleExtension
|
||||
@@ -35,13 +34,14 @@ import com.intellij.psi.PsiNamedElement
|
||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||
import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware
|
||||
import org.jetbrains.kotlin.idea.run.KotlinRunConfiguration
|
||||
import org.jetbrains.kotlin.idea.run.RunConfigurationBaseAny
|
||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import java.io.File
|
||||
|
||||
class KotlinCoverageExtension : JavaCoverageEngineExtension() {
|
||||
override fun isApplicableTo(conf: RunConfigurationBase?): Boolean = conf is KotlinRunConfiguration
|
||||
override fun isApplicableTo(conf: RunConfigurationBaseAny?): Boolean = conf is KotlinRunConfiguration
|
||||
|
||||
override fun suggestQualifiedName(sourceFile: PsiFile, classes: Array<out PsiClass>, names: MutableSet<String>): Boolean {
|
||||
if (sourceFile is KtFile) {
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.intellij.execution.CommonJavaRunConfigurationParameters
|
||||
import com.intellij.execution.ExternalizablePath
|
||||
import com.intellij.execution.configurations.ConfigurationFactory
|
||||
import com.intellij.execution.configurations.JavaRunConfigurationModule
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration
|
||||
import com.intellij.execution.configurations.RefactoringListenerProvider
|
||||
|
||||
@Suppress("PropertyName", "MemberVisibilityCanBePrivate")
|
||||
@@ -30,7 +29,7 @@ abstract class JetRunConfiguration(
|
||||
runConfigurationModule: JavaRunConfigurationModule,
|
||||
factory: ConfigurationFactory
|
||||
) :
|
||||
ModuleBasedConfiguration<JavaRunConfigurationModule>(name, runConfigurationModule, factory),
|
||||
ModuleBasedConfigurationElement<JavaRunConfigurationModule>(name, runConfigurationModule, factory),
|
||||
CommonJavaRunConfigurationParameters,
|
||||
RefactoringListenerProvider {
|
||||
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfig
|
||||
if (vmParameters != null && configuration.vmParameters != vmParameters) return false
|
||||
|
||||
val template = RunManager.getInstance(configuration.project).getConfigurationTemplate(configurationFactory)
|
||||
val predefinedModule = (template.configuration as ModuleBasedConfiguration<*>).configurationModule.module
|
||||
val predefinedModule = (template.configuration as ModuleBasedConfigurationAny).configurationModule.module
|
||||
val configurationModule = configuration.configurationModule.module
|
||||
return configurationModule == context.location?.module?.asJvmModule() || configurationModule == predefinedModule
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@file:Suppress("IncompatibleAPI")
|
||||
|
||||
package org.jetbrains.kotlin.idea.run
|
||||
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration
|
||||
import com.intellij.execution.configurations.RunConfigurationBase
|
||||
import org.jdom.Element
|
||||
|
||||
// Generalized in 191
|
||||
// BUNCH: 191
|
||||
typealias RunConfigurationBaseAny = RunConfigurationBase
|
||||
|
||||
// Generalized in 191
|
||||
// BUNCH: 191
|
||||
typealias ModuleBasedConfigurationAny = ModuleBasedConfiguration<*>
|
||||
|
||||
// Generalized in 191
|
||||
// BUNCH: 191
|
||||
typealias ModuleBasedConfigurationElement<T> = ModuleBasedConfiguration<T>
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@file:Suppress("IncompatibleAPI")
|
||||
|
||||
package org.jetbrains.kotlin.idea.run
|
||||
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration
|
||||
import com.intellij.execution.configurations.RunConfigurationBase
|
||||
import org.jdom.Element
|
||||
|
||||
// Generalized in 191
|
||||
// BUNCH: 191
|
||||
typealias RunConfigurationBaseAny = RunConfigurationBase<*>
|
||||
|
||||
// Generalized in 191
|
||||
// BUNCH: 191
|
||||
typealias ModuleBasedConfigurationAny = ModuleBasedConfiguration<*, *>
|
||||
|
||||
// Generalized in 191
|
||||
// BUNCH: 191
|
||||
typealias ModuleBasedConfigurationElement<T> = ModuleBasedConfiguration<T, Element>
|
||||
Reference in New Issue
Block a user