Create header implementation: select among modules only with configured source roots #KT-15641 Fixed

This commit is contained in:
Mikhail Glukhikh
2017-01-13 15:08:20 +03:00
committed by mglukhikh
parent 07e529c8ec
commit b94c62649a
@@ -35,7 +35,6 @@ import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
import org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory
import org.jetbrains.kotlin.idea.refactoring.createKotlinFile
import org.jetbrains.kotlin.idea.refactoring.getOrCreateKotlinFile
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
import org.jetbrains.kotlin.idea.util.application.runWriteAction
import org.jetbrains.kotlin.idea.util.projectStructure.allModules
@@ -88,6 +87,7 @@ sealed class CreateHeaderImplementationFix<out D : KtNamedDeclaration>(
private fun Project.implementationModuleOf(headerModule: Module) =
allModules().firstOrNull {
PackageUtil.checkSourceRootsConfigured(it, false) &&
TargetPlatformDetector.getPlatform(it).multiTargetPlatform == implPlatform &&
headerModule in ModuleRootManager.getInstance(it).dependencies
}