From 2e8bfde2e7036400d443e2d35f30c25a99ccb7de Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 8 Feb 2017 19:39:39 +0300 Subject: [PATCH] Move -Xskip-metadata-version-check from JVM to common arguments To be used in JS --- .../kotlin/cli/common/arguments/CommonCompilerArguments.java | 3 +++ .../kotlin/cli/common/arguments/K2JVMCompilerArguments.java | 3 --- .../cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java | 2 ++ compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt | 1 - compiler/testData/cli/js/jsExtraHelp.out | 1 + compiler/testData/cli/jvm/extraHelp.out | 2 +- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.java index 4d022f9fbfb..c1d1f5d1bb9 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.java @@ -63,6 +63,9 @@ public abstract class CommonCompilerArguments implements Serializable { @ValueDescription("") public String repeat; + @Argument(value = "Xskip-metadata-version-check", description = "Load classes with bad metadata version anyway (incl. pre-release classes)") + public boolean skipMetadataVersionCheck; + @Argument(value = "Xallow-kotlin-package", description = "Allow compiling code in package 'kotlin'") public boolean allowKotlinPackage; diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java index 69c5a995ba3..23b1509125a 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java @@ -94,9 +94,6 @@ public class K2JVMCompilerArguments extends CommonCompilerArguments { @Argument(value = "Xmultifile-parts-inherit", description = "Compile multifile classes as a hierarchy of parts and facade") public boolean inheritMultifileParts; - @Argument(value = "Xskip-metadata-version-check", description = "Load classes with bad metadata version anyway (incl. pre-release classes)") - public boolean skipMetadataVersionCheck; - @Argument(value = "Xskip-runtime-version-check", description = "Allow Kotlin runtime libraries of incompatible versions in the classpath") public boolean skipRuntimeVersionCheck; diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java index 99f2141a3a6..0c17781ae0a 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java @@ -235,6 +235,8 @@ public abstract class CLICompiler { configuration.put(CLIConfigurationKeys.COMPILER_JAR_LOCATOR, locator); } + configuration.put(CommonConfigurationKeys.SKIP_METADATA_VERSION_CHECK, arguments.skipMetadataVersionCheck); + setupLanguageVersionSettings(configuration, arguments); } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt index 396fe48fff9..d26fdeb75eb 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt @@ -312,7 +312,6 @@ class K2JVMCompiler : CLICompiler() { configuration.put(JVMConfigurationKeys.DISABLE_OPTIMIZATION, arguments.noOptimize) configuration.put(JVMConfigurationKeys.INHERIT_MULTIFILE_PARTS, arguments.inheritMultifileParts) configuration.put(JVMConfigurationKeys.SKIP_RUNTIME_VERSION_CHECK, arguments.skipRuntimeVersionCheck) - configuration.put(CommonConfigurationKeys.SKIP_METADATA_VERSION_CHECK, arguments.skipMetadataVersionCheck) configuration.put(CLIConfigurationKeys.ALLOW_KOTLIN_PACKAGE, arguments.allowKotlinPackage) configuration.put(CLIConfigurationKeys.REPORT_PERF, arguments.reportPerf) configuration.put(JVMConfigurationKeys.USE_SINGLE_MODULE, arguments.singleModule) diff --git a/compiler/testData/cli/js/jsExtraHelp.out b/compiler/testData/cli/js/jsExtraHelp.out index b0bc787a8db..ce8d7a49540 100644 --- a/compiler/testData/cli/js/jsExtraHelp.out +++ b/compiler/testData/cli/js/jsExtraHelp.out @@ -2,6 +2,7 @@ Usage: kotlinc-js where advanced options include: -Xno-inline Disable method inlining -Xrepeat Repeat compilation (for performance analysis) + -Xskip-metadata-version-check Load classes with bad metadata version anyway (incl. pre-release classes) -Xallow-kotlin-package Allow compiling code in package 'kotlin' -Xplugin Load plugins from the given classpath -Xmulti-platform Enable experimental language support for multi-platform projects diff --git a/compiler/testData/cli/jvm/extraHelp.out b/compiler/testData/cli/jvm/extraHelp.out index 71c77f47b51..28f67a08b88 100644 --- a/compiler/testData/cli/jvm/extraHelp.out +++ b/compiler/testData/cli/jvm/extraHelp.out @@ -5,7 +5,6 @@ where advanced options include: -Xno-optimize Disable optimizations -Xreport-perf Report detailed performance statistics -Xmultifile-parts-inherit Compile multifile classes as a hierarchy of parts and facade - -Xskip-metadata-version-check Load classes with bad metadata version anyway (incl. pre-release classes) -Xskip-runtime-version-check Allow Kotlin runtime libraries of incompatible versions in the classpath -Xdump-declarations-to Path to JSON file to dump Java to Kotlin declaration mappings -Xsingle-module Combine modules for source files and binary dependencies into a single module @@ -14,6 +13,7 @@ where advanced options include: Load definitions of built-in declarations from module dependencies, instead of from the compiler -Xno-inline Disable method inlining -Xrepeat Repeat compilation (for performance analysis) + -Xskip-metadata-version-check Load classes with bad metadata version anyway (incl. pre-release classes) -Xallow-kotlin-package Allow compiling code in package 'kotlin' -Xplugin Load plugins from the given classpath -Xmulti-platform Enable experimental language support for multi-platform projects