Kotlin Facet: Get rid of duplicating data in facet configuration
This commit is contained in:
@@ -50,7 +50,7 @@ class IdeAllOpenDeclarationAttributeAltererExtension(val project: Project) : Abs
|
||||
|
||||
return cache.value.getOrPut(module) {
|
||||
val kotlinFacet = KotlinFacet.get(module) ?: return@getOrPut emptyList()
|
||||
val commonArgs = kotlinFacet.configuration.settings.compilerInfo.commonCompilerArguments ?: return@getOrPut emptyList()
|
||||
val commonArgs = kotlinFacet.configuration.settings.compilerArguments ?: return@getOrPut emptyList()
|
||||
|
||||
commonArgs.pluginOptions?.filter { it.startsWith(ANNOTATION_OPTION_PREFIX) }
|
||||
?.map { it.substring(ANNOTATION_OPTION_PREFIX.length) }
|
||||
|
||||
@@ -28,10 +28,10 @@ internal fun modifyCompilerArgumentsForPlugin(
|
||||
pluginName: String,
|
||||
annotationOptionName: String
|
||||
) {
|
||||
val compileInfo = facet.configuration.settings.compilerInfo
|
||||
val facetSettings = facet.configuration.settings
|
||||
|
||||
// investigate why copyBean() sometimes throws exceptions
|
||||
val commonArguments = compileInfo.commonCompilerArguments ?: CommonCompilerArguments.DummyImpl()
|
||||
val commonArguments = facetSettings.compilerArguments ?: CommonCompilerArguments.DummyImpl()
|
||||
|
||||
/** See [CommonCompilerArguments.PLUGIN_OPTION_FORMAT] **/
|
||||
val annotationOptions = setup?.annotationFqNames?.map { "plugin:$compilerPluginId:$annotationOptionName=$it" } ?: emptyList()
|
||||
@@ -48,5 +48,5 @@ internal fun modifyCompilerArgumentsForPlugin(
|
||||
commonArguments.pluginOptions = newPluginOptions.toTypedArray()
|
||||
commonArguments.pluginClasspaths = newPluginClasspaths.toTypedArray()
|
||||
|
||||
compileInfo.commonCompilerArguments = commonArguments
|
||||
facetSettings.compilerArguments = commonArguments
|
||||
}
|
||||
@@ -24,9 +24,9 @@ import com.intellij.psi.util.CachedValue
|
||||
import com.intellij.psi.util.CachedValueProvider
|
||||
import com.intellij.psi.util.CachedValuesManager
|
||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
||||
import org.jetbrains.kotlin.noarg.diagnostic.AbstractNoArgDeclarationChecker
|
||||
import org.jetbrains.kotlin.noarg.NoArgCommandLineProcessor.Companion.PLUGIN_ID
|
||||
import org.jetbrains.kotlin.noarg.NoArgCommandLineProcessor.Companion.ANNOTATION_OPTION
|
||||
import org.jetbrains.kotlin.noarg.NoArgCommandLineProcessor.Companion.PLUGIN_ID
|
||||
import org.jetbrains.kotlin.noarg.diagnostic.AbstractNoArgDeclarationChecker
|
||||
import org.jetbrains.kotlin.psi.KtModifierListOwner
|
||||
import java.util.*
|
||||
|
||||
@@ -45,7 +45,7 @@ class IdeNoArgDeclarationChecker(val project: Project) : AbstractNoArgDeclaratio
|
||||
|
||||
return cache.value.getOrPut(module) {
|
||||
val kotlinFacet = KotlinFacet.get(module) ?: return@getOrPut emptyList()
|
||||
val commonArgs = kotlinFacet.configuration.settings.compilerInfo.commonCompilerArguments ?: return@getOrPut emptyList()
|
||||
val commonArgs = kotlinFacet.configuration.settings.compilerArguments ?: return@getOrPut emptyList()
|
||||
|
||||
commonArgs.pluginOptions
|
||||
?.filter { it.startsWith(ANNOTATION_OPTION_PREFIX) }
|
||||
|
||||
Reference in New Issue
Block a user