diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt index 6666c64abee..325b1370396 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt @@ -105,7 +105,8 @@ abstract class BaseKotlinCompilerSettings protected constructor(p override fun loadState(state: Element) { _settings = ReflectionUtil.newInstance(_settings.javaClass).apply { if (this is CommonCompilerArguments) { - freeArgs = ArrayList() + freeArgs = mutableListOf() + internalArguments = mutableListOf() } XmlSerializer.deserializeInto(this, state) } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.181 b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.181 index 4de48ddbe6c..bdf8f796e92 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.181 +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/BaseKotlinCompilerSettings.kt.181 @@ -107,7 +107,8 @@ abstract class BaseKotlinCompilerSettings protected constructor(p override fun loadState(state: Element) { _settings = ReflectionUtil.newInstance(_settings.javaClass).apply { if (this is CommonCompilerArguments) { - freeArgs = ArrayList() + freeArgs = mutableListOf() + internalArguments = mutableListOf() } XmlSerializer.deserializeInto(this, state) } diff --git a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt index d0480dfbcc5..6350b21a315 100644 --- a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -138,7 +138,10 @@ private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings { XmlSerializer.deserializeInto(compilerSettings!!, it) } element.getChild("compilerArguments")?.let { - compilerArguments = targetPlatform.createArguments { freeArgs = ArrayList() } + compilerArguments = targetPlatform.createArguments { + freeArgs = mutableListOf() + internalArguments = mutableListOf() + } XmlSerializer.deserializeInto(compilerArguments!!, it) compilerArguments!!.detectVersionAutoAdvance() } diff --git a/idea/testData/configuration/projectWithInternalArgs/module.iml b/idea/testData/configuration/projectWithInternalArgs/module.iml new file mode 100644 index 00000000000..4a3ded12725 --- /dev/null +++ b/idea/testData/configuration/projectWithInternalArgs/module.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/configuration/projectWithInternalArgs/projectFile.ipr b/idea/testData/configuration/projectWithInternalArgs/projectFile.ipr new file mode 100644 index 00000000000..41210cdee21 --- /dev/null +++ b/idea/testData/configuration/projectWithInternalArgs/projectFile.ipr @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/configuration/projectWithInternalArgs/src/foo.kt b/idea/testData/configuration/projectWithInternalArgs/src/foo.kt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java index 233ced43cee..e323d73d0ad 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java @@ -32,6 +32,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiJavaModule; import com.intellij.psi.PsiRequiresStatement; import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.kotlin.cli.common.arguments.InternalArgument; import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments; import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments; import org.jetbrains.kotlin.config.*; @@ -53,6 +54,7 @@ import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.Collections; +import java.util.List; import java.util.stream.StreamSupport; import static java.util.Collections.emptyList; @@ -308,6 +310,15 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { ); } + public void testProjectWithInternalArgs() { + List internalArguments = + KotlinCommonCompilerArgumentsHolder.Companion.getInstance(myProject).getSettings().getInternalArguments(); + assertEquals( + 0, + internalArguments.size() + ); + } + private void checkAddStdlibModule() { doTestOneJavaModule(KotlinWithLibraryConfigurator.FileState.COPY); diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 index 91a8843eda0..fd84eb3ffaa 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java.181 @@ -32,6 +32,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiJavaModule; import com.intellij.psi.PsiRequiresStatement; import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.kotlin.cli.common.arguments.InternalArgument; import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments; import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments; import org.jetbrains.kotlin.config.*; @@ -53,6 +54,7 @@ import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.Collections; +import java.util.List; import java.util.stream.StreamSupport; import static java.util.Collections.emptyList; @@ -308,6 +310,15 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { ); } + public void testProjectWithInternalArgs() { + List internalArguments = + KotlinCommonCompilerArgumentsHolder.Companion.getInstance(myProject).getSettings().getInternalArguments(); + assertEquals( + 0, + internalArguments.size() + ); + } + private void checkAddStdlibModule() { doTestOneJavaModule(KotlinWithLibraryConfigurator.FileState.COPY);