Check if serialization plugin presents in the facet compiler classpath before applying extensions logic
#KT-27166 Fixed
This commit is contained in:
+4
@@ -27,7 +27,9 @@ import org.jetbrains.kotlin.android.synthetic.AndroidCommandLineProcessor.Compan
|
||||
import org.jetbrains.kotlin.android.synthetic.AndroidCommandLineProcessor.Companion.DEFAULT_CACHE_IMPL_OPTION
|
||||
import org.jetbrains.kotlin.android.synthetic.AndroidComponentRegistrar.Companion.parseCacheImplementationType
|
||||
import org.jetbrains.kotlin.compiler.plugin.CliOption
|
||||
import org.jetbrains.kotlin.idea.core.unwrapModuleSourceInfo
|
||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||
|
||||
private val ANNOTATION_OPTION_PREFIX = "plugin:$ANDROID_COMPILER_PLUGIN_ID:"
|
||||
|
||||
@@ -51,6 +53,8 @@ private fun isTestMode(module: Module): Boolean {
|
||||
internal val Module.androidExtensionsIsEnabled: Boolean
|
||||
get() = isTestMode(this) || getOptionValueInFacet(ENABLED_OPTION) == "true"
|
||||
|
||||
internal fun ModuleInfo.findAndroidModuleInfo() = unwrapModuleSourceInfo()?.takeIf { it.platform is JvmPlatform }
|
||||
|
||||
internal val ModuleInfo.androidExtensionsIsEnabled: Boolean
|
||||
get() {
|
||||
val module = this.findAndroidModuleInfo()?.module ?: return false
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.android.synthetic.idea
|
||||
|
||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||
import org.jetbrains.kotlin.idea.caches.project.PlatformModuleInfo
|
||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||
|
||||
internal fun ModuleInfo.findAndroidModuleInfo(): ModuleSourceInfo? {
|
||||
return when (this) {
|
||||
is ModuleSourceInfo -> this.takeIf { it.platform is JvmPlatform }
|
||||
is PlatformModuleInfo -> this.platformModule.takeIf { it.platform is JvmPlatform }
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user