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.notification.NotificationAction#create" reason="Absent in 173." />
|
||||||
<Problem reference="com.intellij.util.JdomKt#element" reason="Removed in 191" />
|
<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.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>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</inspection_tool>
|
</inspection_tool>
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import com.intellij.coverage.CoverageSuitesBundle
|
|||||||
import com.intellij.coverage.JavaCoverageAnnotator
|
import com.intellij.coverage.JavaCoverageAnnotator
|
||||||
import com.intellij.coverage.JavaCoverageEngineExtension
|
import com.intellij.coverage.JavaCoverageEngineExtension
|
||||||
import com.intellij.coverage.PackageAnnotator
|
import com.intellij.coverage.PackageAnnotator
|
||||||
import com.intellij.execution.configurations.RunConfigurationBase
|
|
||||||
import com.intellij.openapi.diagnostic.Logger
|
import com.intellij.openapi.diagnostic.Logger
|
||||||
import com.intellij.openapi.module.ModuleUtilCore
|
import com.intellij.openapi.module.ModuleUtilCore
|
||||||
import com.intellij.openapi.roots.CompilerModuleExtension
|
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.fileClasses.JvmFileClassUtil
|
||||||
import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware
|
import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware
|
||||||
import org.jetbrains.kotlin.idea.run.KotlinRunConfiguration
|
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.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class KotlinCoverageExtension : JavaCoverageEngineExtension() {
|
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 {
|
override fun suggestQualifiedName(sourceFile: PsiFile, classes: Array<out PsiClass>, names: MutableSet<String>): Boolean {
|
||||||
if (sourceFile is KtFile) {
|
if (sourceFile is KtFile) {
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import com.intellij.execution.CommonJavaRunConfigurationParameters
|
|||||||
import com.intellij.execution.ExternalizablePath
|
import com.intellij.execution.ExternalizablePath
|
||||||
import com.intellij.execution.configurations.ConfigurationFactory
|
import com.intellij.execution.configurations.ConfigurationFactory
|
||||||
import com.intellij.execution.configurations.JavaRunConfigurationModule
|
import com.intellij.execution.configurations.JavaRunConfigurationModule
|
||||||
import com.intellij.execution.configurations.ModuleBasedConfiguration
|
|
||||||
import com.intellij.execution.configurations.RefactoringListenerProvider
|
import com.intellij.execution.configurations.RefactoringListenerProvider
|
||||||
|
|
||||||
@Suppress("PropertyName", "MemberVisibilityCanBePrivate")
|
@Suppress("PropertyName", "MemberVisibilityCanBePrivate")
|
||||||
@@ -30,7 +29,7 @@ abstract class JetRunConfiguration(
|
|||||||
runConfigurationModule: JavaRunConfigurationModule,
|
runConfigurationModule: JavaRunConfigurationModule,
|
||||||
factory: ConfigurationFactory
|
factory: ConfigurationFactory
|
||||||
) :
|
) :
|
||||||
ModuleBasedConfiguration<JavaRunConfigurationModule>(name, runConfigurationModule, factory),
|
ModuleBasedConfigurationElement<JavaRunConfigurationModule>(name, runConfigurationModule, factory),
|
||||||
CommonJavaRunConfigurationParameters,
|
CommonJavaRunConfigurationParameters,
|
||||||
RefactoringListenerProvider {
|
RefactoringListenerProvider {
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -59,7 +59,7 @@ class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfig
|
|||||||
if (vmParameters != null && configuration.vmParameters != vmParameters) return false
|
if (vmParameters != null && configuration.vmParameters != vmParameters) return false
|
||||||
|
|
||||||
val template = RunManager.getInstance(configuration.project).getConfigurationTemplate(configurationFactory)
|
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
|
val configurationModule = configuration.configurationModule.module
|
||||||
return configurationModule == context.location?.module?.asJvmModule() || configurationModule == predefinedModule
|
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