KT-11410: Add Xmultifile-parts-inherit CLI option.

This commit is contained in:
Dmitry Petrov
2016-03-16 12:02:48 +03:00
parent 095cbea125
commit 0ccaf43e2c
7 changed files with 12 additions and 6 deletions
@@ -280,6 +280,7 @@ open class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
configuration.put(JVMConfigurationKeys.DISABLE_INLINE, arguments.noInline)
configuration.put(JVMConfigurationKeys.DISABLE_OPTIMIZATION, arguments.noOptimize)
configuration.put(JVMConfigurationKeys.DECLARATIONS_JSON_PATH, arguments.declarationsOutputPath)
configuration.put(JVMConfigurationKeys.INHERIT_MULTIFILE_PARTS, arguments.inheritMultifileParts);
configuration.put(CLIConfigurationKeys.ALLOW_KOTLIN_PACKAGE, arguments.allowKotlinPackage);
configuration.put(CLIConfigurationKeys.REPORT_PERF, arguments.reportPerf);
}
@@ -109,10 +109,7 @@ class KotlinCoreEnvironment private constructor(
private val sourceFiles = ArrayList<KtFile>()
private val javaRoots = ArrayList<JavaRoot>()
val configuration: CompilerConfiguration = configuration.copy().let {
it.setReadOnly(true)
it
}
val configuration: CompilerConfiguration = configuration.copy().apply { setReadOnly(true) }
init {
PersistentFSConstants.setMaxIntellisenseFileSize(FileUtilRt.LARGE_FOR_CONTENT_LOADING)
@@ -399,6 +399,7 @@ object KotlinToJVMBytecodeCompiler {
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
/* useTypeTableInSerializer = */ false,
configuration.get(JVMConfigurationKeys.INHERIT_MULTIFILE_PARTS, false),
packagesWithObsoleteParts,
obsoleteMultifileClasses,
targetId,
@@ -35,6 +35,8 @@ public class JVMConfigurationKeys {
CompilerConfigurationKey.create("disable inline");
public static final CompilerConfigurationKey<Boolean> DISABLE_OPTIMIZATION =
CompilerConfigurationKey.create("disable optimization");
public static final CompilerConfigurationKey<Boolean> INHERIT_MULTIFILE_PARTS =
CompilerConfigurationKey.create("compile multifile classes to a hierarchy of parts and facade");
public static final CompilerConfigurationKey<IncrementalCompilationComponents> INCREMENTAL_COMPILATION_COMPONENTS =
CompilerConfigurationKey.create("incremental cache provider");